Está disponible Vortex 2.2, GPGPU abierto basado en la arquitectura RISC-V

Se ha publicado la versión 2.2 del proyecto Vortex, que desarrolla un GPGPU basado en la arquitectura de conjunto de instrucciones RISC-V, diseñado para llevar a cabo cálculos paralelos utilizando la API OpenCL y el modelo de ejecución SIMT (Single Instruction, Multiple Threads). El proyecto también puede ser utilizado para investigaciones en el campo de la gráfica 3D y en el desarrollo de nuevas arquitecturas de GPU. Los esquemas, descripciones de bloques de hardware en Verilog, simuladores, controladores y documentación del proyecto relevante se distribuyen bajo la licencia Apache 2.0.

La base del GPGPU es un ISA RISC-V común, ampliado con algunas instrucciones adicionales necesarias para respaldar funciones de GPU y gestionar flujos. Al mismo tiempo, los cambios en la arquitectura del conjunto de instrucciones RISC-V se han minimizado y, cuando es posible, se utilizan instrucciones vectoriales existentes. Entre las instrucciones adicionales se encuentran: «tex» para acelerar el procesamiento de texturas, vx_rast para administrar la rasterización, vx_rop para el procesamiento de fragmentos, profundidad y transparencia, vx_imadd para realizar la operación de «multiplicar y sumar», vx_wspawn, vx_tmc y vx_bar para activar los frentes de instrucciones y los flujos en ellos (wavefront, conjunto de hilos ejecutados en paralelo por el SIMD Engine), vx_split y vx_join.

Está disponible Vortex 2.2, GPGPU abierto basado en la arquitectura RISC-V

El GPGPU en desarrollo soporta arquitecturas de conjunto de instrucciones RISC-V de 32 y 64 bits, RV32IMF y RV64IMAFD, y puede incluir memoria compartida opcional, cachés de los niveles L1, L2 y L3, así como un número configurable de núcleos, bloques de tareas (warps) y flujos. A su vez, para cada núcleo se prevé la posibilidad de habilitar un número configurable de ALU, FPU, LSU y SFU. Para la creación de prototipos se pueden utilizar FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 y Xilinx Versal VCK5000. Para simular el funcionamiento del chip se pueden usar Verilator (simulador Verilog), RTLSIM (simulación RTL) y SimX (simulación de software).

Para el desarrollo de aplicaciones, se ofrece un conjunto de herramientas que incluye versiones adaptadas para trabajar con Vortex, como PoCL (compilador y runtime OpenCL), LLVM/Clang, GCC y Binutils. El proyecto mantiene la especificación OpenCL 1.2 y, a través de la traducción a OpenCL, implementa soporte para la representación intermedia de shaders SPIR-V. Para gráficos en tecnologías Vortex, se desarrolla el GPU abierto Skybox, que soporta la API gráfica Vulkan. El prototipo de Skybox, creado sobre la base de FPGA Altera Stratix 10 e incluyendo 32 núcleos (512 hilos), logró una tasa de llenado de 3.7 gigapíxeles por segundo (29.4 gigatransacciones por segundo) a una frecuencia de 230 MHz.

Entre los cambios en la versión Vortex 2.2:

  • Se añadió la API vx_spawn_taskgroups para lanzar núcleos que soportan la ejecución segmentada de tareas 3D.
  • Se agregó soporte para ZICOND, una extensión de la arquitectura del conjunto de instrucciones RISC-V que permite la ejecución condicional de operaciones sin bifurcaciones.
  • El compilador OpenCL se ha cambiado para la programación de la ejecución a nivel de hilos individuales (thread-level, donde cada hilo ejecuta su tarea independientemente de otros), en lugar de grupos de tareas (warp-level) como era antes.
  • Se añadió soporte JIT para compilación y núcleos de 64 bits en OpenCL.
  • Se implementó el soporte para la carga dinámica de Vortex runtime.
  • Se presentó nueva documentación para la configuración de FPGA Xilinx.
  • Se incluyó la prueba de síntesis de lógica utilizando las herramientas Yosys.
  • En operaciones jerárquicas de flush y en el modo write-back, se garantizó el soporte para caché.
  • Se optimizó la velocidad de verificación de scoreboard y el manejo de operandos a nivel de transferencia de registros (RTL, Register Transfer Level).
  • Se añadió soporte para el simulador de memoria DRAM Ramulator 2.0.
  • Se realizó la transición al uso de nuevas versiones de Verilator 5.0 (simulador SystemVerilog) y LLVM 18.0, además de actualizar las herramientas basadas en CentOS 7.9.
  • Se utilizó el servicio GitHub CI en lugar del sistema de integración continua Travis CI.

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