Vortex — GPU abierto basado en la arquitectura RISC-V, compatible con OpenCL

Un grupo de investigadores del Instituto Tecnológico de Georgia está desarrollando el proyecto de investigación Vortex, que ofrece GPGPU abierto basado en la arquitectura de conjunto de instrucciones RISC-V, diseñado para realizar cálculos paralelos utilizando la API OpenCL y el modelo de ejecución SIMT (Single Instruction, Multiple Threads), así como para llevar a cabo investigaciones en el campo de la gráficos 3D y el desarrollo de nuevas arquitecturas de GPU. El proyecto se encuentra aún en la etapa de prototipo, funcionando con FPGA. Los esquemas, descripciones de bloques de hardware en Verilog, simulador, controladores y la documentación del proyecto se distribuyen bajo la licencia BSD.

En su forma actual, se proporciona una ISA RISC-V típica, ampliada con algunas instrucciones adicionales necesarias para soportar funciones de GPU y gestión de flujos. Durante el desarrollo, los autores del proyecto trataron de minimizar los cambios en la arquitectura del conjunto de instrucciones RISC-V, utilizando, en lo posible, las instrucciones vectoriales ya existentes. Un enfoque similar se aplica también en el proyecto RV64X, que también desarrolla una GPU abierta basada en tecnologías RISC-V.

Vortex - GPGPU abierto basado en la arquitectura RISC-V, compatible con OpenCL

Las capacidades de Vortex para el procesamiento gráfico son aún limitadas. Se ha declarado la implementación de soporte para OpenGL ES en Vortex, pero en la propia GPU solo se ha implementado la instrucción 'tex' para acelerar el procesamiento de texturas, lo que se realiza a nivel del fragment shader. No hay un rasterizador incorporado: todo el procesamiento de operaciones geométricas se realiza en el CPU del sistema, y los primitivos básicos para puntos, líneas y triángulos, así como el procesamiento de fragmentos, profundidad y transparencia, se realiza utilizando el núcleo OpenCL.

Vortex - GPGPU abierto basado en la arquitectura RISC-V, compatible con OpenCL

En el futuro, se planea implementar extensiones específicas para el procesamiento gráfico en la ISA, añadir soporte para las API CUDA y Vulkan, así como extensiones para acelerar sistemas de aprendizaje automático y análisis de datos. Se ofrece un conjunto de herramientas para el desarrollo de aplicaciones, que incluye variantes adaptadas para trabajar con Vortex de PoCL (compilador y runtime OpenCL), LLVM/Clang, GCC y Binutils. Se admite la simulación del funcionamiento del chip utilizando Verilator (simulador Verilog) y SimX (simulación de software).

Vortex - GPGPU abierto basado en la arquitectura RISC-V, compatible con OpenCL

Características principales de Vortex:

  • Soporte para la arquitectura de conjunto de instrucciones RISC-V RV32IMF.
  • Escalabilidad del chip a 64 núcleos con cachés opcionales L2 y L3.
  • Cada núcleo puede ejecutar 1024 hilos y operar a una frecuencia de 250 MHz.
  • La potencia de cálculo máxima se estima en 128 Gflops, y el ancho de banda de memoria es de 16 GB/s. La implementación de 32 núcleos, funcionando a 200 Mhz, basada en FPGA Altera Stratix 10, mostró un rendimiento de 25.6 GFlops.
  • Soporte para el estándar OpenCL 1.2.
  • Posibilidad de implementación en FPGA Intel Arria 10 e Intel Stratix 10.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster