餐饮设计网站,wordpress图片主题破解,wordpress首页显示vip标识,深圳建设工程交易服务网中标更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架#xff0c;适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站 TVM 支持带有 SDAccel 的 Xilinx FPGA 板#xff0c;接下来介绍如何将 TVM 部署到 AWS F1 FPGA 实例。 备注#xff1a;此功…更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站 TVM 支持带有 SDAccel 的 Xilinx FPGA 板接下来介绍如何将 TVM 部署到 AWS F1 FPGA 实例。 备注此功能仍处于测试阶段目前无法用 SDAccel 部署端到端神经网络。 本教程使用了两个 Python 脚本 build.py - 用于合成 FPGA 比特流的脚本。
import tvmfrom tvm import tetgt tvm.target.Target(sdaccel, hostllvm)n te.var(n)A te.placeholder((n,), nameA)B te.placeholder((n,), nameB)C te.compute(A.shape, lambda i: A[i] B[i], nameC)s te.create_schedule(C.op)px, x s[C].split(C.op.axis[0], nparts1)s[C].bind(px, tvm.te.thread_axis(pipeline))fadd tvm.build(s, [A, B, C], tgt, namemyadd)fadd.save(myadd.o)fadd.imported_modules[0].save(myadd.xclbin)tvm.contrib.cc.create_shared(myadd.so, [myadd.o])run.py - 将 FPGA 作为加速器的脚本。
import tvmimport numpy as npimport ostgt sdaccelfadd tvm.runtime.load_module(myadd.so)if os.environ.get(XCL_EMULATION_MODE):fadd_dev tvm.runtime.load_module(myadd.xclbin)else:fadd_dev tvm.runtime.load_module(myadd.awsxclbin)fadd.import_module(fadd_dev)dev tvm.device(tgt, 0)n 1024a tvm.nd.array(np.random.uniform(sizen).astype(float32), dev)b tvm.nd.array(np.random.uniform(sizen).astype(float32), dev)c tvm.nd.array(np.zeros(n, dtypefloat32), dev)fadd(a, b, c)tvm.testing.assert_allclose(c.numpy(), a.numpy() b.numpy())设置
用 FPGA Developer AMI 启动实例。无需 F1 实例来进行仿真和合成因此推荐用开销较低的实例。设置 AWS FPGA 开发套件
git clone https://github.com/aws/aws-fpga.gitcd aws-fpgasource sdaccel_setup.shsource ${XILINX_SDX}/settings64.sh启用 OpenCL 前设置 TVM。
仿真
为仿真创建 emconfig.json
emconfigutil --platform ${AWS_PLATFORM} --nd 1将 emconfig.json 复制到 Python binary 目录下因为当前的 Xilinx 工具包假定宿主机的二进制文件和 emconfig.json 文件处于同一路径。
cp emconfig.json $(dirname $(which python))运行软件仿真
export XCL_EMULATION_MODE1export XCL_TARGETsw_emupython build.pypython run.py运行硬件仿真
export XCL_EMULATION_MODE1export XCL_TARGEThw_emupython build.pypython run.py合成
用以下脚本进行合成
unset XCL_EMULATION_MODEexport XCL_TARGEThwpython build.py创建 AWS FPGA 镜像并将其上传到 AWS S3
${SDACCEL_DIR}/tools/create_sdaccel_afi.sh \-xclbinmyadd.xclbin -omyadd \-s3_bucketbucket-name -s3_dcp_keydcp-folder-name \-s3_logs_keylogs-folder-name这会生成 awsxclbin 文件在 F1 实例上使用 AWS FPGA 镜像必需。
运行
启动 Amazon EC2 F1 实例。将 myadd.somyadd.awsxclbin 和 run.py 复制到 F1 实例中。设置 AWS FPGA 开发套件
git clone https://github.com/aws/aws-fpga.gitcd aws-fpgasource sdaccel_setup.sh启用 OpenCL 前设置 TVM。以 root 身份设置环境变量
sudo shsource ${INSTALL_ROOT}/setup.sh运行
python run.py