El Barcelona Supercomputing Center-Centro Nacional de Supercomputación (BSC) ha col·laborat amb Codeplay Software i SiFive per oferir suport v0.10 en arquitectures RISC-V en la infraestructura de compilació de codi obert LLVM. Gràcies a aquest suport, els usuaris de RISC-V podran aprofitar les capacitats de càlcul vectorial d'aquesta nova extensió en arquitectures RISC-V a través d'intrínsecs C / C ++.
En aquesta col·laboració, només els resultats científics del BSC han estat finançats pel projecte europeu European Processor Initiative (EPI). L'investigador sènior de l'BSC Roger Ferrer Ibáñez afirma que "les arquitectures de codi obert RISC-V són una bona oportunitat perquè Europa torni a liderar a nivell tecnològic. El nostre treball a EPI té com a objectiu ajudar a construir l'ecosistema necessari per adoptar les arquitectures RISC-V de manera generalitzada en diversos sectors, inclosos aplicacions de la indústria de l'automòbil, així com de la supercomputació. La nova extensió de RISC-V té un paper important que permetrà un major ús d’aquestes arquitectures."
"RVV ha rebut una gran acollida en el món dels acceleradors", afegeix Andrew Richards, fundador i director executiu de Codeplay. "Ja estem construint un ecosistema basat en SYCL sobre aquesta arquitectura per proporcionar eines als programadors d'intel·ligència artificial i supercomputació i aconseguir, d'aquesta manera, una integració ràpida".
A més d'implementar la interfície de programació d'aplicacions (API) per a arquitectures RISC-V amb els intrínsecs per a C, el BSC, Codeplay i SiFive han implementat la base de CodeGen per a la autovectorización de longitud vectorial específica (VLS) i agnòstica de longitud vectorial (VLA) per RISC- V a LLVM.
Els següents recursos estan disponibles mitjançant la plataforma GitHub (només en anglès):
- Support for the v0.10 V-extension specification https://github.com/riscv/riscv-v-spec/releases/tag/v0.10
- Support for the RVV C intrinsics: github.com/riscv/rvv-intrinsic-doc/tree/v0.10
- Implementation of the draft vector calling convention: github.com/riscv/riscv-elf-psabi-doc/pull/171
Es pot descarregar el codi de l’extensió per arquitectures RISC-V aquí (en anglès): github.com/riscv/rvv-intrinsic-doc/blob/master/rvv_saxpy.c
Aquest resultat complementa altres esforços dins del projecte europeu EPI per aprofitar els vectors en biblioteques àmpliament utilitzades; per exemple, el codi de suport de la transformada de Fourier en FFTW3, proporcionat per Atos i SiPearl, que es pot trobar aqui: https://github.com/rdolbeau/fftw3/tree/riscv-v/simd-support
El projecte europeu "European Processor Initiative" ha rebut finançament del programa de recerca i innovació Horitzó 2020 de la Unió Europea en virtut de l'acord de la subvenció núm. 826.647