串行 CPU 与 GPU 代码

Sun*_*987 0 cuda gpgpu opencl heterogeneous

我正在写一篇关于异构计算可能性的理论作业。我需要比较在 CPU 或 GPU 上以串行方式执行的单线程(不可并行)的有效性。

我知道这是一个奇怪的问题,因为在 GPU 上执行单个线程没有意义,但我确实可以为我正在开发的启发式方法使用指导线比率。

我知道它可以很容易地进行测试,但我对 CUDA 和 OpenCL 都没有任何实践经验,而且我很着急。

Pau*_*l R 5

GPU 执行单元往往是有序的,并且(至少在 nVidia GPU 的情况下)在单线程上下文中通常每 4 个时钟仅获得一条指令。与现代超标量 CPU 相比,您通常可以获得每个时钟 > 1 条指令的吞吐量,并且 CPU 在每个时钟的基础上以 4 倍或更多的优势获胜。不过,CPU 时钟频率往往比 GPU 时钟高得多,因此时钟速度很容易再增加 3 倍,使 CPU 相对于 GPU 高达 12 倍或更高。