APERTO CL, Python e parallelizzazione

voti
0

Come antipasto in Open CL, ho una domanda semplice comprensione per ottimizzare GPU Computing.

Per quanto ho capito posso fare cioè una matrice di 1000 x 1000 e mettere un codice ad ogni pixel allo stesso tempo utilizzando una GPU. Che cosa circa la seguente opzione:

  • Ho 100 volte a 100 x 100 matrici e bisogno di calcolare in modo diverso. Così ho bisogno di
    fare la serie o posso iniziare a 100 casi, vale a dire comincio 100 multiprocesses Python e ogni sparo un calcolo matriciale per la GPU (assumning Thetre sono abbastanza risorse).

  • Viceversa, ho una matrice di 1000 x 1000 e 100 diverso esempio per calcolare, posso fare questo come lo stesso tempo o elaborazione seriale?

Qualsiasi consiglio o un concetto come risolvere questo il modo più veloce è apprezzato

grazie Adrian

È pubblicato 23/04/2014 alle 20:15
dall'utente
In altre lingue...                            


1 risposte

voti
1

Il modello di esecuzione OpenCL ruota intorno kernel, che sono solo le funzioni che vengono eseguite per ogni punto nel vostro dominio del problema. Quando si avvia un kernel per l'esecuzione sul dispositivo OpenCL, si definisce uno spazio di indice di 1, 2 o 3 dimensioni per questo dominio (aka il NDRange o la dimensione di lavoro globale). E 'interamente a voi come è mappare la NDRange sul vostro problema reale.

Ad esempio, è possibile lanciare un NDRange che è 100x100x100, al fine di elaborare 100 set di 100x100 matrici (ammesso che siano tutti indipendenti). Il kernel definisce quindi il calcolo di un singolo elemento di una di queste matrici. In alternativa, si potrebbe lanciare 100 kernel, ciascuna con un 100x100 NDRange per ottenere la stessa cosa. Il primo è probabilmente più veloce, dato che evita il sovraccarico di lanciare più kernel.

Consiglio vivamente di dare un'occhiata alla specifica OpenCL per ulteriori informazioni sul modello di esecuzione OpenCL. Specificamente, sezione 3.2 ha una grande descrizione dei concetti fondamentali circostanti esecuzione kernel.

Risposto il 23/04/2014 a 20:34
fonte dall'utente

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