Las GPU NVIDIA obtienen soporte SYCL después de que Codeplay contribuye al desarrollo del estándar DPC ++

Hardware / Las GPU NVIDIA obtienen soporte SYCL después de que Codeplay contribuye al desarrollo del estándar DPC ++ 2 minutos de lectura

Nvidia



Después de obtener el apoyo de empresas líderes como Intel, Xilinx, Renesas e Imagination Technologies, SYCL (que se pronuncia 'hoz'), los desarrolladores que utilizan GPU NVIDIA ahora también podrán beneficiarse. Codeplay, la organización que ha contribuido constantemente de forma activa a la Comunidad SYCL, ha culminado el desarrollo avanzado de DPC ++ (Data Parallel C ++), que facilita el reciclaje y la reutilización de código en varias plataformas de hardware. El resultado es ComputeCpp, Implementación propia de Codeplay de SYCL .

La última edición de ComputeCpp ofrece soporte experimental para las GPU NVIDIA que utilizan OpenCL y PTX de NVIDIA

El año pasado, Intel dio un paso decisivo para dar un impulso a SYCL, e incluso comenzó a trabajar en oneAPI Standard. OneAPI incluye DPC ++ (una implementación de SYCL con extensiones) para las CPU, GPU y FPGA de Intel. El movimiento pronto se hizo bastante grande y ganó impulso después de que Xilinx, Renesas e Imagination Technologies recibieran apoyo para SYCL. En pocas palabras, los desarrolladores de software ahora pueden apuntar a una amplia gama de dispositivos utilizando SYCL.



ComputeCpp ofrece soporte experimental para GPU NVIDIA que utilizan OpenCL y PTX de NVIDIA. Pero DPC ++ (la implementación SYCL de Intel) ofrece la oportunidad de agregar soporte completo para las GPU NVIDIA integradas en el compilador LLVM sin pasar por OpenCL. Codeplay anunció que están abriendo la fase experimental inicial de su implementación que permite a los desarrolladores de SYCL apuntar a las GPU NVIDIA. La base de código para esta implementación permanece en un tenedor separado tanto del proyecto principal del compilador LLVM como de la rama DPC ++. La organización agregó que tienen la intención de trabajar con Intel para agregar el soporte de la GPU NVIDIA al compilador Intel / LLVM ascendente.

¿Cómo pueden los desarrolladores beneficiarse del soporte SYCL para las GPU NVIDIA?

Este proyecto permite a los desarrolladores apuntar a las GPU NVIDIA utilizando código SYCL, sin tener que pasar por la capa OpenCL en el sistema. En otras palabras, con solo una GPU NVIDIA, los desarrolladores pueden ejecutar DPC ++ en su sistema para compilar aplicaciones SYCL. Además, cualquier aplicación CUDA existente se puede migrar gradualmente a SYCL utilizando el soporte de CUDA y luego ejecutarla en una plataforma que no tiene CUDA. Esto claramente ahorra mucho tiempo y esfuerzos repetidos.

Codeplay ha ofrecido instrucciones sobre el archivo README del proyecto que explican cómo utilizar el back-end de NVIDIA para DPC ++. Los desarrolladores deben usar algunas marcas al compilar y algo de código para configurar su selector de dispositivo para garantizar que el tiempo de ejecución sepa a qué dispositivo apuntar. En particular, la sección ' Cree una cadena de herramientas SYCL con soporte para NVIDIA CUDA ”Y las opciones del compilador de Clang tienen instrucciones específicas .

Codeplay confirmó que ejecutaron con éxito el proyecto con Ubuntu 18.04 usando CUDA 10.1 en una GPU Titan RTX (capacidades de cómputo 7.5). El equipo asegura que también debería funcionar en otras versiones de Linux con cualquier GPU NVIDIA compatible con SM 5.0 o superior. Sin embargo, la aplicación SYCL compilada solo podrá apuntar a CUDA u OpenCL, no a ambos al mismo tiempo.