BittWare ofrece tarjetas de aceleración con Open FPGA Stack (OFS) y habilitadas por Intel® oneAPI

BittWare ofrece compatibilidad con oneAPI en sus soluciones de FPGA con la Open FPGA Stack (OFS).

Vista rápida

  • OFS, que incluye un paquete de compatibilidad con aceleradores (ASP) Intel® oneAPI, permite a los desarrolladores aprovechar los beneficios de la reprogramabilidad de FPGAs con la opción de emplear lenguajes de programación, como C/C++, y entornos de desarrollo familiares, como Visual Studio y Eclipse, mediante oneAPI.

  • BittWare ofrece tarjetas de aceleración basadas en FPGA Intel Agilex® 7 habilitadas con flujos de desarrollo de RTL y C/C++ a través de la compatibilidad con OFS y oneAPI.

  • BittWare tiene dos placas OFS, habilitadas por oneAPI, para envío hoy: los aceleradores PCIe* IA-840f e IA-420f.

  • BittWare ofrece ejemplos de uso de oneAPI con código descargable, incluida una aplicación de informática de alto desempeño (HPC) trasladada de OpenCL* a oneAPI.

author-image

Por

Resumen ejecutivo

BittWare lleva más de dos décadas desarrollando soluciones de placas de aceleración basadas en FPGA con FPGAs Intel®. En su migración más reciente a las últimas FPGAs Intel Agilex® 7, BittWare mostró interés en ofrecer compatibilidad con oneAPI en sus soluciones de FPGA. Para hacerlo, BittWare recurrió a Open FPGA Stack (OFS) y a su paquete de compatibilidad con aceleradores (ASP) oneAPI de código abierto para habilitar la compilación de kernels de aplicaciones de diseño de alto nivel (HLD) en sus plataformas basadas en FPGAs Intel Agilex®.

Antecedentes y desafíos

Intel presentó la familia de productos Intel Agilex® 7 en el 2019. Desde entonces, la familia de productos Intel Agilex® se ha ampliado para incluir varias FPGAs de bajos a altos consumo de energía y densidades lógicas en varias aplicaciones. La serie FPGA Intel Agilex® 7 es la familia original de FPGA Intel Agilex® de alto desempeño. La serie de FPGA incorpora las FPGAs de mayor desempeño de la industria, que ofrecen un desempeño de tejido por vatio aproximadamente 2 veces mayor1 que las FPGAs de última generación de la competencia. Las nuevas FPGAs Intel Agilex® son más potentes, consumen menos energía e incluyen características de E/S, como PCIe* 4.0 y 5.0, que se dirigen a una amplia gama de aplicaciones intensivas de ancho de banda, informática y memoria.

Estas mejoras de desempeño ofrecen a los clientes de BittWare un mejor valor, ya sea más desempeño por vatio para dispositivos de edge o más densidad computacional para centros de datos. En usos de informática de alto desempeño (HPC), las FPGAs ofrecen adaptaciones para aplicaciones, que hacen que las cargas de trabajo estén mejor emparejadas con el chip de silicio, que los aceleradores de uso general. Intel y BittWare colaboraron en el traslado de una carga de trabajo de HPC, del Centro Nacional de Supercomputación de Barcelona a la tarjeta IA-840f, mediante oneAPI, para lograr una velocidad 233 veces mayor. Este proyecto aparece en el webinar High-Performance Computing with Next-Generation Intel Agilex FPGAs on-demand de BittWare.

BittWare también ofrece recursos para herramientas de programación de alto nivel, como documentos técnicos con códigos de muestra descargables. Estos recursos muestran cómo las herramientas de alto nivel aceleran el proceso de desarrollo al tiempo que aprovechan el alto desempeño de las FPGAs Intel Agilex® 7.

Las herramientas como oneAPI ofrecen un lenguaje de programación paralelo, que permite la abstracción del desarrollo de FPGAs para mejorar el tiempo de aceleración y depuración. Comparable a CUDA* o AMD ROCm* de NVIDIA, oneAPI ofrece un lenguaje de programación paralelo, Data Parallel C++ (DPC++), que implementa SYCL. Sin embargo, la distribución de oneAPI de Intel aborda una solución para un entorno de programación, un conjunto de herramientas y unas bibliotecas unificados, no solo para GPUs, sino también para CPUs, FPGAs y VPUs, como los procesadores de IA Gaudi/Gaudi2.

Al usar oneAPI, los desarrolladores menos familiarizados con la programación de FPGAs pueden beneficiarse de la arquitectura flexible y reprogramable única de estas mientras usan lenguajes de diseño, como C/C++, y entornos de desarrollo familiares, como Visual Studio o Eclipse. Mediante el uso de flujos de diseño de alto nivel, oneAPI también aumenta la portabilidad de las cargas de trabajo en todas las arquitecturas, como CPUs, GPUs, FPGAs y proveedores de placas.

BittWare, cuya empresa matriz es Molex, es un socio de Intel desde hace mucho tiempo que diseña y fabrica productos de aceleración de hardware de FPGA, de clase empresarial, para permitirles a los clientes implementar sus soluciones más rápido con menos riesgo. Como líder del mercado en la industria de la aceleración de FPGAs por más de 20 años, BittWare migró de las primeras FPGAs Intel® Stratix® e Intel® Arria®, a la familia de productos Intel Agilex® más reciente. Al abordar su último lanzamiento de la serie “IA” de placas FPGA Intel Agilex®, buscaron aprovechar la infraestructura de OFS para habilitar los flujos de desarrollo de oneAPI en su plataforma.

