Vortex 2.0 เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰, เป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ” GPGPU เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ RISC-V

เบชเบฐเบšเบฑเบšเบ—เบตเบชเบญเบ‡เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ Vortex เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒ, เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ GPGPU เป€เบ›เบตเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบŠเบธเบ”เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ RISC-V, เบญเบญเบเปเบšเบšเป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป‰เบ‚เบฐเบซเบ™เบฒเบ™เป‚เบ”เบเปƒเบŠเป‰ OpenCL API เปเบฅเบฐเบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” SIMT (เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ”เบฝเบง, เบซเบผเบฒเบเบเบฐเบ—เบนเป‰). เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบ„เป‰เบงเบฒเปƒเบ™เบ‚เบปเบ‡เป€เบ‚เบ”เบ‚เบญเบ‡เบเบฒเบŸเบดเบ 3D เปเบฅเบฐเบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ GPU เปƒเบซเบกเปˆ. เบฎเบนเบšเปเบšเบš, เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบ•เบฑเบ™เบฎเบฒเบ”เปเบงเปƒเบ™เบžเบฒเบชเบฒ Verilog, simulator, เป„เบ”เป€เบงเบต เปเบฅเบฐเป€เบญเบเบฐเบชเบฒเบ™เบเบฒเบ™เบญเบญเบเปเบšเบšเบ—เบตเปˆเบกเบฒเบžเป‰เบญเบกเบเบฑเบšเปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” Apache 2.0.

เบซเบผเบฑเบเบ‚เบญเบ‡ GPGPU เปเบกเปˆเบ™ RISC-V ISA เบ—เบปเปˆเบงเป„เบ›, เบ‚เบฐเบซเบเบฒเบเบ”เป‰เบงเบเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ GPU เปเบฅเบฐเบเบฒเบ™เบ„เบงเบšเบ„เบธเบก thread. เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบŠเบธเบ”เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ RISC-V เป„เบ”เป‰เบ–เบทเบเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบงเป‰เป€เบ›เบฑเบ™เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเปเบฅเบฐ, เป€เบกเบทเปˆเบญเปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ vector เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เปเบกเปˆเบ™เปƒเบŠเป‰เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™ RV64X, เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒ GPU เป€เบ›เบตเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต RISC-V.

 Vortex 2.0 เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰, เป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ” GPGPU เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ RISC-V

เบชเปเบฒเบฅเบฑเบšเบเบฒเบŸเบดเบเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆเป€เบ—เบเป‚เบ™เป‚เบฅเบเบต Vortex, GPU Skybox เป€เบ›เบตเบ”เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Vulkan graphics API. เบ•เบปเป‰เบ™เปเบšเบš Skybox, เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบšเบปเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ Altera Stratix 10 FPGA เปเบฅเบฐเบฅเบงเบกเบ—เบฑเบ‡ 32 cores (512 threads), เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบšเบฑเบ™เบฅเบธเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡ 230 gigapixels เบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต (3.7 gigatransactions เบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต) เบ—เบตเปˆเบ„เบงเบฒเบกเบ–เบตเปˆเบ‚เบญเบ‡ 29.4 MHz. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™ GPU เป€เบ›เบตเบ”เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบกเบตเบŠเบญเบšเปเบงเปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฎเบฒเบ”เปเบงเบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Vulkan.

