0

我已经编写了一组 OpenCL 内核。在具有 4 GB 内存的 AMD R9 Nano 上进行测试时,内核可以正确执行。在具有 8 GB 内存的 Nvidia GTX 1080 上进行测试时,内核无法执行,除非我将缓冲内存减少大约 8 倍。然后,它们正确运行。有几个缓冲区,但工作 Nvidia 示例的最大缓冲区约为 45 MB。

CL_DEVICE_MAX_MEM_ALLOC_SIZE 对于 AMD 卡是 3 GB,对于 Nvidia 卡是 2 GB,但这似乎太小而不会导致问题。

以前,Nvidia CL_DEVICE_ADDRESS_BITS 是 32 位而不是 64 位存在已知问题,但这似乎不再正确。

Nvidia 和 AMD 如何处理 OpenCL 中可能导致此问题的内存缓冲区的当前已知差异是否存在?

4

0 回答 0