Czy obecnie dostępne układy GPU obsługują arytmetykę zmiennoprzecinkową podwójnej precyzji?


17

Uruchomiłem kod dynamiki molekularnej (MD) GROMACS w klastrze Ubuntu Linux składającym się z węzłów zawierających 24 procesory Intel Xeon. Moje szczególne zainteresowanie okazuje się nieco wrażliwe na zmiennoprzecinkową precyzję arytmetyczną, więc musiałem uruchomić GROMACS z podwójną precyzją, a nie z pojedynczą precyzją - pomimo wyższych kosztów obliczeniowych podwójnej precyzji. Tak więc w klastrze skompilowałem GROMACS z podwójną precyzją.

Zastanawiam się nad zakupem niektórych układów GPU, ponieważ może istnieć przyspieszenie względne („przyspieszenie GPU”) w stosunku do procesorów. Potrzebuję jednak procesora graficznego, który pozwoli mi wykonywać arytmetykę o podwójnej precyzji. Czy wiesz, czy taki sprzęt jest dostępny na rynku? Ostatnich post na liście mailingowej GROMACS sugeruje, że podwójne precyzyjne GPU nie są dostępne na rynku:

Sprzęt jeszcze go nie obsługuje [arytmetyka podwójnej precyzji] AFAIK.

Ta strona Wikipedii wydaje się sugerować, że układy GPU o podwójnej precyzji są rzadkie, ponieważ mogą być nieefektywne:

Implementacje liczb zmiennoprzecinkowych na procesorach graficznych Nvidia są w większości zgodne z IEEE; nie dotyczy to jednak wszystkich dostawców. Ma to wpływ na poprawność, które są uważane za ważne w niektórych zastosowaniach naukowych. Podczas gdy 64-bitowe wartości zmiennoprzecinkowe (zmiennoprzecinkowe podwójnej precyzji) są powszechnie dostępne w procesorach, nie są one powszechnie obsługiwane w procesorach graficznych; niektóre architektury GPU poświęcają zgodność z normami IEEE, podczas gdy innym brakuje podwójnej precyzji. Starano się emulować wartości zmiennoprzecinkowe podwójnej precyzji na GPU; jednak kompromis prędkości neguje jakąkolwiek korzyść z odciążenia obliczeń na GPU.

Ta strona NVIDIA Tesla , odwołując się do „Szczytowej wydajności zmiennoprzecinkowej podwójnej precyzji” na wykresie, wydaje się sugerować, że obliczenia podwójnej precyzji można w rzeczywistości wykonać na ich procesorach graficznych (choć przy wyższych kosztach obliczeniowych).

Więc w co mam wierzyć? Czy masz jakieś doświadczenie z tym problemem?


sprawdź GTX Titan, który jest oparty na gk110 i ma podwójną precyzję ..... choć jest trochę kosztowny ..... około 1 000 $

Wikipedia nie zawsze posiada aktualne informacje na temat szybko zmieniających się tematów ...
Jeff

Odpowiedzi:


17

Podwójna precyzja jest dość powszechna w nowszych procesorach graficznych. Na przykład posiadam NVIDIA GTX560 Ti (dość niski poziom, jeśli chodzi o przetwarzanie), który nie ma problemu z uruchomieniem ViennaCL z podwójną precyzją. Od tutaj (sekcja 4) wydaje się wszystkich kart NVIDIA z GTX4xx dalej wspierać podwójnej precyzji natywnie.

Sądzę, że informacje GROMACS są po prostu nieaktualne.


5
Bardzo nieaktualne. Szczególnie procesory NVIDIA od lat mają podwójną precyzję. Szczerze mówiąc, był znacznie wolniejszy niż funkcja pojedynczej precyzji, ale był (i nie tylko emulowany) w pierwszych procesorach graficznych marki Tesla i prawdopodobnie wcześniej. Nowsze wcielenia znacznie zmniejszyły lukę między obsługą sygnału a podwójną precyzją.
Michael Grant

Tak, w dokumencie, który połączyłem, wspomniane liczby miały około 8-krotną różnicę w wydajności, kiedy potrzebna była emulacja, ale teraz, gdy chipy są zaprojektowane do tego, jest bliżej współczynnika 2. Powiedziałbym, że jest to prawdopodobnie spowodowane opóźnienie pamięci karty od VRAM do procesorów, ale to po prostu zgadywanie z mojej strony.
Godric Seer

Właściwie głównym powodem było to, że wcześniejsze procesory graficzne po prostu nie poświęcały dużo miejsca na chipie obliczeniom podwójnej precyzji. Według tej strony , seria GK110 ma 8 razy więcej jednostek podwójnej precyzji na „blok SMX” (cokolwiek to znaczy) niż seria GK104.
Michael Grant

1
Ach, tak, miałem na myśli różnicę 2x obecnych GPU w odniesieniu do komentarza dotyczącego przepustowości pamięci.
Godric Seer

Gotcha Nie chciałem zejść do tej króliczej nory. Twoja odpowiedź jest w porządku, dlatego skomentowałam i głosowałam zamiast dodawać własną odpowiedź ;-)
Michael Grant

8

Każdy procesor graficzny z SM 1.3 (Tesla / GTX2xx) lub lepszy ma sprzętową podwójną precyzję. Począwszy od architektury Fermi, warianty Quadro i Tesla mają lepszą podwójną precyzję niż konsumenckie modele Ge Force.

Dziwne jest to, że obsługa podwójnej precyzji Ge Force Kepler / GTX6xx jest gorsza niż obsługa GeForce Fermi / GTX5xx w celu poprawy różnicowania Tesli w Kepler K20 / K20x. Wzmacniając dziwność, Tesla K10 ma wsparcie podwójnej precyzji na poziomie Ge Force. A ostatnio wprowadził to całkowicie chaos, wprowadzając Ge Force GTX Titan, który ma pełną podwójną precyzję i wiele funkcji CUDA obecnych tylko w modelach Tesli. GTX Titan kosztuje ~ 1000 $ - okazyjna okazja IMO.



0

Według tej dyskusji procesory graficzne Tesla i Titan są najbardziej odpowiednie (spośród układów GPU Nvidia) do podwójnej precyzji.

Patrząc na przykład na liście Nvidia GPU na Wikipedii (podobny stół dla AMD GPU jest tutaj ) i porównując pojedynczą i podwójną moc obliczeniową precyzja (pod względem GFLOPS) widzi, że podwójna wydajność precyzja jest znacznie mniejszy niż połowa pojedynczej precyzji wydajność dla większości innych układów GPU. Na przykład w przypadku serii GTX 900 w artykule wspomniano, że wydajność podwójnej precyzji wynosi 1/32 wydajności pojedynczej precyzji, podczas gdy w tym artykule w Wikipedii stwierdzono, że w przypadku serii GTX 700 wydajność podwójnej precyzji wynosi 1/24 pojedynczej precyzji wydajność (z wyjątkiem Titana, gdzie może wynosić nawet 1/3 wydajności pojedynczej precyzji).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.