Zaloguj

Zarejestruj się

Zaloguj przez Facebook

Wiadomości24 > Cywilizacja > Komputery > Zastosowanie procesorów graficznych w medycynie

Pozycja materiału w rankingach:

3629 miejsce

Dział: Komputery

Ocena: 3pkt

Oceń:

Zastosowanie procesorów graficznych w medycynie


Procesory powoli tracą na znaczeniu przy obliczeniach w projektach naukowych. Z wielkim hukiem udział zabierają im karty graficzne, które już przyczyniły się do rozwoju wielu ambitnych projektów związanych z medycyną



Sztuczne oko na wyciągnięcie ręki

Obraz wykonany przy pomocy soczewki aparatu fotograficznego w oparciu o algorytmy opracowane przez zespół badawczy Hansa van Haterena. / Fot. Hans van Hansa van Haterena z uniwersytetu Groningen  (http://hlab.phys.rug.nl/imlib/c4001_4212/index.html)Oznaką zrewolucjonizowania rynku rozwiązań obliczeniowych jest zastosowanie komputerów wyposażonych w procesory graficzne w Centrum Obliczeń o Wysokiej Wydajności i Wizualizacji holenderskiego uniwersytetu w Groningen. Okazuje się, że zwykła karta graficzna z powodzeniem może zastąpić w pracach naukowych superkomputer BlueGene/L znajdujący się w siedzibie tej instytucji. Do takiego wniosku doszedł dr Hans van Hateren, który podczas badań nad reakcjami neurologicznymi ludzkiego oka korzysta z procesorów graficznych NVIDIA.

Przetwarzanie obrazu przez siatkówkę oka odbywa się w sposób równoległy. Czopki pobierają obraz docierający do siatkówki w trzech kanałach koloru oraz adaptują się do przeważającego poziomu światła. Prócz tego siatkówka zapewnia współdziałanie obiektów w przestrzeni, co wyostrza krawędzie i zwiększa kontrast kolorów w obrazie. Ze względu na charakter wymaganych obliczeń jedynym rozwiązaniem jest zastosowanie komputerowych architektur równoległych. Jednakże ze względu na ilość oddziaływań przestrzennych w siatkówce, wymagają one wydajnej komunikacji pomiędzy procesorami. Im więcej komponentów pośredniczy w wymianie informacji tym mniej efektywna jest komunikacja. W przypadku karty graficznej wszystkie jednostki przetwarzania znajdują się na jednej płytce.

Badania doktora van Haterena po zmianie sprzętu zaczęły się dynamicznie rozwijać. Dzięki procesorom graficznym zespół badawczy jest w stanie tworzyć symulacje dokładnie odtwarzające sposób zachowania neuronów siatkówki. Wysoka wydajność architektury CUDA pozwoliła między innymi na renderowanie oraz kompresowanie materiału wideo o rozszerzonej przestrzeni barwnej, w sposób podobny do tego, który ludzkie oko wykorzystuje do przetwarzania obrazów. Konsekwencją może być zbudowanie modelu sztucznego oka działającego w sposób porównywalny do rzeczywistego odpowiednika.

Co przyniesie jutro

Zastosowanie procesorów graficznych jest niewątpliwie przyszłością technik obliczeniowych. Karty graficzne już teraz pozwalają na uzyskanie dokładniejszych informacji o działaniu ludzkiego organizmu, a opisane powyżej przypadki jedynie potwierdzają, że korzystanie z procesorów graficznych jest opłacalne. Nie tylko pozwala na ograniczenie kosztów zakupu oraz utrzymania sprzętu lecz równocześnie zapewnia moc obliczeniową równą potężnym superkomputerom. Nie do przecenienia jest także dostępność do sprzętu, ponieważ kartę graficzną można kupić w każdym sklepie komputerowym.
Oto jak wygląda superkomputer FASTRA. / Fot. ASTRA (http://fastra.ua.ac.be/) Jednym z przykładów zastosowana procesora obliczeniowego NVIDIA Tesla jest superkomputer Cray CX1 skonstruowany przez firmę, która tworzyła historię superkomputerów. / Fot. Cray Inc. (http://www.cray.com/Products/CX1.aspx)
Pozycja autora w rankingach:

Komentarze: 6

Sortuj komentarze:

Rezner

Rezner 22.02.2012 18:00

Ocena: Ocena pozytywna 4 Ocena negatywna 1

Problemem GPU (i w sumie też wielordzeniowych CPU) jest fakt, że większości obliczeń po prostu nie da się zrównloeglić.

Komentarz został ukrytyrozwiń

Szymon Piszczek 13.06.2009 17:14

Ocena: Ocena pozytywna 66 Ocena negatywna 76

CUDA rzeczywiście nie jest tak cudowna, jak może się wydać komuś po lektórze artykułu.
W niektórych dziedzinach zwiększa moc, w innych niebardzo.
Jeśli się nie mylę, to wszystkie przytoczone zastosowania opierają się na przetwarzaniu obrazów. Tu dorzuciłbym jeszcze symulatory do różnych szkoleń (bodaj we Francji pracują nad symulatorem kolonoskopii, jakiś czas temu słyszałem o symulatorze robota saperskiego). Są to zastosowania niedalekie od pierwotnych.
Nie jestem specjalistą, ale trochę słyszałem.
1. W kartach wszystkie, albo większość rdzeni liczą w pojedyńczej precyzji (zmienne float, a nie double). Oznacza to, że mamy do dyspozycji liczby mniej dokładne i z mniejszego zakresu niż na CPU, które często prowadzą obliczenia w dokładności większej niż double. W niektórych zastosowaniach to nie jest problem, w innych - dyskwalifikuje.
2. Programując na GPU mamy do dyspozycji kilka rodzajów pamięci o bardzo różnym czasie dostępu, co znacznie komplikuje sprawę. W problemach "memory bounded" (gdzie szybkość obliczeń jest ograniczona przez czas dostępu rdzenia do danych, a nie samych obliczeń) zarządzanie pamięcią robi się istotne i często nie pozwala zbliżyć się do teoretycznej wydajności kart.
3. Powyższe dwie różnice powodują, że porównywanie CPU i GPU jest trudne. Co więcej porównywanie różnych rozwiązań opartych na CPU też nie jest proste, np. dla problemów "memory bounded" wydajność zależy bardziej od rozwiązania komunikacji miedzy rdzeniami oraz rdzeni z pamięcią niż od mocy samych rdzeni. Słyszałem o przypadkach gdy słabo zoptymalizowany kod 70% czasu pracy poświęcał na komunikację.
4. Istotną wadą GPU, przynajmniej dla mnie, jest niemożność przeniesienia programu - trzeba go przepisać na nowo. To jest oczywiście kwestia czasu i popularności.
5. Porównywanie GPU do konsumenckich CPU jest nieco chybione: w prawdziwych klastrach obliczeniowych stosuje się chyba nieco inne procesory.
6. Klastry, których jest mowa w artykule nie są zbyt duże. W Warszawie jest conajmniej kilka jednostek mających po kilkaset procesorów (polecam opisy na kdm.icm.edu.pl). To jednak nie jest dużo. Prawdziwe superkomputery (tzw. "petaskala") to tysiące procesorów. Tu istotne robią się takie parametry jak pobór mocy (w MW/TFlop, czyli w megawatach na milion operacji zmiennoprzecinkowych). W tej konkurencji karty graficzne podobno przegrywają z kretesem.

Wydaje mi się, że GPU sa dobre i mają przyszłość głównie w zastosowaniach, w których potrzebujemy dużej, ale nie ekstremalnie dużej mocy, nie potrzebujemy super precyzji oraz i tak piszemy całe oprogramowanie od nowa, a chcemy mieć maszynę na własność. Ja widze dwie dziedziny:
*wszelkie symulatory i obróbka obrazów, gdzie producent pisze od zera oprogramowanie i sprzedaje je wraz ze sprzętem, np. medycznym
*pracownie projektowe - Teslę z czterema GeForce można sobie postawić pod biurkiem w miejscu kaloryfera (spokojnie zastąpi ;)
Jednak przy zapotrzebowaniu na naprawdę dużą moc obliczeniową trzeba się postarać o grant obliczeniowy w jakimś centrum.

Na koniec warto jeszcze wspomnieć o konkurencji GPU na rynku nazwijmy to "średniej mocy" jaką są procesory PlayStation (np. http://www.icm.edu.pl/kdm/Biuletyn_nr_28).

Ogólnie fajny artykuł, ale przydałby się drugi - kontr i o innych rozwiązaniach. Część tez do takowego jest powyżej. Oprócz tego warto by poczytać strony ICM (są tam ludzie zajmujący się klastrami obliczeniowymy, GPU, PlayStation). Jest kilka osób obeznanych z CUDA na MIM UW, coś w tej technologii robią bodaj w Poznaniu. W tym roku była konferencja "GPU in HPC", która traktowała głównie o CUDA.. W Instytycie Geofizyki UW jest kilka osób zorientowanych w obliczeniach na naprawdę dużych maszynach (w NCAR).
Nie moja działka, zwłaszcza w czasie sesji, ale jakby ktoś chciał napisać o tym - służę pomocą.

Komentarz został ukrytyrozwiń

Autor usunął profil 02.05.2009 23:22

Ocena: Ocena pozytywna 86 Ocena negatywna 72

w ktorym miejscu "Panie kolego" wypisuje bzdury? ze takie porownywanie GPU do CPU nie ma sensu? A pan robi to w co najmniej kilku fragmentach tekstu (chocby juz w samym wstepie). Napisalem tylko o tym.

Nie ma Pan tez pojecia co wiem na temat technologi NVIDIA CUDA, bo nigdzie o niej nie pisalem. Wiec prosze mi tu nie wyjezdzac z tekstami o doczytywaniu.

Troche pokory zycze.

Komentarz został ukrytyrozwiń

Artur Bochenko 25.04.2009 22:43

Ocena: Ocena pozytywna 69 Ocena negatywna 66

Dodam ze to nie porównanie ,tylko przedstawienie nowych możliwości procesorów graficznych dzięki zastosowaniu technologii CUDA.

Komentarz został ukrytyrozwiń

Artur Bochenko 25.04.2009 14:18

Ocena: Ocena pozytywna 81 Ocena negatywna 71

tomi135 warto by było poczytać o technologi NVIDIA CUDA ,by dowiedzieć się co to jest. Żeby kolega doczytał to by wiedział ze sam bzdury wypisuje.

Komentarz został ukrytyrozwiń

Autor usunął profil 25.04.2009 13:08

Ocena: Ocena pozytywna 79 Ocena negatywna 64

porownywanie GPU do CPU jest co najmniej pomylka, a pisanie ze 4 karty graficzne maja wieksza moc obliczeniowa niz 1000 CPU to juz grube naduzycie. Zanim sie napisze takie bzdury wartto by najpierw dowiedziec sie do czego sluza CPU a do czego GPU i jakie sa miedzy nimi zasadnicze roznice.

Komentarz został ukrytyrozwiń

odśwież

Maksymalnie 4000 znaków. (możesz jeszcze wpisać: 4000)

Reklama

Najpopularniejsze

Reklama
Copyright 2012 Wiadomosci24.pl
Realizacja serwisu: Gratka Technologie Sp. z o.o.