Solución

Para garantizar que sus placas habilitan el flujo de desarrollo de oneAPI, BittWare aprovechó el último recurso e infraestructura de desarrollo de FPGAs de código abierto: OFS. OFS es la primera infraestructura completa de hardware y software totalmente de código abierto, y comprende código de hardware componible, así como código de kernel enviado “upstream” a kernel.org, para habilitar una comunidad colaborativa de desarrolladores de FPGAs.

La infraestructura de OFS consiste en un Administrador de Interfaz de FPGA (FIM), comúnmente llamado un “shell”, y una región de Unidad Funcional de Acelerador (AFU), una región destinada al desarrollo de cargas de trabajo. Con OFS, los desarrolladores de placas pueden aprovechar la infraestructura de código abierto para desarrollar rápidamente una FIM adaptada y personalizada para sus placas, según la aplicación o industrias objetivo. Del mismo modo, OFS incluye un marco de software de código abierto, en el que los desarrolladores pueden aprovechar los controladores de kernel enviados “upstream”, y de código abierto, para acelerar la integración en marcos de trabajo comunes. La infraestructura de OFS satisface la demanda de placas de aceleración y cargas de trabajo de FPGA, al proporcionar una metodología potente para desarrollar rápidamente los sistemas de aceleración de FPGAs. La infraestructura de hardware y software de OFS proporcionada se puede aprovechar tal cual, o puede personalizarse rápidamente para satisfacer los requisitos nuevos y dinámicos del mercado.

El oneAPI Base Toolkit que proporciona Intel incluye un compilador y un entorno de herramientas de tiempo de ejecución. El compilador convierte un kernel de SYCL, o un código de aplicación de FPGA, en un circuito de hardware. Este circuito de hardware requiere de lógica adicional para comunicarse con los periféricos de la herramienta de tiempo de ejecución y de la placa FPGA. OFS ofrece esta lógica adicional en el ASP de oneAPI. El ASP de oneAPI está incluido en los repositorios de GitHub de OFS de código abierto, y es necesario para compilar y ejecutar kernels de aplicaciones de HLD en plataformas compatibles con OFS. También se proporciona la documentación técnica correspondiente, que incluye una guía de inicio rápido para configurar Intel® oneAPI Base Toolkit en una plataforma de OFS.

Con los repositorios y la documentación de OFS de código abierto proporcionados, BittWare podría implementar el flujo de diseño de oneAPI (no RTL) en sus dispositivos Intel Agilex®, con pocas modificaciones adicionales.

Resultados

BittWare fue el primero en llegar al mercado con las FPGAs Intel Agilex® serie F. La siguiente tabla ilustra las dos placas desarrolladas con la infraestructura de OFS y el ASP de oneAPI.

Tarjeta PCIe IA-420f

Tarjeta PCIe IA-840f

  • FPGA: FPGA Intel Agilex® 7, AGF014
  • Aplicaciones: análisis avanzados, inteligencia artificial, informática de la nube, automatización de fábricas y HPC
  • Redes: QSFP-DD 1x200 Gbps
  • Memoria: flash de 2 Gb, 2 SDRAM DDR4 de 8 GB
  • Factor de forma: HHHL, ranura única
  • PCIe: 4.0 x16
  • oneAPI habilitado:
  • FPGA: FPGA Intel Agilex® 7, AGF027
  • Aplicaciones: análisis avanzados, inteligencia artificial, informática de la nube, automatización de fábricas y HPC
  • Redes: 3 QSFP-DD 3x200 GbE
  • Memoria: flash de 2 Gb, 3 SDRAM DDR4 de 32 GB, 2 DIMM compatibles con DDR4 de 32 GB
  • Factor de forma: FH¾L, ranura doble
  • PCIe: 4.0 x16
  • oneAPI habilitado:

Darles a nuestros clientes acceso a un chip de silicio potente con un flujo de desarrollo sencillo es una fórmula ganadora, sobre todo por la gran mejora de desempeño en esta familia de FPGAs Intel Agilex® de última generación. Nuestro trabajo con oneAPI ha demostrado su valía al permitir que una gama de usuarios lleguen al mercado más rápido, al tiempo que mantienen un alto desempeño.

Craig Petrie, vicepresidente de BittWare

Cómo comenzar con la aceleración de FPGA con OFS

Los desarrolladores de FPGAs pueden elegir entre las placas habilitadas para OFS, IA-420f o IA-840f, de BittWare, y usar la documentación y el código fuente, ambos de código abierto, para empezar a diseñar sus cargas de trabajo personalizadas.

La siguiente tabla describe cómo un desarrollador puede iniciar el desarrollo de cargas de trabajo, basado en FPGAs, con una placa de aceleración de BittWare.

Aproveche la aceleración de FPGA para su carga de trabajo

Paso 1: Elija una placa

Las placas habilitadas para OFS de BittWare, IA-420f e IA-840f.

Paso 2: Evalúe los recursos de OFS de código abierto

BittWare proporcionará la versión correspondiente de documentación técnica de OFS.

Paso 3: Acceda al código de hardware y software de código abierto

BittWare proporcionará el código correspondiente de software y hardware de OFS. Esta es la distribución específica de BittWare del código base de OFS (proporcionado por Intel).

Paso 4: Desarrolle la carga de trabajo con RTL o C/C++ (con oneAPI)

Siga el flujo de RTL de OFS

O

OFS habilita la compilación de kernels oneAPI. Use el flujo de desarrollo de oneAPI y cree cargas de trabajo de FPGA en C/C++.