具体细节的展示图如下:
通过上图可知,在OpenCL中提供的存储模型中,有如下几种Memory类型。
Host Memory
Host Memory指的是连接在主板上的内存条,仅供host进行数据读取。
Off-Chip Global memory
Off-Chip Global memory 指的是在FPGA板卡上通过硬件与FPGA
芯片连接的内存条。数据存取所花费的时间相对较长,但是容量相对较大。
- Off-Chip Global Memory
Off-Chip Global Memory Host端可以通过PCIe进行数据读写,Device端同样可以进行数据的读写 - Off-Chip Constant Global Memory
Constant Global Memory同样是在FPGA板卡上通过硬件与FPGA
芯片连接的内存条。不同的是Host端只能进行写入,Device端只能进行读出。适用于参数数据的传输。On-Chip Memory
On-Chip Memory 主要是采用FPGA中BRAM资源组成,具有随机存储和低延时的特点,但是资源有限。 - On-Chip Global Memory
- On-Chip Pipes
- Local Memory & Private Memory
Local Memory可用于所有的work-item
Private Memory仅用于single work-item
参考
OpenCL Memory Architecture
SDAccel Environment Optimization Guide (UG1207)