GPU перерабатывает перебор?

348
Ben Franchuk

Есть ли такой момент, когда использование GPU Processing или сопроцессоров (таких как карта Intel Xeon PHI или карта Nvidia Tesla) может реально снизить скорость, с которой программное обеспечение вычисляет данные?

Скажем, у меня был огромный кластер внешних расширений PCI-E (например, http://www.cyclone.com/products/expansion_systems/FAQ.php ), все они подключены к одному компьютеру. Из-за того, что данные должны быть распределены по расширениям и графическим процессорам в указанных расширениях, разве это теоретически не замедлит скорость обработки данных?

Просто интересуюсь. Если это не так, почему?

2

1 ответ на вопрос

2
Mitch

There is a point at which you will saturate the resources of your CPU, and the GPU's will be sitting idle. There is also a point at which you could run out of bus resources. Since it is a bus, there is a maximum amount of transferrable data per unit time, which could again cause GPU's to sit idle.

That being said, adding GPUs should not decrease performance, but fail to improve it further.


Speaking computationally, there are also some problems which attempting to do them on a GPU could be slower than doing them on a CPU. Algorithms like scrypt are specifically designed to use high amount of ram to prevent the non-linear speed-ups received by implementation on FGPAs and GPUs.

GPUs only provide speed increases when there are many parallel operations taking place. Calculating a single multiplication would be no quicker. GPUs also are generally not fond of branching (conditional code execution).

Похожие вопросы