Vulkan llega a CUDA de NVIDIA gracias al desarrollo de VUDA de código abierto
Repositorio de GitHub denominado VUDA quiere llevar la API Vulkan de bajo nivel a los CUDA de NVIDIA bajo una licencia de código abierto MIT.
El mercado de los videojuegos es uno de los más importantes dentro de la informática y se pueden encontrar un buen número de motores gráficos pero en el caso de API solamente estaba DirectX 12 hasta que llegó Vulkan. La solución de Vulkan es más ligera y más completa y sobre todo muy utilizada en gráficas de AMD, pero ahora un desarrollador de GitHub como es Jgbit ha empezado a implementar algo muy ambicioso, un proyecto denominado VUDA que se basa en la API CUDA de NVIDIA para conseguir una interfaz de computación mediante GPU que sea accesible a todo el mundo gracias al código abierto.
VUDA, la implementación de Vulcan en la API CUDA de NVIDIA
Lo que se pretende es que VUDA desarrolle una solución simple para la API gráfica Vulkan pero con soporte para hardware de NVIDIA a bajo nivel. VUDA dispone de una biblioteca C++ únicamente para el encabezado que la hace compatible con todas las plataformas que usen nativamente un compilador C++ y que también sean compatibles con Vulkan.
Apenas si se han dado los primeros pasos en este proyecto, pero la comunidad rápidamente ha visto el potencial y se ha interesado por esta solución de código abierto bajo licencia MIT. Dentro del repositorio de GitHub encontramos una muestra muy básica del código que se puede usar como base para el primer desarrollo con la biblioteca.
CUDA es una plataforma de computación mediante paralelización y un modelo de programación, no es una API como se suele pensar. Esta solución hace uso de la GPU para tareas de computación de corte sencillo y elegante. Para CUDA normalmente se utiliza C, C++, Fortran y muchos otros lenguajes que se van incorporando y también se implementan extensiones en forma de palabras clave básicas. Las palabras clave son las que permite al desarrollador implementar los paralelismos de computacion e incluso dirigir el compilador a la parte de la aplicación que se asigna a la GPU.