Eine Gruppe von Forschern des Georgia Institute of Technology entwickelt das Forschungsprojekt Vortex, das ein offenes GPGPU auf Basis der RISC-V-Befehlssatzarchitektur anbietet, das auf die AusfĂŒhrung von parallelen Berechnungen mit der OpenCL-API und dem SIMT-AusfĂŒhrungsmodell (Single Instruction, Multiple Threads) abzielt sowie Forschungen im Bereich 3D-Grafik und die Entwicklung neuer GPU-Architekturen durchfĂŒhrt. Das Projekt befindet sich derzeit in der Prototyp-Phase, die mit FPGA arbeitet. SchaltplĂ€ne, Beschreibungen der Hardware-Komponenten in Verilog, Simulator, Treiber und begleitende Projektdokumentation werden unter der BSD-Lizenz verbreitet.
Im aktuellen Zustand wird eine Standard-ISA von RISC-V bereitgestellt, die um einige zusĂ€tzliche Anweisungen erweitert wurde, die zur UnterstĂŒtzung von GPU-Funktionen und dem Thread-Management notwendig sind. Bei der Entwicklung haben die Autoren des Projekts versucht, die Ănderungen an der RISC-V-Befehlssatzarchitektur auf ein Minimum zu reduzieren, indem sie möglichst vorhandene Vektor-Anweisungen verwendeten. Ein Ă€hnlicher Ansatz wird auch im Projekt RV64X verfolgt, das ebenfalls eine offene GPU auf Basis von RISC-V-Technologien entwickelt.

Die GrafikverarbeitungsfĂ€higkeiten von Vortex sind derzeit begrenzt. Es wurde die UnterstĂŒtzung von OpenGL ES auf Basis von Vortex angekĂŒndigt, aber im aktuellen GPU ist bisher nur die Anweisung âtexâ zur Beschleunigung der Texturverarbeitung implementiert, die auf der Ebene des Fragment-Shaders erfolgt. Ein integrierter Rasterisierer fehlt â die gesamte Verarbeitung geometrischer Operationen erfolgt auf der Seite der System-CPU, wĂ€hrend grundlegende Primitiven fĂŒr Punkte, Linien und Dreiecke sowie die Verarbeitung von Fragmenten, Tiefe und Transparenz mit Hilfe des OpenCL-Kerns implementiert sind.

In Zukunft ist geplant, grafikverarbeitungs-spezifische ISA-Erweiterungen zu implementieren, die UnterstĂŒtzung von CUDA- und Vulkan-APIs hinzuzufĂŒgen sowie Erweiterungen zur Beschleunigung von Maschinenlern- und Datenanalyse-Systemen einzufĂŒhren. FĂŒr die Anwendungsentwicklung wird ein Toolkit angeboten, das angepasste PoCL-Varianten (Compiler und Laufzeit fĂŒr OpenCL), LLVM/Clang, GCC und Binutils umfasst. Die Simulation des Chipbetriebs wird mit Verilator (Verilog-Simulator) und SimX (Software-Simulation) unterstĂŒtzt.

Haupmerkmale von Vortex:
- UnterstĂŒtzung der RISC-V Befehlssatzarchitektur RV32IMF.
- Skalierung des Chips auf bis zu 64 Kerne mit optionalen L2- und L3-Caches.
- Jeder Kern kann 1024 Threads ausfĂŒhren und arbeitet mit einer Frequenz von 250 MHz.
- Die maximale Rechenleistung wird auf 128 Gflops geschÀtzt, und die Speicherbandbreite betrÀgt 16 GB/s. Eine 32-Kern-Implementierung, die mit 200 MHz arbeitet, basierend auf FPGA Altera Stratix 10, zeigte eine Leistung von 25,6 GFlops.
- UnterstĂŒtzung des Standards OpenCL 1.2.
- Möglichkeit der Implementierung auf Basis von FPGA Intel Arria 10 und Intel Stratix 10.
Quelle: opennet.ru
