Skocz do zawartości
Forum Kopalni Wiedzy
KopalniaWiedzy.pl

Hybrydy przyspieszają badania

Rekomendowane odpowiedzi

Obliczenia wykonywane podczas badań nad nowymi lekami należą do najbardziej czasochłonnych zadań stawianych przed komputerami. Czasami wystarczy jednak nieco zmodyfikować algorytm i zastosować inny sprzęt, by zaoszczędzić olbrzymią ilość czasu.

Naukowcy z chińskiego uniwersytetu Shanghai Jia Tong korzystają z kompilatora OpenACC firmy CAPS do wykonywania obliczeń genomicznych. Tego typu oprogramowanie stosuje się podczas badań nad nowymi terapiami chorób genetycznych, jak np. zespół Downa czy mukowiscydoza.

Teraz okazało się, że dzięki zastosowaniu procesora Tesla Nvidii oraz zmodyfikowaniu pod jego kątem kompilatora - co wymagało uzupełnienia programu o zaledwie cztery linie kodu - pozwoliło na 16-krotne przyspieszenie obliczeń.

Z tego typu rozwiązań korzystają nie tylko ośrodki uniwersyteckie, ale również komercyjne firmy, jak np. Roche. Trend polegający na coraz częstszym łączeniu procesorów (CPU) z procesorami graficznymi (GPU), widoczny np. na liście najpotężniejszych superkomputerów świata, pojawił się również na znacznie słabszych maszynach. Zastosowanie takiego hybrydowego rozwiązania daje bowiem olbrzymie korzyści zarówno podczas projektowani CAD, obliczeń inżynierii materiałowej czy chemii kwantowej. Poświęcając kilka lub kilkanaście godzin pracy na zmodyfikowanie używanego dotychczas systemu można osiągnąć wielokrotne przyspieszenie wykonywanych przez komputer zadań.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Hm, jak mam to rozumieć? Maja kompilatory nie potrafiące korzystać ze sprzętu? Odkryli że kod można dedykować/optymalizować?

Niech piszą w dżawie - będą niezależni od sprzętu ;p

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Po prostu wykorzystali do obliczeń GPU a nie tradycyjne CPU. W specyficznych obliczeniach procesory kart graficznych biją na głowę CPU. Przyspieszenie uzyskiwane jest dzięki zrównolegleniu obliczeń - GPU składa się z wielu jednostek, które potrafią działać niezależnie od siebie.

  • Pozytyw (+1) 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dokładnie, tam gdzie można użyć algorytmów współbieżnych GPU bije zwykle na główę CPU jeżeli chodzi o wydajność. Warto w tym momencie wspomnieć o architekturze CUDA dostępnej na GPU Nvidii:

http://panoramix.ift...ntacja-cuda.pdf

 

Ten wzrost wydajności widoczny jest np. przy wielu symulacjach procesów fizycznych, efektach cząsteczkowych, ray tracingu i w wielu innych zastosowaniach.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ten wzrost wydajności widoczny jest np. przy wielu symulacjach procesów fizycznych, efektach cząsteczkowych, ray tracingu i w wielu innych zastosowaniach.

 

Hm, jak mam to rozumieć? Odkryto klasę problemów co się lepiej liczą współbieżnie, a im szybszy sprzęt i lepsze kompilatory tym szybciej?

 

Tak naprawdę mamy do czynienia z marketingiem nowego produktu:

SHANGHAI, CHINA, Aug 06, 2012 (MARKETWIRE via COMTEX) -- NVIDIA today announced that the OpenACC programming standard has enabled Chinese researchers to dramatically accelerate the DNADist genomics application,

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Może nie tyle „odkryto klasę problemów co się lepiej liczą współbieżnie”, co takie problemy istniały wcześniej i zwykle zdawano sobie sprawę, że poprzez zrównoleglenie obliczeń można uzyskać znaczny skok wydajności. Problem był w tym, że nie dało się tego raczej zrealizować na zwykłych domowych komputerach z jednym CPU:

 

Dobrych kilka lat temu zaprezentowane zostały crackery oparte o nowoczesne karty graficzne (NVIDIA - technologia CUDA lub AMD Radeon - technologia Stream). Ich główną zaletą jest skokowy wzrost wydajności w porównaniu do odpowiedników działających na procesorach. Skąd ten przyrost mocy obliczeniowej? Otóż nowoczesne GPU (NVIDIA lub Radeon) złożone są z wielu ALU (Aritmetic Logic Unit) czy tzw. procesorów strumieniowych (ang. stream processor) - w przypadku łamania haseł chodzi po prostu o jednostki mogące równolegle realizować pewne operacje matematyczne na liczbach całkowitych. Obecnie, niektóre karty graficzne mogą się składać z przeszło 3000 ALU (np. Radeon HD 5970 posiada ich 3200). Obrazowo można powiedzieć, że łamanie pojedynczego hasha (wyliczanie funkcji hashującej) jest zrównoleglane na procesory strumieniowe. To w pewnym uproszczeniu tak jakbyśmy posiadali 3000 corowy CPU.

http://www.securitum.pl/baza-wiedzy/publikacje/lamanie-hasel-z-wykorzystaniem-cpu-gpu

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie rozumiem. Co w tym jest nowego? GPU już co najmniej od kilku lat jest wykorzystywane do obliczeń... Chodzi o samo OpenACC?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nowość polega chyba na tym, że po raz pierwszy wykorzystano GPU do tego typu badań. No ale można zadać pytanie - skoro GPU już od kilku lat pozwalał na obliczenia równoległe, to czemu do tej pory tego nie wykorzystywano w tych badaniach? Czemu dopiero teraz?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Te cztery linijki kodu to po prostu zmiana przyzwyczajeń i sposobu myślenia programistów...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...