我是OpenCL的新手,刚开始学习.我想知道是否可以在GPU上执行少量线程并在CPU上执行剩余线程?换句话说,如果我启动100个线程并假设我有8个核心CPU,那么100个线程中的8个线程是否可能在CPU上执行,剩余的92个线程将在GPU上运行?OpenCL可以帮助我完成这项工作顺利?
我想知道是否可以在GPU上执行少量线程并在CPU上执行剩余线程?
是
换句话说,如果我启动100个线程并假设我有8个核心CPU,那么100个线程中的8个线程是否可能在CPU上执行,剩余的92个线程将在GPU上运行?
不.该描述表明您将GPU和CPU视为单一计算资源.你不能这样做.
这并不意味着你不能同时处理同一个任务.
...但...
我发现更好的方法是让GPU在GPU运行时处理不同的任务.也许准备GPU的下一部分工作,或者后处理GPU的结果.有时这是正常的代码.有时它是OpenCL.