最近我需要做一些实验,需要在 AMD 硬件上运行多个不同的内核。但是在开始编码之前我有几个问题,因此我真的需要你的帮助。
首先,我不太确定 AMD HW 是否可以在一台设备上支持并发内核执行。因为当我参考 OpenCL 规范时,他们说命令队列可以按顺序和无序创建。但我并不是“乱序”的意思是“并发执行”。有没有人知道这方面的信息?我的硬件是 AMD APU A8 3870k。如果这个处理器不支持,还有其他 AMD 产品支持吗?
其次,我知道有一个扩展“设备裂变”可以用来将一个设备分成两个设备。这仅适用于 CPU。但是在 OpenCL 规范中,我看到了一些东西,即“clcreatesubdevice”,它也用于将一个设备分成两个?所以我的问题是这两种技术有什么区别吗?我的理解是:device fission只能在CPU上使用,clcreatesubdevice在CPU和GPU上都可以使用。那是对的吗?
感谢您的回复!