GPU a BOINC

Zaczęty przez gaciu, 04 Grudzień 2006, 04:03

gaciu

Dłuższy czas temu na forach kilku projektow (m.in. Einstein i Rosetta) znalazłem wątki dotyczace wykorzystania wolnej mocy obliczeniowej kart graficznych na potrzeby BOINC. Niestety nie widzialem wiekszego odzewu, do tego sam spósob działania karty graficznej powodował, że stworzenie oprogramowania zdolnego do takiego zadania było bardzo trudne, jeśli nie niemożliwe. Jednak najnowszy procesor graficzny Nvidia GeForce 8800 został zbudowany w zupełnie inny sposób niż dotąd spotykane. "Składa sie on ze 128 jednostek strumieniowych, które zdolne są do obliczeń dowolnego typu. Każda jednostka taktowana jest zegarem 1,35 MHz. Cały procesor ma wydajność 520 Gflops, a biorąc po uwagę, że superklaster Trójmiejskiej Akademickiej Sieci Komputerowej, wyposażony w 266 procesorów Itanium 2, dysponuje mocą 1510 Gflops, zaledwie nieco ponad trzykrotnie większą. Moc obliczeniowa GF8800 jest ponadto stosunkowo łatwo dostępna, dzięki zastosowaniu standardowego formatu danych, a także dzięki opracowaniu w ramach  programu CUDA (Compute Unified Device Architecture) silnego wsparcia programowego do tworzenia aplikacji wykorzystujących wolną moc jednostek strumieniowych". Droga do stworzenia aplikacji działającej na platformnie BOINC i korzystającej z mocy obliczeniowej GPU została otwarta. Osobiście nie moge się doczekać.

sourcerer

Tez juz kiedys nad tym myslalem, bo procesor GPU karty graficznej ma srednio 20 razy wiecej mocy obliczeniowej niz CPU, niestety specjalna konstrukcja tego procesora ( a raczej zaimplementowane instruckje ) sa malo mozliwe jak narazie do zrealizowania.No i oczywiscie 128 lub 256 bitowa architektura GPU tez jest bariera, bo jak polaczyc obliczenia realizowane na CPU z obliczeniami GPU.Zobaczymy co przyniesie przyszlosc.

Mchl

Cytat: "gaciu"Moc obliczeniowa GF8800 jest ponadto stosunkowo łatwo dostępna, dzięki zastosowaniu standardowego formatu danych, a także dzięki opracowaniu w ramach  programu CUDA (Compute Unified Device Architecture) silnego wsparcia programowego do tworzenia aplikacji wykorzystujących wolną moc jednostek strumieniowych".

CUDA jakieś... :lol:

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

sourcerer

Odnosnie jeszcze pomyslu na oblicznia realizowane na GPU karty graficznej,mozna by to zrealizowac wykorzystujac jednostki " Vertex Shader " oraz " Pixel Shader ". Troche czytalem na ich temat i powiem ze mogly by sie niezle nadawac do tego, pozniewaz moga realizowac ( jak pewnie wiecie ) programy napisane przez programiste.Niestety jest male " ale " , mianowicie te " specjalne " programy nie moga przekraczac kilkanascie-kilkadziesiat  ( i teraz nie pamietam ) czy linii czy tez instrukcji kodu programu, a co za tym idzie pewnie nie beda zbyt pomocne. No chyba ze jakis zdolny programista umialby zrobic " CUDA " z nimi:).Predzej mozna by wykorzystac procesor " CELL " do tego celu.O ile mi wiadomo posiada on w sobie procesor " Power PC " nadzorujacy 8 jednostek wektorowych.No ale raczej tak szybko nie pojawia sie one w komputerach typu PC.

Juras23

Czytałem też o przetwarzaniu muzyki 7.1 w czasie ralnym do różnych formatów właśnie tylko przez kartę graficzną. Ogólnie to czemu tego się nie rozwija - tu się dopiero moc marnuje :)

sourcerer

