BOINC@Poland

Inne => Archiwum => Wątek zaczęty przez: Rysiu w 25 Kwiecień 2010, 21:03

Tytuł: CUDA - od zera
Wiadomość wysłana przez: Rysiu w 25 Kwiecień 2010, 21:03
Ostatnimi czasy planuję coś liznąć programowania w CUDA.

Co prawda w domu nie posiadam grafiki wspierającej tą technologię ale mam dostęp do komputerów z odpowiednimi grafikami.

Nie wiem tylko nawet od czego tutaj zacząć :E Noramalnie piszę w Code::Blocks. Chcę się dopytać co tam powinienem zainstalować aby już za bardzo nie kombinować i za pierwszym razem było wszystko ok.

Wystarczy Developer Drivers + CUDA Toolkit? Czasem można jeszcze doczytać o Visual Studio (nawet Express) ale chyba można jego zastąpić dowolnym edytorem?
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: Troll81 w 25 Kwiecień 2010, 21:31
męcz sesefa :D on projektował soft na grafy :D i TJM :D
Tytuł: CUDA od zera
Wiadomość wysłana przez: Rysiu w 20 Maj 2010, 12:17
Zainstalowałem CUDA Toolkit, dedykowane drivery i przykładowe app od nVidii.

Nie mam jednak kompletnie pojęcia jak w tym utworzyć projekt i nawet wklepać jakiś przykładowy kod.

Przykładowe app chyba działają z Visual C++ (rozszerzenie vcproj) i za bardzo nie mogę ich zaimprotować do tego edytora nVidii.

Przy zakładaniu nowego projektu mam coś takiego jak niżej:
[smg id=290 caption="Cuda - zakładanie nowego projektu"]

Co powinienem podać w ścieżce "Launch"? Strasznie jakoś mało to intuicyjne i masa różnic przeskakując ze zwykłego C.

Mogłem napisać PM'kę do TJM'a lub sesef'a ale mam nadzieję, że ktoś tutaj odpowie, a i może ktoś skorzysta z rozwiązywanych problemów.
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: sesef w 20 Maj 2010, 12:30
Tutaj akurat TJM ma master z CUDA i wjazd na deva do nich. Ogólnie ciężko powiedzieć czy odpalisz to w code::blocks ponieważ chyba nie ma libów skopilowanych pod windowsowego gcc głównych środowiskiem pod Windows jest Visual Studio i pod niego jest wszystko robione. Masz dostep do MSDNa ściągnij sobie VS2005/2008/2010 PRO (nie wiem pod co tam teraz CUDA robią) i rób w nim.
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: [B@P] MSW w 20 Maj 2010, 12:36
kompletnie się na tym nieznam ale jak już masz zaczynać od CUDA to może lepiej zacznij od openCL. wtedy będzie to chodziło na wszystkich kartach a i znacznie szybciej, widziałem taką prezentację jak szybko robi się obliczenia na CPU (około 6h) na CUDA (około 15min) i openCL( pare sekund) chyba nawet od nVidii to było. Myślę że wartoby było się tym zainteresować.
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: Rysiu w 20 Maj 2010, 12:44
Właśnie jestem kompletny noob z tego, a trzeba jakoś zacząć. Tutaj jednak nawet na początek jakiegoś dobrego tutoriala ciężko mi znaleźć (już nawet nie wspominam o języku polskim). Myslałem o tym Visual Studio ale nie mam pojęcia jak jego połączyć z bibliotekami CUDA aby to wszystko zatrybiło, a czytałem, że sporo użytkowników ma z tym problemy.
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: [B@P] MSW w 20 Maj 2010, 13:12
więc lobbuje za openCL
po krótkich poszukiwaniach znalazłem trochę przykładów kodu http://developer.download.nvidia.com/compute/cuda/3_0/sdk/website/OpenCL/website/samples.html
postanowiłem też zgłębić ten problem.
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: TJM w 20 Maj 2010, 13:19
Teoretycznie jeśli masz zainstalowane Visual Studio, to nic już nie musisz robić - po zainstalowaniu toolkita projekty CUDA powinny zacząć działać.
Podobnie jest na Linuksie, a nawet teoretycznie łatwiej.
Niestety w praktyce stopień dopracowania instalatorów jest znikomy i może się okazać, że będziesz musiał wbić na forum nvidii i poczytać jak rozwiązywali problemy inni  :ph34r:

