Przesadne przetwarzanie GPU?

2

Czy istnieje taki moment, w którym przetwarzanie GPU lub koprocesory (takie jak karta Intel Xeon PHI lub karta Nvidia Tesla) mogą faktycznie zmniejszyć szybkość obliczania danych przez oprogramowanie?

Powiedzmy, że miałem ogromny klaster zewnętrznych rozszerzeń PCI-E (jak ten http://www.cyclone.com/products/expansion_systems/FAQ.php ), wszystkie podłączone do tego samego komputera. Czy w związku z tym, że dane muszą być rozłożone na rozszerzenia i procesory graficzne we wspomnianych rozszerzeniach, nie teoretycznie faktycznie spowolniłoby tempo przetwarzania danych?

Zastanawiam się. Jeśli tak nie jest, dlaczego?

Ben Franchuk
źródło

Odpowiedzi:

2

Jest punkt, w którym nasycisz zasoby swojego procesora, a procesory graficzne będą siedzieć bezczynnie. Jest również punkt, w którym możesz zabraknąć zasobów magistrali. Ponieważ jest to magistrala, maksymalna ilość danych, które można przenieść na jednostkę czasu, może ponownie spowodować, że procesory graficzne staną się bezczynne.

Biorąc to pod uwagę, dodawanie procesorów graficznych nie powinno zmniejszać wydajności, ale nie może jej dalej poprawiać.


Mówiąc obliczeniowo, istnieją również pewne problemy, które próba wykonania ich na GPU może być wolniejsza niż na CPU. Algorytmy takie jak scrypt są specjalnie zaprojektowane do użycia dużej ilości pamięci RAM, aby zapobiec nieliniowym przyspieszeniom otrzymywanym przez implementację na FGPA i GPU.

Procesory graficzne zapewniają wzrost prędkości tylko wtedy, gdy odbywa się wiele równoległych operacji. Obliczenie pojedynczego mnożenia nie byłoby szybsze. Procesory graficzne również na ogół nie lubią rozgałęziania (warunkowe wykonywanie kodu).

Mitch
źródło