我是OpenCL的佼佼者。我知道当使用一个内核时,每个工作项都执行相同的内核。但是当使用多个不同的内核并且并行工作时,它们如何在工作项中分发?哪个将执行一个内核,哪个将执行其他内核?这种区别是如何形成的?
谢谢
答案 0 :(得分:2)
通常,一个内核将在下一次启动之前完成(它们不会并行运行)。也有例外,但你必须选择去那里。单个内核的执行在称为工作组的集合中,其中包含单个工作项。工作组可以按任何顺序运行,并且可以并行运行(锁定步骤与否;不重要)。内核已经完成了#34;当最后一个工作组完成时。然后下一个内核启动。