Moze problem w tym ze jak narazie wiekszosc plyt glownych (kupowanych przez ludzi mniej zasobnych w gotowke  ) ma tylko jeden slot PCI-Express lub AGP . A z czegos trzeba ciagnac grafike . Przy trybie " SLI " mozna by pewno pomyslec o wykorzystaniu 1 karty jako tej do wyswietlania, a z 2 po zaadoptowniu jako tej do obliczen np. BOINC. Moze za jakis czas pojawia sie rozwiazania ktore pozwola wykorzystac moc ukryta w GPU karty graficznej.A tak na marginesie , jak to jest z moca kart " fizyki " np. firmy AGEIA? slyszal ktos cos na ten temat ? Ona jest na PCI , nie ma zadnych wyjsc, przy dobrych wiatrach mozna by w kompa wpakowac az 5 takich , jesli tylko da rade sie ja namowic na obliczenia:)

Juras23

Ale do wyświetlania np: tekstu możesz używac tej samej karty AGP, która nadal w tle liczy potencjalnego BOINC, swoją droga nie spotkałem płyty z dwoma AGP - ten slot był programowany na samodzielne działanie. A poza tym karty na PCI / PCI EX mogły by w zupełności istnieć w kilku jak piszesz np nawet w 5 sztukach, a potencjalnie, każda z nich mogłaby liczyć inną jednostkę - i tu się kłania przyporządkowywanie jednostek do procków, bo macierzy procesorów raczej się nie robi jeśli nie są one jednakowe, w tym wypadku nie mogli byśmy mieć wśród tych 5 jednej wolniejszej, bo wtedy macierz działałaby z prędkością najsłabszej karty.

Powinno to się dać zrobić.

MadMan

Cytat: "Juras23"swoją droga nie spotkałem płyty z dwoma AGP - ten slot był programowany na samodzielne działanie.

Nie do końca to jest prawdą - co prawda nie ma płyt z dwoma AGP (przynajmniej ja nie spotkałem), ale ono także umożliwia pracę 2 kart graficznych w 2 slotach AGP na jednej płycie, przynajmniej w teorii.

http://en.wikipedia.org/wiki/Accelerated_Graphics_Port :

CytatHowever, AGP 3.0 (AGP 8x) does support more than one AGP Master per AGP Target; but very few PC (if any) motherboards are equipped with more than one AGP slot, but RISC computers, like HP AlphaServer GS1280 can have up to 16 AGP slots, AlphaServer ES80 up to 4 AGP slots and AlphaServer ES47 up to 2 AGP slots in a single system.
img]http://www.boincstats.com/signature/user_83293_banner.gif[/img]

Juras23

szczerze to widziałem kiedyś zdjęcie takiej płyty, nie potrafię go teraz odnaleźć, ale myślałem że to fotomontarz ( nawet mój profesor od sieci się zmarszczył ) i nie przyłożyłem do tego wagi. Ciekawe swoją drogą jak te płyty obsługują magistralę AGP, czy ustalana jest kolejność portów co wynikało by z użycia słowa MASTER, czy traktowane są one jako kolejne - i ciekawe jak rozdzilane są zadania na poszczególne karty - i czy aby to działało i miało sens to czy taki ukłąd musi mieć karty identyczne lub czy musi mieć zapełnone wszystkie porty -  :-k Oj sporo tych pytań...

sourcerer

Przed chwila przeczytalem na jakiejs stronie:

" Program Folding@Home ma juz mozliwosc wykorzystania X1900 do obliczen "

Na innej stronie odnosnie procesora AGEIA:

