news 2026/1/24 7:27:34

OpenCL Programming Model

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenCL Programming Model


一、概述
OPenCL是用于异构平台编程矿机,包括CPU,GPU,FPGA,DSP,AI加速器等。

OpenCl Host:CPU
OpenCl Devices:GPU,FPGA,DSP,AI accelerator


二、系统层次
1层------application-------------
2层------opencl-------------------
3层------XRT----------------------
4层------os driver----------------
5层------fpga/gpu/dsp driver-------

三、OPENCL Model
1.Platform model

2.memory model

3.Execution Model


三、XRT Xilinx Runtime
Xilinx Runtime (XRT)框架

四、kernelADD

arg这个参数定义为axilite接口;

int*v定义为axi-mm接口,并且使用axilite来指定axi-mm的基地址!!!!

五、KernelB

上述代码中都指定axi-mm接口,并使用axilite来指定base_address基地址!

六、DMA model

dma + pcie,其中pice的吞吐量是至关重要的!


DMA operation : io cmd
cpu program DMA是比较花费时间的,一般30ms~60ms
pcie transfer的时间太小就划不来,所以pcie设置的buffer size不能太小

所以buffer要大一些

也就是要开辟的buffer size大小,让pcie的transfer time大于cpu program dma的time,这样就比较合适。

七、带宽计算

DDR3200
1chanenl 64bit/1channel 32G*8=25GB
4channel = 100GB

PCIE:8Gb*16lane = 16GB

Compute:
DSP有5952个slice,约6k个slice
dsp计算A*B+C为12Byte
6k*300MZ*12B=25TB
所以pcie和DDR3200都满足不了DSP

但是,可以看到SRAM为24TBS,这个就是block ram

启发:
最好你DSP计算需要用的data就从on-chip buffer上拿,然后
reuse这个buffer就能得到好的效率。
所以设计的时候从host ddr中预取数据到on-chip buffer上,然后
让compute计算单元,而已就是DSP模块从one-chip buffer拿数据,
就能达到好的效果。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/18 9:28:14

go swag泛型结果如何定义

func (self *UiPayRequest) UiQueryUserPayOrder() *pagemodel.PageResult[*payentity.PayOrder] {// Summary 查询支付订单 // Description 查询支付订单 // Produce json // Tags 汇付支付 // Security JWT // Param query body page.PageResult{datapayentity.PayOrder} tr…

作者头像 李华
网站建设 2026/1/14 11:34:23

STC89C52驱动蜂鸣器常见问题:核心要点总结

STC89C52驱动蜂鸣器:从“不响”到稳定发声的实战全解析你有没有遇到过这样的情况?代码写得一丝不苟,电路也照着图纸连好了,结果一上电——蜂鸣器就是不响。或者声音微弱、时断时续,甚至单片机莫名其妙复位重启&#xf…

作者头像 李华
网站建设 2025/12/25 1:05:07

JLink驱动安装方法:初学者常见错误解析

JLink驱动安装避坑指南:从“未知设备”到即插即用的实战经验 你有没有遇到过这样的场景?新买了一块J-Link调试器,兴冲冲地插上电脑,打开Keil准备烧录程序,结果设备管理器里却显示一个刺眼的“ 未知USB设备 ”&#…

作者头像 李华
网站建设 2026/1/16 7:41:41

STM32CubeIDE报错 no stlink detected 的通俗解释与应对方法

STM32开发踩坑实录:为什么你的ST-Link突然“失联”了? 你有没有遇到过这样的场景? 明明昨天还好好地在调试代码,今天一打开STM32CubeIDE,点击“Debug”,弹出一个冷冰冰的提示: No ST-Link de…

作者头像 李华
网站建设 2026/1/19 4:57:43

esp32引脚驱动能力解析:适合初学者的理解方式

ESP32引脚驱动能力解析:从“点灯”到“控电机”的实战进阶你有没有试过用ESP32直接驱动一个继电器,结果发现它不吸合?或者程序明明在跑,但LED却越亮越暗,甚至芯片发热重启?这些问题的根源,往往不…

作者头像 李华
网站建设 2026/1/22 0:12:02

GPT-SoVITS语音克隆意识上传:数字永生第一步

GPT-SoVITS语音克隆:通往数字永生的钥匙 你有没有想过,一个人的声音可以永远留存?不是录音片段,而是能读出任何新句子、带着熟悉语调和情感的“活”的声音。这不是科幻电影的情节——今天,借助像 GPT-SoVITS 这样的开源…

作者头像 李华