手把手教你在FPGA实例上运行“Hello World”
查看FPGA卡的情况,这里就是FPGA的“image slot”的情况,具体命令请如下:
sudo fpga-describe-local-image-slots -H
在我的 f1.2xlarge 实例上有如下输出:
$ sudo fpga-describe-local-image-slots -H
Type FpgaImageSlot VendorId DeviceId DBDF
AFIDEVICE 0 0x1d0f 0x1042 0000:00:1d.0
这里列出的就是slot 0的情况,接着你可以使用fpga-describe-local-image-slots命令查看这个slot上的FPGA镜像情况:
sudo fpga-describe-local-image -S 0
其中参数 -S 用于指定希望查看的image slot,参数值就是FPGA image slot的编号。
如果你希望将新的FPGA镜像加载到一个image slot上, 你可以使用命令 fpga-load-local-image, 同时通过参数 -S指定image slot的编号,通过-I参数指定需要加载的FPGA镜像ID,如:
sudo fpga-load-local-image -S 0 -I agfi-0123456789abcdefg
有关FPGA管理工具的更多信息,请参考以下链接:
https://github.com/aws/aws-fpga/blob/master/sdk/userspace/fpga_mgmt_tool...
安装FPGA HDK
安装好FPGA的SDK以后就需要安装FPGA HDK了,具体的安装命令如下:
source hdk_setup.sh
这个过程稍长一点,可能需要5到10分钟,执行的命令的时候输出结果中也有提示:
AWS FPGA-INFO: This could take 5-10 minutes, please be patient!
如果一切正常,安装成功后会有如下信息:
AWS FPGA-INFO: DDR4 model build passed.
AWS FPGA-INFO: ATTENTION: Don't forget to set the CL_DIR variable for the directory of your Custom Logic.
AWS FPGA-INFO: AWS HDK setup PASSED.
如成功信息里提示的,如果你以后要构建自己的FPGA模块,需要将CL_DIR变量指向你的模块目录,我们在后续的步骤中会进行设置。
配置 AWS CLI
因为FPGA镜像创建过程需要使用AWS CLI命令行工具,所以我们需要提前配置好AWS CLI。
在我们使用的这个FPGA Developer AMI中AWS CLI命令行工具已经安装好了,如果你使用其它镜像需要手工安装AWS CLI的话请参考AWS CLI命令行工具的安装文档。
需要注意的时,虽然在FPGA Developer AMI中已经安装好了AWS CLI,但是这个版本不一定是最新的,所以建议通过以下命令先进行升级:
pip install --upgrade --user awscli
然后就通过以下命令启动AWS CLI配置过程:
aws configure
在配置AWS CLI的过程中一般需要提供Access Key和Secret Key,不过我们的f1实例在启动过程中制定了IAM Role, 而且我给这个IAM Role足够的权限,所以我们这里不需要配置静态的Access Key和Secret Key,我们要做的只是指定区域,这里我们指定区域为us-east-1。
$aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]: us-east-1
Default output format [None]:
构建DCP
安装好HDK,配置好工具,就可以开始跑样例了,这里我们使用AWS FPGA项目里的hello world样例,该样例在aws-fpga中的以下目录中:
./hdk/cl/examples/cl_hello_world
如之前安装过程中提到的,如果我们使用目录./hdk/cl/examples/cl_hello_world中的样例,我们需要设置CL_DIR变量指向./hdk/cl/examples/cl_hello_world目录,具体命令如下:
cd ./hdk/cl/examples/cl_hello_world
export CL_DIR=$(pwd)
接下来的工作需要使用Xilinx Vivado工具,所以我们需要检查一下vivado工具是否安装正常,具体命令如下:
$ vivado -mode batch
正常的输出如下:
****** Vivado v2017.1 (64-bit)
**** SW Build 1846317 on Fri Apr 14 18:54:47 MDT 2017
**** IP Build 1846188 on Fri Apr 14 20:52:08 MDT 2017
** Copyright 1986-201
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)