FPGA资源平民化 - 阿里云FaaS F1 RTL使用指南

本文涉及的产品
简介: TODO

[TOC]

1. 配置基础环境

1. 安装依赖软件

使用 SSH 登陆到服务器;安装基础环境。

yum install -y python-devel screen
pip install aliyun-python-sdk-ram
pip install aliyun-python-sdk-faas
pip install oss2

随后,使用 vim 编辑/usr/lib/python2.7/site3packages/aliyunsdkcore/endpoints.xml

在第 648 行下添加一行代码

<Product><ProductName>faas</ProductName><DomainName>faas.cn3hangzhou.aliyuncs.com</DomainName></Product>

接下来,安装 faascmd 脚本

vi /usr/local/bin/faascmd

将代码粘贴进入后,保存退出,执行如下代码

chmod a+x /usr/local/bin/faascmd

放在 /usr/local/bin 下可以直接执行 faascmd 命令,而无需加入前方的路径

2. 配置 DCP 环境

screen -S aliyunfaas
cd /opt/dcp1_0/script
sh install_sdk.sh

3. 配置环境变量

sh ini_driver.sh
source intel_fpga_env.sh
source intel_quartus_env.sh export PATH=$PATH:/opt/dcp1_0/bin

2. 编译工程

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

PS. 此处编译时间很长

3. 制作镜像

1. 初始化 faascmd

首先,需要初始化faascmd

# 将 hereIsMySecretId 换为你的OSS SecretID,hereIsMySecretKey 换为你的 OSS 的SecretKey
faascmd config --id=hereIsMySecretId --key=hereIsMySecretKey
# 将hereIsMyBucket换为华东1区的OSS的 Bucket 名
faascmd auth --bucket=hereIsMyBucket

2. 上传 gbs 文件

完成上述操作后,直接执行如下代码,此时你应该还在/opt/dcp1_0/hw/green_bits/dma_afu/src 目录下

faascmd upload_object --object=dma_afu.gbs --file=dma_afu.gbs

3. 制作镜像

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

4. 下载镜像

1. 检查镜像是否已经生成完成。

faascmd list_images

当看到状态为 Success 时,说明镜像生成成功

2. 获取 FPGA UUID

# 将 hereIsYourInstanceId 替换为你的 FPGA 云服务器的实例 ID 
faascmd list_instances --instanceId=hereIsYourInstanceId


这里记下 FpgaUUID

实例ID 可以在 FPGA 云服务器详情页获取

3. 下载 FPGA 镜像

执行命令下载镜像

下载镜像到本地

# 将 hereIsYourInstanceID 替换为刚刚保存的实例ID;将 hereIsFpgaUUID 替换为上一条命令中记下的 FpgaUUID;将 hereIsImageUUID 替换为上一步记下的 FpgaImageUUID
faascmd download_image  --instanceId=hereIsYourInstanceID --fpgauuid=hereIsFpgaUUID --fpgatype=intel --imageuuid=hereIsImageUUID --imagetype=afu --shell=V1.0

当你看到这样的字样,说明下载成功

也可以执行命令查看

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

当你看到 TaskStatus 为 Valid 时,且 FpgaImageUUID 和下载镜像时的FpgaImageUUID一致,则说明下载正常

4. 测试

在命令行中执行

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

你会看到这样的输出,说明测试完成

PS:如果没有开启大页:

sudo bash -c "echo 20 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages"
相关文章
|
30天前
|
安全 API 持续交付
要利用阿里云控制API查询您的阿里云资源
【2月更文挑战第33天】要利用阿里云控制API查询您的阿里云资源
19 3
|
2月前
|
弹性计算 API Python
如何利用通义千问查询阿里云资源
本篇文章详细阐述了如何利用LangChain框架构建一款Python工具,该工具能够调用通义千问大模型来查询和获取阿里云资源信息。
115575 48
|
6天前
|
监控 Serverless API
阿里云函数计算的工作原理与事件驱动模型密切相关
【4月更文挑战第17天】阿里云函数计算的工作原理与事件驱动模型密切相关
59 4
|
6天前
|
消息中间件 运维 Serverless
阿里云函数计算是一种FaaS(Function as a Service)云服务
【4月更文挑战第17天】阿里云函数计算是一种FaaS(Function as a Service)云服务
46 3
|
7天前
|
自然语言处理 Cloud Native Serverless
通义灵码牵手阿里云函数计算 FC ,打造智能编码新体验
近日,通义灵码正式进驻函数计算 FC WebIDE,让使用函数计算产品的开发者在其熟悉的云端集成开发环境中,无需再次登录即可使用通义灵码的智能编程能力,实现开发效率与代码质量的双重提升。
95384 2
|
7天前
|
人工智能 Serverless 数据处理
利用阿里云函数计算实现 Serverless 架构的应用
阿里云函数计算是事件驱动的Serverless服务,免服务器管理,自动扩展资源。它降低了基础设施成本,提高了开发效率,支持Web应用、数据处理、AI和定时任务等多种场景。通过实例展示了如何用Python实现图片压缩应用,通过OSS触发函数自动执行。阿里云函数计算在云计算时代助力企业实现快速迭代和高效运营。
42 0
|
12天前
|
存储 安全 Serverless
用 Github Actions 自动部署阿里云函数计算 FC
介绍了如何配置阿里云函数计算(FC)与GitHub Actions集成以实现自动部署。首先在阿里云创建函数,然后在项目根目录创建`s.yaml`文件配置Serverless Devs。接着在GitHub仓库中设置 Secrets 存储阿里云账号信息,并创建名为`aliyun-fc-deploy.yaml`的工作流文件来定义GitHub Actions。当代码推送到`master`分支时,Actions会自动部署到函数计算。最后,成功配置后,提交代码会触发自动部署,并可在GitHub Actions和阿里云控制台查看部署状态。
398 3
|
16天前
|
人工智能 自然语言处理 测试技术
“送云资源、用大模型” 阿里云启动云工开物“高校训练营”计划
“送云资源、用大模型” 阿里云启动云工开物“高校训练营”计划
29 1
|
16天前
|
弹性计算 前端开发 Java
使用阿里云 mqtt serverless 版本超低成本快速实现 webscoket 长链接服务器
使用阿里云 MQTT Serverless 可轻松实现弹性伸缩的 WebSocket 服务,每日成本低至几元。适用于小程序消息推送的 MQTT P2P 模式。前端需注意安全,避免 AK 泄露,采用一机一密方案。后端通过调用 `RegisterDeviceCredential` API 发送消息。示例代码包括 JavaScript 前端连接和 Java 后端发送。
151 0
|
21天前
|
消息中间件 Kubernetes Kafka
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
15 0