FPGA资源平民化 - 阿里云FaaS F1 RTL使用指南

[TOC]

1. 配置基础环境

1. 安装依赖软件

使用 SSH 登陆到服务器;安装基础环境。

yum install -y python-devel screen
pip install aliyun-python-sdk-ram
pip install aliyun-python-sdk-faas
pip install oss2

随后,使用 vim 编辑/usr/lib/python2.7/site3packages/aliyunsdkcore/endpoints.xml

在第 648 行下添加一行代码

<Product><ProductName>faas</ProductName><DomainName>faas.cn3hangzhou.aliyuncs.com</DomainName></Product>

接下来,安装 faascmd 脚本

vi /usr/local/bin/faascmd

将代码粘贴进入后,保存退出,执行如下代码

chmod a+x /usr/local/bin/faascmd

放在 /usr/local/bin 下可以直接执行 faascmd 命令,而无需加入前方的路径

2. 配置 DCP 环境

screen -S aliyunfaas
cd /opt/dcp1_0/script
sh install_sdk.sh

3. 配置环境变量

sh ini_driver.sh
source intel_fpga_env.sh
source intel_quartus_env.sh export PATH=$PATH:/opt/dcp1_0/bin

2. 编译工程

cd /opt/dcp1_0/hw/green_bits/dma_afu/src 
run.sh

PS. 此处编译时间很长

3. 制作镜像

1. 初始化 faascmd

首先,需要初始化faascmd

# 将 hereIsMySecretId 换为你的OSS SecretID,hereIsMySecretKey 换为你的 OSS 的SecretKey
faascmd config --id=hereIsMySecretId --key=hereIsMySecretKey
# 将hereIsMyBucket换为华东1区的OSS的 Bucket 名
faascmd auth --bucket=hereIsMyBucket

2. 上传 gbs 文件

完成上述操作后,直接执行如下代码,此时你应该还在/opt/dcp1_0/hw/green_bits/dma_afu/src 目录下

faascmd upload_object --object=dma_afu.gbs --file=dma_afu.gbs

3. 制作镜像

#  将 hereIsYourImageName 替换为 你的镜像名
faascmd create_image --object=dma_afu.gbs --fpgatype=intel --name=hereIsYourImageName  --tags=hereIsYourImageTag --encrypted=false --shell =V1.0

4. 下载镜像

1. 检查镜像是否已经生成完成。

faascmd list_images

当看到状态为 Success 时,说明镜像生成成功

FPGA资源平民化 - 阿里云FaaS F1 RTL使用指南

2. 获取 FPGA UUID

# 将 hereIsYourInstanceId 替换为你的 FPGA 云服务器的实例 ID 
faascmd list_instances --instanceId=hereIsYourInstanceId

FPGA资源平民化 - 阿里云FaaS F1 RTL使用指南
这里记下 FpgaUUID

实例ID 可以在 FPGA 云服务器详情页获取
FPGA资源平民化 - 阿里云FaaS F1 RTL使用指南

3. 下载 FPGA 镜像

执行命令下载镜像

下载镜像到本地

# 将 hereIsYourInstanceID 替换为刚刚保存的实例ID;将 hereIsFpgaUUID 替换为上一条命令中记下的 FpgaUUID;将 hereIsImageUUID 替换为上一步记下的 FpgaImageUUID
faascmd download_image  --instanceId=hereIsYourInstanceID --fpgauuid=hereIsFpgaUUID --fpgatype=intel --imageuuid=hereIsImageUUID --imagetype=afu --shell=V1.0

当你看到这样的字样,说明下载成功
FPGA资源平民化 - 阿里云FaaS F1 RTL使用指南

也可以执行命令查看

# 将 hereIsYourInstanceID 替换为刚刚保存的实例ID;将 hereIsFpgaUUID 替换为上一条命令中记下的 FpgaUUID;
faascmd fpga_status  --instanceId=hereIsYourInstanceID --fpgauuid=hereIsFpgaUUID 

当你看到 TaskStatus 为 Valid 时,且 FpgaImageUUID 和下载镜像时的FpgaImageUUID一致,则说明下载正常

FPGA资源平民化 - 阿里云FaaS F1 RTL使用指南

4. 测试

在命令行中执行

cd /opt/dcp1_0/hw/green_bits/dma_afu/src/sw
make
./fpga_dma_test use_ase=0

你会看到这样的输出,说明测试完成

FPGA资源平民化 - 阿里云FaaS F1 RTL使用指南

PS:如果没有开启大页:

sudo bash -c "echo 20 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages"
上一篇:数据迁移至RDS-MySQL之利用RDS管理控制台


下一篇:《运维工程师成长之路》——导读