全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
云服务器 ECS

使用 f1 RTL

更新时间:2017-12-07 17:08:23

本文描述如何使用f1 RTL(Register Transfer Level)。

注意
强烈建议您使用RAM用户操作FPGA实例。为了防止意外操作,您需要让RAM用户仅执行必要的操作。在操作及下载FPGA镜像时,因为您需要从指定的OSS空间下载原始DCP工程,所以您需要为FaaS账号创建一个角色,并授予临时权限,让FaaS账号可以访问指定的OSS空间。如果需要对IP加密,需要授予RAM用户一些KMS相关的权限。如果需要做权限检查,还需要授予查看用户资源的权限。

前提条件

您已经 创建了f1实例

使用RAM用户操作FPGA,需要 创建RAM用户授权创建RAM角色授权。您必须 获取AccessKeyID和AccessKeySecret

登录 ECS管理控制台,在f1实例的详情页上,获取实例ID。

操作步骤

按以下步骤使用f1 RTL。

第 1 步. 远程连接f1实例

远程连接Linux实例

第 2 步. 配置基础环境

运行以下脚本配置基础环境。

  1. source /opt/dcp1_0/script/f1_env_set.sh

第 3 步. 编译工程

运行以下命令:

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

说明
编译时间很长。

第 4 步. 制作镜像

按以下步骤制作镜像:

  1. 运行命令初始化faascmd。

    1. #如果需要,添加环境变量及运行权限
    2. export PATH=$PATH:/opt/dcp1_0/script/
    3. chmod +x /opt/dcp1_0/script/faascmd
    4. # 将hereIsMySecretId替换为您的AccessKey ID,hereIsMySecretKey替换为您的AccessKey Secret
    5. faascmd config --id=hereIsMySecretId --key=hereIsMySecretKey
    6. # 将hereIsMyBucket换为华东1区的OSS的Bucket名
    7. faascmd auth --bucket=hereIsMyBucket
  2. 确认在/opt/dcp1_0/hw/green_bits/dma_afu/src目录下,运行以下命令上传gbs文件。

    1. faascmd upload_object --object=dma_afu.gbs --file=dma_afu.gbs
  3. 运行以下命令制作镜像。

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

第 5 步. 下载镜像

按以下步骤下载镜像到f1实例:

  1. 查看镜像是否制作成功:运行命令 faascmd list_images
    返回结果里,如果出现"State":"success",表示镜像制作成功。请记录返回结果里显示的FpgaImageUUID,稍后会用到。
    查看镜像是否制作成功

  2. 运行命令获取FPGA ID。

    1. # 将hereIsYourInstanceId替换为您的f1实例ID
    2. faascmd list_instances --instanceId=hereIsYourInstanceId

    以下为返回结果。请记录FpgaUUID。
    获取FpgaUUID

  3. 运行命令下载FPGA镜像到f1实例。

    1. # 将hereIsYourInstanceID替换为刚刚保存的实例ID;将hereIsFpgaUUID替换为上一条命令中记下的FpgaUUID;将hereIsImageUUID替换为上一步记下的FpgaImageUUID
    2. faascmd download_image --instanceId=hereIsYourInstanceID --fpgauuid=hereIsFpgaUUID --fpgatype=intel --imageuuid=hereIsImageUUID --imagetype=afu --shell=V1.0
  4. 运行命令检查是否下载成功。

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

    如果返回结果里出现"TaskStatus":"valid"时,且FpgaImageUUID和下载镜像时的FpgaImageUUID一致,说明下载成功。查看是否下载成功

第 6 步. 测试

依次运行以下命令。

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

如果您看到如图所示的输出结果,说明测试完成。测试输出结果

注意
如果没有开启Huge pages,运行以下命令启用Huge pages。

  1. sudo bash -c "echo 20 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages"
本文导读目录