Soy un programador C++ que desarrolla algoritmos de imagen y video, ¿debería aprender Nvidia CUDA? o es una de estas technlogies que desaparecerá?Aprender Nvidia CUDA
Respuesta
CUDA es actualmente una tecnología de proveedor único de NVIDIA y por lo tanto no tiene la compatibilidad de varios proveedores que OpenCL hace.
Sin embargo, es más maduro que OpenCL, tiene great documentation y las habilidades aprendidas al usarlo se transferirán fácilmente a otras herramientas de procesamiento de datos paralelas.
Como un ejemplo de esto, lea el Data Parallel Algorithms por Steele y Hillis y luego a ver el Nvidia tutorials - theres un vínculo claro entre los dos sin embargo, el papel Steele/Hillis fue escrita durante 20 years antes de la introducción de CUDA.
Finalmente, el FCUDA Projects está trabajando para permitir que los proyectos de CUDA se dirijan a hardware que no sea nvidia (FPGA).
Creo que debería quedarse con OpenCL, que es un estándar abierto y compatible con ATI, nVidia y más. CUDA podría no desaparecer en los próximos años, pero de todos modos no es compatible con GPU que no sean nVidia.
CUDA debería quedarse por un tiempo, pero si recién está empezando, le recomiendo mirar OpenCL o DirectCompute. Ambos se ejecutan tanto en ATI como en hardware NVidia, además de trabajar también en las unidades vectoriales (SSE) de las CPU.
OpenCL puede tomar algún tiempo para convertirse en dominante, pero me pareció aprender CUDA muy informativo y no creo que CUDA va a estar fuera del centro de atención en el corto plazo. Además, CUDA es lo suficientemente fácil como para que el tiempo que lleva aprenderlo sea mucho más corto que la vida útil de CUDA.
Esta es la era de la informática de alto rendimiento, la informática paralela. CUDA y OpenCL son las tecnologías emergentes de GPU Computing que en realidad es una informática de alto rendimiento. Si usted es un apasionado programador y está dispuesto a lograr un punto de referencia en algoritmos paralelos, realmente debería optar por estas tecnologías. La parte paralela de datos de su programa se ejecutará en una fracción de segundo en la arquitectura GPU de muchos núcleos, lo que generalmente lleva mucho más tiempo en su CPU.
- 1. Nvidia Tesla vs 480 para programación CUDA
- 2. instalación de Cuda NVIDIA Graphic Driver failed
- 3. ¿Puedo programar CUDA de Nvidia usando solo Python o tengo que aprender C?
- 4. ¿Cómo medir el tiempo de kernel interno en NVIDIA CUDA?
- 5. CUDA __threadfence()
- 6. OpenCL FFT en hardware Nvidia y AMD?
- 7. OpenCL AMD vs NVIDIA rendimiento
- 8. Modo de cálculo exclusivo con OpenCL + NVidia
- 9. ¿Dónde reside el código del núcleo de Cuda en la GPU nvidia?
- 10. ¿Cómo se calcula la carga en una tarjeta nvidia (compatible con cuda), gpu?
- 11. nVidia SLI Tricks
- 12. Cómo emular CUDA en Windows
- 13. Codificando CUDA con C#?
- 14. Confusión en CUDA/openCL y C++ AMP
- 15. ¿Alguna extensión de Lisp para CUDA?
- 16. ¿Cuándo estará disponible OpenCL 1.2 para hardware NVIDIA?
- 17. Biblioteca de compresión utilizando Nvidia's CUDA
- 18. Cuda y OpenGL Interop
- 19. ¿Cómo obtengo mis especificaciones CUDA en una máquina Linux?
- 20. ArrayFire versus programación cruda CUDA?
- 21. me ayudan a entender CUDA
- 22. sampler1D no es compatible con nVidia GLSL?
- 23. OpenGL ATI vs NVIDIA GLSL problemas
- 24. entero de 128 bits en cuda?
- 25. ¿Es posible ejecutar CUDA en GPU AMD?
- 26. Compilación de ejemplos CUDA da error de compilación
- 27. No se puede matar el kernel defectuoso que se ejecuta en la GPU NVIDIA
- 28. Contenedor CUDA más simple para principiantes
- 29. ¿Debo crear aplicaciones CUDA ahora o esperar a DirectX 11?
- 30. ¿Cómo se mapean/deforman/hilos CUDA en núcleos CUDA?
¿Por qué el voto a favor? – AndiDog