Intel Data Center GPU Flex Series recibe nueva aceleración de TensorFlow


TensorFlow permite que una plataforma para modelos de aprendizaje automático de IA prepare, construya, implemente e implemente varias opciones de software y hardware. Recientemente, Google e Intel crearon una forma de permitir que varios fabricantes de hardware publiquen soporte de productos para dispositivos de centros de datos sin alterar el código original. Este nuevo mecanismo se llama PluggableDevice. Hoy, Intel anunció que había agregado su Intel Data Center GPU Flex Series a la línea de PluggableDevices, llamada Intel Extension for TensorFlow.

Esta nueva implementación para Intel y TensorFlow permitirá el hardware Intel Data Center GPU Flex Series y los gráficos Intel Arc de la compañía. Es compatible con Linux y el subsistema de Windows para Linux conectándose a oneAPI. OneAPI es el modelo estándar de programación de código abierto que permite a los desarrolladores utilizar varias arquitecturas aceleradas.

Extensión de Intel para la implementación de TensorFlow PluggableDevice. Fuente de la imagen: TensorFlow.

El complemento, aunque simple de iniciar, permitirá a los desarrolladores usar varios modelos de API C que combinan C++ con los modelos de programación SYCL.

  • Gestión de dispositivos: Los desarrolladores de Intel y Google implementaron la API StreamExecutor C de TensorFlow utilizando C++ con SYCL y un soporte excepcional proporcionado por el tiempo de ejecución oneAPI SYCL (proyecto DPC++ LLVM SYCL). La API de StreamExecutor C define flujo, dispositivo, contexto, estructura de memoria y funciones relacionadas, todas tienen asignaciones triviales a las implementaciones correspondientes en el tiempo de ejecución de SYCL.
  • Registro de operación y kernel: La API C de registro operativo y kernel de TensorFlow permite implementaciones de kernel específicas del dispositivo y operaciones personalizadas. Para garantizar una cobertura de modelo suficiente, el equipo de desarrollo igualó la cobertura de operaciones del dispositivo GPU nativo de TensorFlow, implementando la mayoría de las operaciones críticas para el rendimiento llamando a primitivos de aprendizaje profundo altamente optimizados de la biblioteca de redes neuronales profundas oneAPI (oneDNN). Otras operaciones se implementan con núcleos SYCL o la biblioteca matemática Eigen en C++ con SYCL para que pueda generar programas para implementar operaciones de dispositivos.
  • Optimización de gráficos: El complemento de GPU Flex Series optimiza los gráficos de TensorFlow en Grappler a través de Graph C API y descarga particiones de gráficos críticas para el rendimiento a la biblioteca oneDNN a través de oneDNN Graph API. Recibe un gráfico serializado protobuf de TensorFlow, deserializa el gráfico, identifica y reemplaza los subgráficos apropiados con una operación personalizada y envía el gráfico de regreso a TensorFlow. Cuando TensorFlow ejecuta el gráfico procesado, las operaciones personalizadas se asignan a la implementación optimizada de oneDNN para sus particiones de gráfico oneDNN asociadas.
  • los perfilador La API de C permite que PluggableDevices comunique datos de creación de perfiles en el formato de creación de perfiles nativo de TensorFlow. El complemento de GPU Flex Series toma un objeto XSpace serializado de TensorFlow, llena el objeto con datos de tiempo de ejecución obtenidos a través de la interfaz de dispositivo de bajo nivel oneAPI Level Zero y devuelve el objeto a TensorFlow. Los usuarios pueden mostrar el perfil de ejecución de operaciones específicas en la GPU de la serie Flex con las herramientas de creación de perfiles de TensorFlow, como TensorBoard.

Para aquellas partes interesadas en obtener más información sobre la nueva integración, pueden consultar la página del blog Intel Extension for TensorFlow para obtener más detalles.

Fuentes de noticias: TensorFlow, Intel



Source link-29