Hybrydy przyspieszają badania
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ń.
Komentarze (8)
Jajcenty, 10 sierpnia 2012, 14:50
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
nantaniel, 10 sierpnia 2012, 15:18
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.
Bartosz, 11 sierpnia 2012, 11:06
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.
Jajcenty, 11 sierpnia 2012, 12:49
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:
Bartosz, 11 sierpnia 2012, 16:34
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:
http://www.securitum.pl/baza-wiedzy/publikacje/lamanie-hasel-z-wykorzystaniem-cpu-gpu
kretyn, 11 sierpnia 2012, 19:36
Nie rozumiem. Co w tym jest nowego? GPU już co najmniej od kilku lat jest wykorzystywane do obliczeń... Chodzi o samo OpenACC?
Bartosz, 11 sierpnia 2012, 21:28
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?
agnomen, 13 sierpnia 2012, 13:44
Te cztery linijki kodu to po prostu zmiana przyzwyczajeń i sposobu myślenia programistów...