2009-12-20 14 views
15

GPGPU è il principio dell'utilizzo dei processori paralleli sulle schede video per aumentare notevolmente le prestazioni.Utilizzo di Delphi per sfruttare la tecnologia GPGPU?

Qualcuno ha qualche idea sull'uso di GPGPU in Delphi, usando OpenCL o CUDA? CUDA era/è solo NVidia, ma hanno anche adottato lo "standard" di OpenCL.

Ho trovato alcuni campioni Delphi dalle ricerche di Google ma si bloccano o non si compila/esegui.

Il campione di istruzioni finale sarebbe:

  1. Scaricare e installare le DLL OpenCL da qui.
  2. Scarica l'SDK OpenCL da qui.
  3. Scarica questo esempio del progetto Delphi da qui.
  4. Apre e compila il progetto Delphi. Se tutto va secondo i piani lo farà "tutto ciò che si dovrebbe fare"

A quel punto posso quindi avviare la ricerca del OpenCL SDK e la scrittura/compilazione DLL per chiamare da qualsiasi applicazione Delphi.

Questo genere di cose sta davvero iniziando a decollare. Gli Embarcadero non devono fare nulla da soli in questa fase (a meno che non lo vogliano), ma se ci fosse un tutorial e campioni per Delphi disponibili sarebbe fantastico. Molti esempi sono disponibili per altre lingue, ma abbiamo anche bisogno di un buon esempio di Delphi per mostrare quanto sia facile usare Delphi per le app GPGPU.

+0

Che tipo di algoritmi si desidera accelerare? Funziona solo se sono ereditati da paralisi. –

+0

Sto mirando alla grafica/raytracing ecc al momento che sono perfetti per l'elaborazione parallela. Alcuni degli esempi illustrati che ho visto danno ordini di accelerazioni di magnitudo. Anche se ha la tendenza a friggere la tua scheda video a meno che tu non abbia un raffreddamento decente. – TallGuy

risposta

9

Potresti essere interessato a GPGPUonDelphi2007.

GPGPU esempio più necessarie librerie OpenGL e CG per Delphi 2007 ora available!

Ho creato i pacchetti OpenGL e CG (delphi) necessari ieri e ho completato la conversione/conversione/porting di un esempio C GPGPU OpenGL/CG a Delphi oggi, e mi piacerebbe condividerlo con voi in modo che forse un po 'di più (Delphi) le persone esamineranno la programmazione GPGPU, specialmente con OpenGL 3.0 per le (più vecchie) schede grafiche DX9.

9

CUDA è ancora solo nVidia, e questo non cambierà. OpenCL è un vero standard in questo caso, non solo limitato a GPGPU.

Per quanto riguarda l'utilizzo in Delphi, tutto quello che so è come usarlo in Free Pascal. Tuttavia, c'è un po 'di possibilità che il codice sarà portatile, ecco un link alle intestazioni aggiornati:

FreePascal Mantis RFE OpenCL

Per quanto riguarda la DLL, se si utilizza nVidia, possono essere trovati here.

Here tuttavia abbiamo un progetto di esempio in Delphi.

1

Si dovrebbe usare CUDA DELPHI

Nel codice pascal nativo è possibile eseguire CUDA kernel