仅对英特尔可见 — GUID: mwh1391807499818
Ixiasoft
产品终止通知
1. Intel® FPGA SDK for OpenCL™ Pro Edition最佳实践指南介绍
2. 查看您Kernel的report.html文件
3. OpenCL内核设计概念
4. OpenCL内核设计最佳实践
5. 分析(Profiling)您的内核来识别性能瓶颈
6. 提高单个Work-Item内核性能的策略
7. 提高NDRange内核数据处理效率的策略
8. 提高存储器访问效率的策略
9. 优化FPGA面积使用的策略
10. 优化英特尔 Stratix 10 OpenCL设计的策略
11. 提高主机应用程序性能的策略
12. Intel® FPGA SDK for OpenCL™ Pro版最佳实践指南存档
A. Intel® FPGA SDK for OpenCL™ Pro版最佳实践指南修订历史
仅对英特尔可见 — GUID: mwh1391807499818
Ixiasoft
4.4. 分配对齐的存储器
在分配用于向FPGA传输数据和从FPGA传输数据的主机端存储器时,存储器必须至少64字节对齐。
对齐主机端存储器允许进行对FPGA和从FPGA的直接存储器访问(DMA)传输并提高缓冲区传输效率。
注意: 取决于主机端存储器的使用方法, Intel® 建议分配更严格的对齐。例如,如果分配的存储器用于创建使用CL_MEM_USE_HOST_PTR标记的缓冲区,则该存储器也应该与用于访问内核缓冲区的数据类型正确对齐。有关主机端存储器的对齐要求,请参阅OpenCL Specification version 1.2的C.3小节。
要建立已对齐存储器的分配,请将以下源代码添加到您的主机程序中:
- 对于Windows:
#define AOCL_ALIGNMENT 64 #include <malloc.h> void *ptr = _aligned_malloc (size, AOCL_ALIGNMENT);
要释放对齐的存储器模块,请包含函数调用_aligned_free(ptr);
- 对于Linux:
#define AOCL_ALIGNMENT 64 #include <stdlib.h> void *ptr = NULL; posix_memalign (&ptr, AOCL_ALIGNMENT, size);
要释放对齐的存储器模块,请包含函数调用free(ptr);