OPEN CL, Python i parallelisation

głosy
0

Jako starter w Open CL, Mam proste pytanie do zrozumienia optymalizacji GPU.

Tak dalece, jak rozumiane mogę czyli matrycy 1000 x 1000, a kod umieścić jeden na każdym pikselu w tym samym czasie za pomocą procesora graficznego. Co z następujących opcji:

  • Mam 100 razy w 100 x 100 macierze i trzeba obliczać je inaczej. Więc muszę
    zrobić to seryjny czy mogę uruchomić 100 przypadków, tj zacznę 100 multiprocesses Python i każdy strzelać do obliczeń GPU Matrix (assumning thetre ma wystarczających zasobów).

  • Odwrotnie, jeszcze jedna matryca 1000 x 1000 i 100 różnych przykład obliczyć, można zrobić to w tym samym czasie lub przetwarzania szeregowego?

Wszelkie porady lub koncepcji jak rozwiązać ten najszybszy sposób jest doceniana

Dzięki Adrian

Utwórz 23/04/2014 o 20:15
użytkownik
W innych językach...                            


1 odpowiedzi

głosy
1

Model wykonanie OpenCL krąży wokół jądra, które są tylko funkcje, które realizują dla każdego punktu w domenie problemu. Po uruchomieniu jądra do wykonania na urządzeniu OpenCL, zdefiniowaniu 1, 2 lub 3-wymiarowej przestrzeni indeksu dla tej domeny (aka NDRange lub globalnej wielkości pracy). To zależy wyłącznie od Ciebie, jak odwzorować NDRange na rzeczywistego problemu.

Na przykład, można uruchomić NDRange który jest 100x100x100, w celu przetworzenia 100 zestawów 100x100 matrycach (przy założeniu, że wszystkie są niezależne). Jądro następnie definiuje obliczenia dla pojedynczego elementu jednej z tych matryc. Alternatywnie, można uruchomić 100 rdzeni, każdy z 100x100 NDRange aby osiągnąć to samo. Były to prawdopodobnie szybciej, gdyż unika napowietrznej uruchomienie wielu jąder.

Gorąco polecam przyjrzeniu w specyfikacji OpenCL , aby uzyskać więcej informacji na temat modelu wykonania OpenCL. W szczególności, sekcja 3.2 ma wspaniały opis podstawowych pojęć i okolic wykonanie jądra.

Odpowiedział 23/04/2014 o 20:34
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more