日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

HLS后端示例

發布時間:2023/11/28 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HLS后端示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HLS后端示例
TVM支持帶有SDAccel的Xilinx FPGA板。這是有關如何將TVM部署到AWS F1 FPGA實例的文檔。
此功能仍處于試驗階段。暫時無法使用SDAccel部署端到端神經網絡。
本文使用兩個python腳本。
? build.py-用于合成FPGA位流的腳本。
? import tvm
? from tvm import te
?
? tgt_host=“llvm”
? tgt=“sdaccel”
?
? n = te.var(“n”)
? A = te.placeholder((n,), name=‘A’)
? B = te.placeholder((n,), name=‘B’)
? C = te.compute(A.shape, lambda i: A[i] + B[i], name=“C”)
?
? s = te.create_schedule(C.op)
? px, x = s[C].split(C.op.axis[0], nparts=1)
?
? s[C].bind(px, tvm.te.thread_axis(“pipeline”))
?
? fadd = tvm.build(s, [A, B, C], tgt, target_host=tgt_host, name=“myadd”)
?
? fadd.save(“myadd.o”)
? fadd.imported_modules[0].save(“myadd.xclbin”)
?
? tvm.contrib.cc.create_shared(“myadd.so”, [“myadd.o”])
? run.py-使用FPGA作為加速器的腳本。
? import tvm
? import numpy as np
? import os
?
? tgt=“sdaccel”
?
? fadd = 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)
?
? ctx = tvm.context(tgt, 0)
?
? n = 1024
? a = tvm.nd.array(np.random.uniform(size=n).astype(“float32”), ctx)
? b = tvm.nd.array(np.random.uniform(size=n).astype(“float32”), ctx)
? c = tvm.nd.array(np.zeros(n, dtype=“float32”), ctx)
?
? fadd(a, b, c)
? tvm.testing.assert_allclose(c.asnumpy(), a.asnumpy() + b.asnumpy())
設定
? 使用FPGA Developer AMI啟動實例。不需要F1實例進行仿真和綜合,因此建議使用成本較低的實例。
? 設置AWS FPGA開發套件工具。
? git clone https://github.com/aws/aws-fpga.git
? cd aws-fpga
? source sdaccel_setup.sh
? source ${XILINX_SDX}/settings64.sh
? 在啟用OpenCL的情況下設置TVM。
仿真
? 創建emconfig.json進行仿真。
? emconfigutil --platform ${AWS_PLATFORM} --nd 1
? 將emconfig.json復制到python二進制目錄。當前的Xilinx工具包假定主機二進制文件和emconfig.json文件都在同一路徑中。
? cp emconfig.json $(dirname $(which python))
? 運行軟件仿真
? export XCL_EMULATION_MODE=1
? export XCL_TARGET=sw_emu
?
? python build.py
? python run.py
? 運行硬件仿真
? export XCL_EMULATION_MODE=1
? export XCL_TARGET=hw_emu
?
? python build.py
? python run.py
Synthesis
? 使用以下腳本運行綜合。
? unset XCL_EMULATION_MODE
? export XCL_TARGET=hw
?
? python build.py
? 創建AWS FPGA映像并將其上傳到AWS S3。
? ${SDACCEL_DIR}/tools/create_sdaccel_afi.sh
? -xclbin=myadd.xclbin -o=myadd
? -s3_bucket= -s3_dcp_key=
? -s3_logs_key=
生成awsxclbin文件,對于在F1實例上使用AWS FPGA映像是必需的。
運行
? 啟動Amazon EC2 F1實例。
? 將myadd.so,myadd.awsxclbin和run.py復制到F1實例。
? 設置AWS FPGA開發套件。
? git clone https://github.com/aws/aws-fpga.git
? cd aws-fpga
? source sdaccel_setup.sh
? 在啟用OpenCL的情況下設置TVM。
? 設置root和setup環境變量。
? sudo sh
? source ${INSTALL_ROOT}/setup.sh
? 運行
python run.py

https://tvm.apache.org/docs/deploy/hls.html

總結

以上是生活随笔為你收集整理的HLS后端示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。