เบ„เบธเบ™โ€‹เบ™เบฐโ€‹เบชเบปเบกโ€‹เบšเบฑเบ”โ€‹เบ•เบปเป‰เบ™โ€‹เบ•เปโ€‹เบ‚เบญเบ‡ Vortexโ€‹:

  • เบฎเบญเบ‡เบฎเบฑเบš 32- เปเบฅเบฐ 64-bit RISC-V instruction set architectures RV32IMF เปเบฅเบฐ RV64IMAFD.
  • เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เบซเบผเบฑเบโ€‹เบเบฒเบ™โ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบ”เป‰โ€‹, เบ•เบฑเบ™โ€‹เบงเบฝเบโ€‹เบ‡เบฒเบ™ (warpsโ€‹) เปเบฅเบฐโ€‹เบเบฐโ€‹เบ—เบนเป‰โ€‹.
  • เบˆเปเบฒเบ™เบงเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เป„เบ”เป‰เบ‚เบญเบ‡ ALUs, FPUs, LSUs เปเบฅเบฐ SFUs เบ•เปเปˆเบซเบผเบฑเบ.
  • เบ„เบงเบฒเบกเบเบงเป‰เบฒเบ‡เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒเบ—เปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฑเบšเป„เบ”เป‰.
  • เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเปƒเบŠเป‰เบฎเปˆเบงเบกเบเบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบฅเบฐ L1, L2 เปเบฅเบฐ L3 cache.
  • เบฎเบญเบ‡เบฎเบฑเบšเบชเบฐเป€เบžเบฒเบฐ OpenCL 1.2.
  • เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 เปเบฅเบฐ Xilinx Versal VCK5000.
  • เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ‚เบฑเป‰เบ™เบชเบนเบ‡: "tex" เป€เบžเบทเปˆเบญเป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡, vx_rast เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบก rasterization, vx_rop เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบŠเบดเป‰เบ™เบชเปˆเบงเบ™, เบ„เบงเบฒเบกเป€เบฅเบดเบเปเบฅเบฐเบ„เบงเบฒเบกเป‚เบ›เปˆเบ‡เปƒเบช, vx_imadd เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ„เบนเบ™เปเบฅเบฐเป€เบžเบตเปˆเบกเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™, vx_wspawn, vx_tmc เปเบฅเบฐ vx_bar เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‚เบญเบšเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเปเบฅเบฐ wavefronts, เบŠเบธเบ”เบ‚เบญเบ‡เบเบฐเบ—เบนเป‰ เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เป‚เบ”เบ SIMD Engine), vx_split เปเบฅเบฐ vx_join.
  • เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบฅเบฐเบ”เบฑเบšเบ›เบฒเบ™เบเบฒเบ‡เบ‚เบญเบ‡ SPIR-V shaders เปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบœเปˆเบฒเบ™เบเบฒเบ™เปเบ›เป€เบ›เบฑเบ™ OpenCL.
  • เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบต, เบฅเบงเบกเบ—เบฑเบ‡เบ•เบปเบงเปเบ›เบ‚เบญเบ‡ PoCL (compiler เปเบฅเบฐ runtime OpenCL), LLVM/Clang, GCC เปเบฅเบฐ Binutils เบ”เบฑเบ”เปเบ›เบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš Vortex.
  • เบเบฒเบ™เบˆเบณเบฅเบญเบ‡เบŠเบดเบšเปเบกเปˆเบ™เบฎเบญเบ‡เบฎเบฑเบšเป‚เบ”เบเปƒเบŠเป‰ Verilator (Verilog simulator), RTLSIM (เบเบฒเบ™เบˆเบณเบฅเบญเบ‡ RTL) เปเบฅเบฐ SimX (เบเบฒเบ™เบˆเบณเบฅเบญเบ‡เบŠเบญเบšเปเบง).

เปƒเบ™เบšเบฑเบ™เบ”เบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™ Vortex 2.0:

  • เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเบˆเบธเบฅเบฐเบžเบฒเบเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เป€เปเบฒเบฐเบชเบปเบก.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบŠเบธเบ”เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ RISC-V RV64IMAFD 64-bit.
  • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Xilinx FPGA.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš LLVM 16 เปเบฅเบฐ Ubuntu 20.04.
  • เบเบฒเบ™เบชเบฐเบ—เป‰เบญเบ™เบ„เบทเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡เบ—เบตเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเป€เบกเบตเบ™เบ„เบธเบ™เบ™เบฐเบžเบฒเบšเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™