创建命令队列

要在设备上启动任何操作,你需要为每个设备配置一个命令队列。队列会跟踪你对目标设备所做的不同调用,并使它们保持有序。大多数命令也可以在阻塞或非阻塞模式下执行。

创建队列非常简单:

_queue = Cl.CreateCommandQueue(_context, _device, CommandQueueProperties.None, out err);

与命令队列的基本交互是将要执行的不同操作排入队列,例如,将数据复制到设备和从设备复制数据并启动内核。

完成命令队列的使用后,需要通过调用来释放队列

Cl.ReleaseCommandQueue(_queue);