Nowy projekt łatwo utworzyć - najlepiej po prostu skopiować dołączony w toolkicie pusty plik przykładowy (zwie się to chyba project sample czy jakoś tak).

Co do OpenCL to nie wiem czy w praktyce jest tak różowo jak głoszą reklamy. Jakiś czas temu praktycznie w ogóle ciężko było uruchomić jakąś aplikację, nie mówiąc już o kompilacji samemu.
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: [B@P] MSW w 20 Maj 2010, 13:30
openCl ma tą przewagę że powinien iść i na AMD i nVidi a CUDA to nVidia a AMD ma Strima chyba, więc się już rozdrobnili. Po drugie może i rozwój openCL jest powolny a struktura skomplikowana ale to jest otwarty projekt więc społeczność po jakimś czasie "wypoleruje" to.  Kolejna rzecz że ta reklama z szybkością naprawdę do mnie przemówiła jakkolwiec chociaż trochę prawdy w niej musi być  ;) Do tego postawić to na GIT kompilować w GCC uruchamiać w Linuksie i wszystko gra  XD
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: Rysiu w 21 Maj 2010, 10:46
Kompletnie nie mogę niczego ugryźć.

Próbowałem kompilacji kodu z konsoli (nvcc) ale wywala, że brakuje jemu kompilatora "cl.exe". Szukałem co to jest i znalazłem, że to Kompilator Visual Studio i wygląda na to, że nawet jego trzeba będzie zainstalować aby cokolwiek zrobić.

(http://img200.imageshack.us/img200/3085/48098794.th.png) (http://img200.imageshack.us/i/48098794.png/)

Z poziomu samego CUDA Toolkit'a nie mam pojęcia jak pisać... Tam jest jakieś IDE? Niczego nie widzę. Początkowo myślałem, że rolę jakiegoś edytora spełnia CUDA Visual Profiler ale z tego co widzę on jest do czegoś innego (Benchmarking a CUDA).
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: [B@P] MSW w 21 Maj 2010, 10:54
NVIDIA Parallel Nsight może to pomorze, podobno to visual studio zastępuje czy coś.
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: Rysiu w 21 Maj 2010, 11:13
Słyszałem o tym NVIDIA Parallel Nsight ale to chyba tylko jakieś rozszerzenie do Visual Studio.
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: sesef w 21 Maj 2010, 17:04
Visual Studio w programowaniu jest tym czym Windows w prywatnych komputerach (tylko VS to jednak produkt za który MS można pochwalić) i nie ma co kombinować na około. 99% ludzi używa VS i wszystko co na winde jest pod niego robione.
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: TJM w 21 Maj 2010, 18:40
Cytat: Rysiu w 21 Maj 2010, 10:46
Kompletnie nie mogę niczego ugryźć.

Próbowałem kompilacji kodu z konsoli (nvcc) ale wywala, że brakuje jemu kompilatora "cl.exe". Szukałem co to jest i znalazłem, że to Kompilator Visual Studio i wygląda na to, że nawet jego trzeba będzie zainstalować aby cokolwiek zrobić.

(http://img200.imageshack.us/img200/3085/48098794.th.png) (http://img200.imageshack.us/i/48098794.png/)

Z poziomu samego CUDA Toolkit'a nie mam pojęcia jak pisać... Tam jest jakieś IDE? Niczego nie widzę. Początkowo myślałem, że rolę jakiegoś edytora spełnia CUDA Visual Profiler ale z tego co widzę on jest do czegoś innego (Benchmarking a CUDA).

No co ty, nic takiego nie ma - albo podpinasz pod jakiś produkt MS (da się pod starsze wersje VC++ chyba też), albo przesiadasz się na linuksa   %)
Visual profiler jest do analizy kodu pod względem wydajności, jest do niego osobna instrukcja - jeśli nie jest dostępna dla publiki to mogę pomóc w jej znalezieniu  %)
Tytuł: Odp: CUDA - od zera
Wiadomość wysłana przez: Rysiu w 27 Czerwiec 2010, 11:56
Z Visual Studio nie było problemów - po instalacji wszystko zatrybio.

Chcę jednak móc coś kompilować na Linuxie (Ubuntu) i komputerze nie posiadającym karty graficznej wspierającej CUDA. Muszę coś dodatkowo instalować aby skorzystać  emulacji?