Domanda

Sono programmatore C ++ che sviluppano algoritmi di immagini e video, dovrei imparare Nvidia CUDA? o si tratta di una di queste tecnologie che spariranno?

È stato utile?

Soluzione

CUDA è attualmente un unico fornitore di tecnologia di NVIDIA e quindi non ha la supporto multi vendor che OpenCL fa.

Tuttavia, è più matura di OpenCL , ha ottima documentazione e le competenze apprese utilizzando sarà facilmente trasferito ad altri toolkit di elaborazione dati Parrallel.

Come esempio di questo, leggere il rel="noreferrer"> di Steele e Hillis e poi guardare il tutorial Nvidia - theres un chiaro legame tra i due ancora la carta Steele / Hillis è stato scritto su 20 anni prima CUDA è stato introdotto.

Infine, il FCUDA Progetti sta lavorando per consentire progetti CUDA di indirizzare non nvidia hardware (FPGA).

Altri suggerimenti

CUDA dovrebbe restare per un po ', ma se sei solo agli inizi, io consiglierei di guardare OpenCL o DirectCompute . Entrambi questi eseguito su ATI così come hardware NVidia, oltre a lavorare anche sulle unità vettoriali (SSE) della CPU.

Credo che si dovrebbe piuttosto attaccare con OpenCL , che è uno standard aperto e supportato da ATI, nVidia e altro ancora. CUDA potrebbe non scomparire nei prossimi anni, ma in ogni caso non è compatibile con le GPU non nVidia.

OpenCL potrebbe richiedere del tempo prima di diventare pervasivo ma ho trovato l'apprendimento CUDA molto informativo e non credo CUDA sta per essere fuori dalle luci della ribalta in qualunque momento presto. Inoltre, CUDA è abbastanza facile che il tempo necessario per imparare è molto più breve durata di CUDA.

Questa è l'era del calcolo ad alte prestazioni, calcolo parallelo. CUDA e OpenCL sono le tecnologie emergenti di GPU Computing che è in realtà un calcolo ad alte prestazioni! Se sei un programmatore appassionato e pronto a raggiungere il punto di riferimento in algoritmi paralleli, si dovrebbe davvero andare per queste tecnologie. Dati parte parallela del programma otterrà eseguito entro frazioni di secondo su GPU architettura multi-core che di solito richiede molto più tempo sul vostro CPU ..

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top