[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 时,说明镜像生成成功
2. 获取 FPGA UUID
# 将 hereIsYourInstanceId 替换为你的 FPGA 云服务器的实例 ID
faascmd list_instances --instanceId=hereIsYourInstanceId
这里记下 FpgaUUID
实例ID 可以在 FPGA 云服务器详情页获取
3. 下载 FPGA 镜像
执行命令下载镜像
下载镜像到本地
# 将 hereIsYourInstanceID 替换为刚刚保存的实例ID;将 hereIsFpgaUUID 替换为上一条命令中记下的 FpgaUUID;将 hereIsImageUUID 替换为上一步记下的 FpgaImageUUID
faascmd download_image --instanceId=hereIsYourInstanceID --fpgauuid=hereIsFpgaUUID --fpgatype=intel --imageuuid=hereIsImageUUID --imagetype=afu --shell=V1.0
当你看到这样的字样,说明下载成功
也可以执行命令查看
# 将 hereIsYourInstanceID 替换为刚刚保存的实例ID;将 hereIsFpgaUUID 替换为上一条命令中记下的 FpgaUUID;
faascmd fpga_status --instanceId=hereIsYourInstanceID --fpgauuid=hereIsFpgaUUID
当你看到 TaskStatus 为 Valid 时,且 FpgaImageUUID 和下载镜像时的FpgaImageUUID一致,则说明下载正常
4. 测试
在命令行中执行
cd /opt/dcp1_0/hw/green_bits/dma_afu/src/sw
make
./fpga_dma_test use_ase=0
你会看到这样的输出,说明测试完成
PS:如果没有开启大页:
sudo bash -c "echo 20 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages"