Para fortalecerse en el mercado de las GPU Intel adquiere Codeplay

0
58

Intel no quiere limitarse a crear un rival del modelo de programación y la pila de librerías CUDA para poder competir mejor con Nvidia en el mercado de la computación en la GPU. Con oneAPI, quiere crear un ecosistema abierto que incluya un marco de programación, denominado oneAPI y basado en gran medida en el marco SYCL que mantiene el Grupo Kronos, un compilador C++ de datos paralelos y un conjunto variado de librerías de alto rendimiento para acelerar aplicaciones de IA y HPC que puedan competir con los cientos de librerías que Nvidia y sus socios han creado para CUDA.

Para ello, Intel va a necesitar algo de ayuda, y con ese fin la empresa está adquiriendo el equipo de 80 personas de Codeplay, uno de los administradores del modelo de programación SYCL que se creó en 2014, que está en el corazón del esfuerzo de programación multiplataforma y multidispositivo oneAPI de Intel, y que es un derivado (o mejor aún, una parte integral) del marco de programación OpenCL que fue creado por Apple en 2009. Tanto SYCL como OpenCL están dirigidos por Khronos Group.

Los términos financieros del acuerdo no han sido revelados, pero lo que podemos decir es que Codeplay es mucho más valioso para Intel hoy que hace unos años, cuando se lanzó el esfuerzo de oneAPI. Intel está más avanzado en el camino de la oneAPI y más cerca de lanzar su motor de computación GPU Xe «Ponte Vecchio», y necesita una historia de software que contar para sus GPUs, así como para sus CPUs, FPGAs y ASICs personalizados. En particular, AMD está acaparando toda la atención en el espacio HPC con sus victorias en superordenadores de clase exascale con sus motores de GPU Instinct MI250X «Aldebaran» y su entorno de desarrollo ROCm 5.0. El entorno de programación ROCm es de código abierto e incluye un convertidor HIP que permite crear código de GPU que se ejecuta en las GPU de Nvidia, además del modo nativo que se ejecuta en las GPU de AMD.

Intel quiere ser el más abierto de los proveedores de plataformas, y eso es porque tiene que serlo. Nvidia, como líder indiscutible de la computación en la GPU (exceptuando algunos grandes superordenadores de Estados Unidos y Europa), puede construir un foso alrededor de la plataforma CUDA y sus librerías y seguir ganando dinero dando este software «gratis». (Nada es gratis, sobre todo cuando el 75 por ciento de los empleados de Nvidia están escribiendo software. El coste del software está integrado en el hardware, no cabe duda). Intel quiere que la pila de oneAPI no sólo sea gratuita, sino también abierta, y AMD quiere lo mismo para ROCm, porque esto estimulará la adopción de su software y desprotegerá la elección del hardware de Intel para desarrollar aplicaciones. El código desarrollado en DPC++ sobre SYCL y con acceso a las librerías oneAPI puede ejecutarse en GPU de Intel, AMD o Nvidia.

Codeplay es una de las organizaciones que ha demostrado que se pueden equilibrar las tres P de la programación para sistemas de alto rendimiento -que serían la productividad, el rendimiento y la portabilidad- de tal forma que se puede conseguir la portabilidad y seguir obteniendo rendimiento y tener una productividad razonable. Para demostrar este punto, el equipo de Codeplay ha creado compiladores oneAPI SYCL para las GPU de AMD y Nvidia por parte de tres importantes instalaciones del Departamento de Energía de EE.UU.: el Laboratorio Nacional Lawrence Berkeley, el Laboratorio Nacional Argonne y el Laboratorio Nacional Oak Ridge. Codeplay también ha escrito sus propias librerías de aceleración de redes neuronales SYCL DNN y de álgebra lineal SYCL BLAS, que pueden ejecutarse en las GPU de AMD, Intel y Nvidia, y ha participado en la ejecución de las librerías cuDNN y cuBLAS que Nvidia ha creado para el corazón de CUDA dentro del entorno oneAPI.

«Trabajamos mucho en el rendimiento y la portabilidad, no sólo en la portabilidad», explica Andrew Richards, cofundador y director ejecutivo de Codeplay, a The Next Platform. «SYCL permite la portabilidad, pero el equipo de Codeplay demuestra que realmente se pueden construir bibliotecas portátiles de rendimiento encima. Y nuestras bibliotecas SYCL DNN y SYCL BLAS consiguen un rendimiento realmente competitivo a pesar de poder ejecutarse en GPUs Nvidia, AMD e Intel, así como en otros tipos de hardware».

A menudo nos hemos preguntado por qué no hay bibliotecas de código abierto (o al menos abiertas) en las que las mentes más inteligentes de la Tierra las creen, y luego otras mentes más inteligentes de la Tierra las ajusten para proporcionar un rendimiento ajustado en partes específicas del hardware dada su experiencia en la arquitectura. Se trata de un enfoque de «escribir una vez y ajustar muchas veces». Esto contrasta con el hecho de que los compiladores y las librerías estén altamente ajustados por sus proveedores de hardware o por participantes muy interesados: Cray, en el caso de los compiladores de CPU que abarcan varias arquitecturas, o Nvidia, en el caso de los compiladores y las librerías de GPU, son sólo dos ejemplos.

«Lo que hace Codeplay como empresa es mostrar a la gente cómo hacerlo», dice Richards. «Mostramos a la gente cómo pueden escribir una vez y ejecutar en todas partes. Pero, en realidad, no escribimos toda la biblioteca porque somos más bien una empresa de compaginación. Pero creo que con este acuerdo con Intel, podremos ser más ambiciosos en lo que hacemos, y ser capaces de hacer cosas a mayor escala. Pero añadiría que muchas de estas bibliotecas están escritas por expertos en la materia, y por eso nosotros, como expertos en compiladores, podemos mostrar a la gente cómo escribir estas bibliotecas y lograr ese alto nivel de rendimiento y portabilidad».

Está absolutamente claro por qué Intel quiere comprar Codeplay, pero no está claro por qué Codeplay no quería seguir siendo una especie de Suiza. Está claro que aquí hay dinero de por medio, y sin duda Codeplay fue recompensada por su trabajo y cuidada por Intel.

Pero, no obstante, es muy difícil ser Suiza. Como ejemplo, consideremos la interfaz del acelerador OpenCAPI «Bluelink» de IBM. Tenía todos los detalles técnicos correctos, pero lo que Intel quería era impulsar el estándar CXL, y como proveedor dominante de CPUs en el mundo, no sólo ganó Intel, sino que consiguió que las empresas detrás de Gen-Z, CCIX, Infinity Fabric y OpenCAPI siguieran su ejemplo y presentaran sus respetos a CXL. Y ahora, por lo menos, hemos dado un único estándar que ha surgido para la forma en que podemos vincular los aceleradores y, pronto, la memoria a los motores de computación, convergiendo los controladores de memoria PCI-Express y DDR en un solo protocolo en un futuro no muy lejano.

No cabe duda de que Intel necesita a Codeplay para aumentar las probabilidades de que oneAPI se adopte fuera de sus propios motores de computación, pero también es cierto que Codeplay necesitaba el poder de Intel para ampliar sus operaciones y hacer que SYCL y DPC++ se extendieran más de lo que podrían ser por sí solos.

CambioDigital OnLine | WEB

Custom Text
Artículo anteriorNokia T20: productividad, rendimiento y seguridad en la palma de tu mano
Artículo siguienteElon Musk tiene un «super mal presentimiento» sobre la economía» y quiere recortar el 10% de los empleos de Tesla