"... Wspomniany przed chwilą układ - AGEIA PhysX - jest tak naprawdę wielordzeniowym procesorem, zdecydowanie różnym jednak od znanych układów Intela czy AMD. Jego budowę porównać możemy jedynie do Cella (patrz: Intel i AMD na CELLowniku!) - układu będącego sercem konsoli Sony PlayStation 3. Obydwa procesory zbudowane są na bazie wielu rdzeni, z których większość to jednostki wektorowe. O ile jednak serce PS3 ma tych rdzeni 8, o tyle PhysX najprawdopodobniej złożony jest z kilkudziesięciu takich jednostek (szczegółów konstrukcji producent nie ujawnił), tak jak inny wielojądrowy procesor o nazwie kodowej Avebury. Układ ten, autorstwa firmy Clearspeed, zbudowany jest z 96 niezależnych jąder, będących wektorowymi jednostkami zmiennoprzecinkowymi. Pracujący z zegarem 250 MHz Avebury (oficjalna nazwa CSX600) pobiera zaledwie 5 W mocy, dysponując jednocześnie mocą obliczeniową około 50 gigaflopów. Kość PhysX także potrzebuje niewielkiej mocy (ok. 20 W) i ma ogromną wydajność zmiennoprzecinkową (dokładna wartość nie została podana), wielokrotnie przekraczającą możliwości obecnych Pentium 4 i Athlonów 64. Sam układ wytwarzany jest w technologii 130 nanometrów i zajmuje powierzchnię 182 mm2 (złożony z 234 milionów tranzystorów, i produkowany w wymiarze 90 nm Cell jest o 39 mm2 większy)."
I co myslicie o tym?
Moze czas sie zabrac za przerabianie (napisanie programu-klienta ) na taka karte?:)

Mchl

Płyta z dwoma AGP

http://www.digit-life.com/articles2/mainboard/asrock-k8upgrade-760gx-sis-760-gx.html

Ale co ciekawe, ten drugi nie służy do wpięcia karty graficznej, tylko... procesora

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

Juras23

heh - właśnie tylko na procesor i w dodatku co to za obudowy musiały by być - jakieś ze specjalnakonstrukcją jak w IBM'ach - do podtrzymywania kart prostopadłych względem płyty w konstrukcji typu tower, inaczej wszystko by się grawtacyjnie rozpadło, chyba że może działać tylko w desktopach....w ogóle cudo jakieś.

Mchl

Z tego co poczytałem w necie, wynika, że więcej niż jedno AGP mogłoby być właściwie tylko w komputerach wieloprocesorowych... Właściwie więcej z tym problemów niż korzyści i pewnie dlatego nic się z tego nie urodziło.

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

MadMan

Cytat: "Mchl"Płyta z dwoma AGP

http://www.digit-life.com/articles2/mainboard/asrock-k8upgrade-760gx-sis-760-gx.html

Ale co ciekawe, ten drugi nie służy do wpięcia karty graficznej, tylko... procesora

To nie jest slot AGP, to jest tylko port o identycznej budowie fizycznej co AGP, ale służy - tak jak napisałeś - do podłączenia modułu procesora. Na mojej płycie też jest swoją drogą.

A co do rozdzielenia zadań - pewnie nie ma możliwości pracy w trybie podobnym do SLI, w 3D liczy tylko jedna karta, druga może wyświetlać obraz 2D na kolejnych monitorach.
img]http://www.boincstats.com/signature/user_83293_banner.gif[/img]

sourcerer

Jesli wolno , o ile pamietam w trybie SLI 1 karta liczy np.gorna czesc ekranu a 2 karta liczy dolna czesc ekranu (widzialem filmik nakrecony przez Alienware)

Juras23

Cytat: "MadMan"
To nie jest slot AGP, to jest tylko port o identycznej budowie fizycznej co AGP, ale służy - tak jak napisałeś - do podłączenia modułu procesora. Na mojej płycie też jest swoją drogą.


Nie zgodzę się niestety z tym, że budowa fizyczna jest identyczna.

Spójrzcie dokładnie na spód portu AGP i na liczbę pinów, w tym AGP dla procka jest ich więcej.

Swoją drogą ma ktoś link do opisu lub zdjecia takiego modułu, który się tam wpina?

Mchl


W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

Juras23

Widzę, że sa karty na procki 939 i na 754, ciekawe czy jak się taką kartę zapoda to czy system widzi 2 procesory .Hmm no oczywiście kartę z procem :)


lukaszde

połączmy watki [moderacja: link nie aktualny]

GacikPL

#20
cześć witam wszystkich :) może wygląda że jestem nowy na forum ale jakoś jestem nieśmiały i się nie odzywałem :P

a dla zainteresowanych tematem wykorzystania GPU do czegoś innego niż przetwarzanie grafiki polecam artykuł:
http://www.pcworld.pl/news/135357.html

może nie GPU dla Boinc ale to już zawsze coś...
pozdrawiam!! 

http://www.seren.org.pl