是否存在这样的情况,即使用 GPU 处理或协处理器(例如 Intel Xeon PHI 卡或 Nvidia Tesla 卡)实际上会降低软件计算数据的速度?
假设我有一大堆外部 PCI-E 扩展(比如这个http://www.cyclone.com/products/expansion_systems/FAQ.php),都连接到同一台计算机。由于数据必须分布在扩展和扩展内的 GPU 上,理论上实际上慢的数据处理的速度是多少?
我只是想知道。如果不是这样,为什么?
答案1
有一点,你的 CPU 资源会饱和,而 GPU 会处于闲置状态。还有一点,你的总线资源可能会耗尽。由于它是总线,因此单位时间内可传输的数据量是有限的,这又会导致 GPU 处于闲置状态。
话虽如此,添加 GPU 不会降低性能,但无法进一步提高性能。
从计算角度来说,有些问题在 GPU 上执行可能比在 CPU 上执行更慢。scrypt 等算法专门设计为使用大量 RAM,以防止在 FGPA 和 GPU 上实施时获得非线性加速。
GPU 仅在进行许多并行操作时才提供速度提升。计算单个乘法不会更快。GPU 通常也不喜欢分支(条件代码执行)。