Vortex β€” ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ GPGPU, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° RISC-V, ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с OpenCL

Π“Ρ€ΡƒΠΏΠ° изслСдоватСли ΠΎΡ‚ ВСхнологичния институт Π½Π° ДТордТия Ρ€Π°Π·Π²ΠΈΠ²Π° изслСдоватСлски ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Vortex, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‰ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ GPGPU Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄Π° RISC-V, цСлящ сС Π² ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ изчислСния, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ API OpenCL ΠΈ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° изпълнСниС SIMT (Single Instruction, Multiple Threads), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π² ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° изслСдвания Π² областта Π½Π° 3D Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ‚Π° ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π½ΠΎΠ²ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ Π½Π° GPU. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ всС ΠΎΡ‰Π΅ Π΅ Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ с FPGA. Π‘Ρ…Π΅ΠΌΠΈΡ‚Π΅, описанията Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° Verilog, ΡΠΈΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½Π° докумСнтация сС разпространяват ΠΏΠΎΠ΄ лицСнция BSD.

Π’ тСкущия си Π²ΠΈΠ΄ сС прСдоставя Ρ‚ΠΈΠΏΠΎΠ²ΠΈ ISA RISC-V, Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ с Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ инструкции, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° GPU ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Π΅. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ‚ Π΄Π° свСдат Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ RISC-V, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π΅ възмоТно, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π²Π΅Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΈ инструкции. ПодобСн ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ сС ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° RV64X, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΡ‰ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ GPU Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ RISC-V.

Vortex - ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ GPGPU Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° RISC-V, ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с OpenCL.

Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Vortex Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° всС ΠΎΡ‰Π΅ са ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ. ОбявСно Π΅ рСализацията Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° OpenGL ES Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Vortex, Π½ΠΎ Π² самия GPU всС ΠΎΡ‰Π΅ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° само инструкцията β€žtexβ€œ Π·Π° ускорСниС Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° тСкстури, която сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π½Π° Π½ΠΈΠ²ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅Π½ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€. Π’Π³Ρ€Π°Π΄Π΅Π½ растСризатор липсва β€” всичкитС Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ ΠΎΡ‚ систСмния CPU, Π° основнитС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΈ Π·Π° Ρ‚ΠΎΡ‡ΠΊΠΈ, Π»ΠΈΠ½ΠΈΠΈ ΠΈ Ρ‚Ρ€ΠΈΡŠΠ³ΡŠΠ»Π½ΠΈΡ†ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ, Π΄ΡŠΠ»Π±ΠΎΡ‡ΠΈΠ½Π° ΠΈ прозрачност, са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° OpenCL.

Vortex - ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ GPGPU Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° RISC-V, ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с OpenCL.

Π’ Π±ΡŠΠ΄Π΅Ρ‰Π΅ сС ΠΏΠ»Π°Π½ΠΈΡ€Π° рСализация Π½Π° спСцифични Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π° ISA, добавянС Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° API CUDA ΠΈ Vulkan, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π·Π° ускорСниС Π½Π° систСми Π·Π° машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈ. Π—Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° прилоТСния сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° инструмСнтариум, Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Vortex Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ PoCL (ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ ΠΈ runtime Π½Π° OpenCL), LLVM/Clang, GCC ΠΈ Binutils. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС симулация Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Ρ‡ΠΈΠΏΠ° с Verilator (Verilog симулатор) ΠΈ SimX (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½Π° симулация).

Vortex - ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ GPGPU Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° RISC-V, ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с OpenCL.

Основни характСристики Π½Π° Vortex:

  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ RISC-V RV32IMF.
  • ΠœΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‡ΠΈΠΏΠ° Π΄ΠΎ 64 ядра с ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ кСшовС L2 ΠΈ L3.
  • Всяко ядро ΠΌΠΎΠΆΠ΅ Π΄Π° изпълнява 1024 ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с чСстота 250 MHz.
  • ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°Ρ‚Π° изчислитСлна мощност Π΅ ΠΎΡ†Π΅Π½Π΅Π½Π° Π½Π° 128 Gflops, Π° пропускната способност Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π΅ 16 GB/s. 32-ядрСна рСализация, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° с чСстота 200 MHz, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° FPGA Altera Stratix 10, ΠΏΠΎΠΊΠ°Π·Π° производитСлност ΠΎΡ‚ 25.6 GFlops.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° стандарта OpenCL 1.2.
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° рСализация Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° FPGA Intel Arria 10 ΠΈ Intel Stratix 10.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster