我想比较一下单核CPU和多核CPU的性能。我写了一个程序,让它在单核CPU上迭代1000次,以查看运行时间。在多核的情况下,我使用OpenCL来启动一个内核,其中的代码与第一种情况的迭代中的代码相同。
考虑到多核可以运行8个并发线程,理论上多核实例的运行时间应该在T(单核)/8以上,但结果是T(多核)几乎是T(单核)的1/20。
我想知道为什么会发生这种情况?OpenCL编译器是否针对多核CPU做了一些优化?
发布于 2015-07-09 06:07:00
如果您的单核代码是标量的,那么opencl运行时很可能使用sse或avx并获得额外的乘数。
https://stackoverflow.com/questions/31304298
复制相似问题