本文描述如何使用f1 RTL(Register Transfer Level)。
说明:
- 本文所述所有操作都必须由同一个账号在同一地域里执行。
- 强烈建议您使用RAM用户操作FaaS实例。为了防止意外操作,您需要让RAM用户仅执行必要的操作。在操作FPGA镜像及下载时,因为您需要从指定的OSS Bucket下载原始DCP工程,所以您必须为FaaS管理账号创建一个角色,并授予临时权限,让FaaS管理账号访问指定的OSS Bucket。如果需要对IP加密,必须授予RAM用户KMS相关权限。如果需要做权限检查,必须授予查看用户资源的权限。
前提条件
操作步骤
按以下步骤使用f1 RTL。
第 1 步. 远程连接f1实例
远程连接Linux实例。
第 2 步. 配置基础环境
运行以下脚本配置基础环境。
- source /opt/dcp1_0/script/f1_env_set.sh
第 3 步. 编译工程
运行以下命令:
- cd /opt/dcp1_0/hw/samples/dma_afu
- run.sh
说明:编译时间较长,请耐心等待。
第 4 步. 制作镜像
按以下步骤制作镜像:
运行命令初始化 faascmd。#如果需要,添加环境变量及运行权限- export PATH=$PATH:/opt/dcp1_0/script/
- chmod +x /opt/dcp1_0/script/faascmd
- # 将hereIsYourSecretId替换为您的AccessKey ID,hereIsYourSecretKey替换为您的AccessKey Secret
- faascmd config --id=hereIsYourSecretId --key=hereIsYourSecretKey
- # 将hereIsYourBucket换为华东1地域里OSS Bucket名称
- faascmd auth --bucket=hereIsYourBucket
确认在/opt/dcp1_0/hw/samples/dma_afu目录下,运行以下命令上传gbs文件。
- faascmd upload_object --object=dma_afu.gbs --file=dma_afu.gbs
运行以下命令制作镜像。
- # 将hereIsYourImageName替换为您的镜像名称
- faascmd create_image --object=dma_afu.gbs --fpgatype=intel --name=hereIsYourImageName --tags=hereIsYourImageTag --encrypted=false --shell=V0.11
第 5 步. 下载镜像
按以下步骤下载镜像到f1实例:
查看镜像是否制作成功:运行命令 faascmd list_images。返回结果里,如果出现"State":"success",表示镜像制作成功。请记录返回结果里显示的FpgaImageUUID,稍后会用到。
[url=http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/61412/cn_zh/1516934679202/faascmd_listImages.png][/url]
说明:如果没有开启Huge pages,运行以下命令启用Huge pages。[list=1]
- sudo bash -c "echo 20 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages"