ะะพัััะฟะตะฝ ะฒัะฟััะบ ะฟัะพะตะบัะฐ Vortex 3.0, ัะฐะทะฒะธะฒะฐััะตะณะพ ะพัะบััััะน GPGPU ะฝะฐ ะฑะฐะทะต ะฐัั ะธัะตะบัััั ะฝะฐะฑะพัะฐ ะบะพะผะฐะฝะด RISC-V, ัะฐัััะธัะฐะฝะฝัะน ะฝะฐ ะฒัะฟะพะปะฝะตะฝะธะต ะฟะฐัะฐะปะปะตะปัะฝัั ะฒััะธัะปะตะฝะธะน ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ API OpenCL ะธ ะผะพะดะตะปะธ ะฒัะฟะพะปะฝะตะฝะธั SIMT (Single Instruction, Multiple Threads). ะัะพะตะบั ัะฐะบะถะต ะผะพะถะตั ะฑััั ะธัะฟะพะปัะทะพะฒะฐะฝ ะฟัะธ ะฟัะพะฒะตะดะตะฝะธะธ ะธััะปะตะดะพะฒะฐะฝะธะน ะฒ ะพะฑะปะฐััะธ 3D-ะณัะฐัะธะบะธ ะธ ะฟัะธ ัะฐะทัะฐะฑะพัะบะต ะฝะพะฒัั ะฐัั ะธัะตะบััั GPU. ะกั ะตะผั, ะพะฟะธัะฐะฝะธั ะฐะฟะฟะฐัะฐัะฝัั ะฑะปะพะบะพะฒ ะฝะฐ ัะทัะบะต Verilog, ัะธะผัะปััะพั, ะดัะฐะนะฒะตัั ะธ ัะพะฟััััะฒัััะฐั ะฟัะพะตะบัะฝะฐั ะดะพะบัะผะตะฝัะฐัะธั ัะฐัะฟัะพัััะฐะฝััััั ะฟะพะด ะปะธัะตะฝะทะธะตะน Apache 2.0.
ะัะฝะพะฒั GPGPU ัะพััะฐะฒะปัะตั ัะธะฟะพะฒะพะน ISA RISC-V, ัะฐััะธัะตะฝะฝัะน ะดะพะฟะพะปะฝะธัะตะปัะฝัะผะธ ะธะฝััััะบัะธัะผะธ ะดะปั ะฟะพะดะดะตัะถะบะธ ััะฝะบัะธะน GPU ะธ ัะฟัะฐะฒะปะตะฝะธั ะฟะพัะพะบะฐะผะธ. ะะทะผะตะฝะตะฝะธั ะฒ ะฐัั ะธัะตะบัััะต ะฝะฐะฑะพัะฐ ะบะพะผะฐะฝะด RISC-V ัะฒะตะดะตะฝั ะบ ะผะธะฝะธะผัะผั ะธ ะฟะพ ะฒะพะทะผะพะถะฝะพััะธ ะธัะฟะพะปัะทััััั ัะถะต ะธะผะตััะธะตัั ะฒะตะบัะพัะฝัะต ะธะฝััััะบัะธะธ. ะกัะตะดะธ ะดะพะฟะพะปะฝะธัะตะปัะฝัั ะธะฝััััะบัะธะน: ยซtexยป ะดะปั ััะบะพัะตะฝะธั ะพะฑัะฐะฑะพัะบะธ ัะตะบัััั; vx_rast ะดะปั ัะฟัะฐะฒะปะตะฝะธั ัะฐััะตัะธะทะฐัะธะตะน, vx_rop ะดะปั ะพะฑัะฐะฑะพัะบะธ ััะฐะณะผะตะฝัะพะฒ, ะณะปัะฑะธะฝั ะธ ะฟัะพะทัะฐัะฝะพััะธ; vx_imadd ะดะปั ะฒัะฟะพะปะฝะตะฝะธั ะพะฟะตัะฐัะธะธ ยซัะผะฝะพะถะธัั ะธ ัะปะพะถะธััยป; vx_wspawn, vx_split, vx_join, vx_tmc ะธ vx_bar ะดะปั ะฐะบัะธะฒะฐัะธะธ ะณััะฟะฟ ะฟะพัะพะบะพะฒ (wavefront), ะฟะฐัะฐะปะปะตะปัะฝะพ ะฒัะฟะพะปะฝัะตะผัั SIMD Engine.

ะ ะฐะทะฒะธะฒะฐะตะผัะน GPGPU ะฟะพะดะดะตัะถะธะฒะฐะตั 32- ะธ 64-ัะฐะทััะดะฝัะต ะฐัั ะธัะตะบัััั ะฝะฐะฑะพัะฐ ะบะพะผะฐะฝะด RISC-V RV32IMF ะธ RV64IMAFD, ะธ ะผะพะถะตั ะฒะบะปััะฐัั ะพะฟัะธะพะฝะฐะปัะฝัั ัะฐะทะดะตะปัะตะผัั ะฟะฐะผััั, ะบััะธ ััะพะฒะฝะตะน L1, L2 ะธ L3, ะฐ ัะฐะบะถะต ะฝะฐัััะฐะธะฒะฐะตะผะพะต ัะธัะปะพ ัะดะตั, ะฑะปะพะบะพะฒ ะทะฐะดะฐั (warps) ะธ ะฟะพัะพะบะพะฒ. ะ ัะฒะพั ะพัะตัะตะดั ะดะปั ะบะฐะถะดะพะณะพ ัะดัะฐ ะฟัะตะดััะผะพััะตะฝะฐ ะฒะพะทะผะพะถะฝะพััั ะฒะบะปััะตะฝะธั ะฝะฐัััะฐะธะฒะฐะตะผะพะณะพ ัะธัะปะฐ ALU, FPU, LSU ะธ SFU. ะะปั ัะพะทะดะฐะฝะธั ะฟัะพัะพัะธะฟะพะฒ ะผะพะณัั ะธัะฟะพะปัะทะพะฒะฐัััั FPGA Xilinx ะธ Altera, ะฐ ะดะปั ัะธะผัะปััะธะธ ัะฐะฑะพัั ัะธะฟะฐ ะฟัะธะผะตะฝััััั Verilator (Verilog-ัะธะผัะปััะพั), RTLSIM (ัะธะผัะปััะธั RTL) ะธ SimX (ะฟัะพะณัะฐะผะผะฝะฐั ัะธะผัะปััะธั).
ะะปั ัะฐะทัะฐะฑะพัะบะธ ะฟัะธะปะพะถะตะฝะธะน ะฟัะตะดะปะฐะณะฐะตััั ะธะฝััััะผะตะฝัะฐัะธะน, ะฒะบะปััะฐััะธะน ะฐะดะฐะฟัะธัะพะฒะฐะฝะฝัะต ะดะปั ัะฐะฑะพัั ั Vortex ะฒะฐัะธะฐะฝัั PoCL (ะบะพะผะฟะธะปััะพั ะธ runtime OpenCL), LLVM/Clang, GCC ะธ Binutils. ะัะพะตะบัะพะผ ะฟะพะดะดะตัะถะธะฒะฐะตััั ัะฟะตัะธัะธะบะฐัะธั OpenCL 1.2 ะธ ัะตัะตะท ััะฐะฝัะปััะธั ะฒ OpenCL ัะตะฐะปะธะทะพะฒะฐะฝะฐ ะฟะพะดะดะตัะถะบะฐ ะฟัะพะผะตะถััะพัะฝะพะณะพ ะฟัะตะดััะฐะฒะปะตะฝะธั ัะตะนะดะตัะพะฒ SPIR-V.
ะกัะตะดะธ ะธะทะผะตะฝะตะฝะธะน ะฒ Vortex 3.0:
- ะะพะฑะฐะฒะปะตะฝ ะฐะฟะฟะฐัะฐัะฝัะน ะณัะฐัะธัะตัะบะธะน ััะตะบ, ะฒะบะปััะฐััะธะน ะฑะปะพะบะธ ะดะปั ัะฐััะตัะธะทะฐัะธะธ, ะฝะฐะปะพะถะตะฝะธั ัะตะบัััั ะธ ัะปะธัะฝะธั ะฒัะฒะพะดะฐ (OM โ Output Merger). ะะปั Mesa ะฝะฐ ะฑะฐะทะต ัะตะฐะปะธะทะพะฒะฐะฝะฝะพะณะพ ะณัะฐัะธัะตัะบะพะณะพ ััะตะบะฐ ะธ ะฟัะพะณัะฐะผะผะฝะพะณะพ ัะฐััะตัะธะทะฐัะพัะฐ lavapipe ะฟะพะดะณะพัะพะฒะปะตะฝ Vulkan-ะดัะฐะนะฒะตั vortexpipe.
- ะ ะฐััะธัะตะฝั ะฒะพะทะผะพะถะฝะพััะธ ัะตะฝะทะพัะฝะพะณะพ ัะดัะฐ, ะฟัะตะดะฝะฐะทะฝะฐัะตะฝะฝะพะณะพ ะดะปั ััะบะพัะตะฝะธั ะฒัะฟะพะปะฝะตะฝะธั ะผะพะดะตะปะตะน ะผะฐัะธะฝะฝะพะณะพ ะพะฑััะตะฝะธั, ะฒ ะบะพัะพัะพะผ ัะตะฐะปะธะทะพะฒะฐะฝะฐ ะฟะพะดะดะตัะถะบะฐ ััััะบัััะฝะพะน ัะฐะทัะตะถัะฝะฝะพััะธ (structured sparsity) ะดะปั ัะถะฐัะธั ะฒะตัะพะฒัั ะผะฐััะธั.
- ะ ะตะฐะปะธะทะพะฒะฐะฝะฐ ะพะฟะตัะฐัะธั WGMMA (warpgroup-level matrix multiplication) ะดะปั ัะผะฝะพะถะตะฝะธั ะผะฐััะธั ะฒ ะฐัะธะฝั ัะพะฝะฝะพะผ ัะตะถะธะผะต.
- ะะพะฑะฐะฒะปะตะฝ ะดะฒะธะถะพะบ DXA (Data Transfer Acceleration) ะดะปั ััะบะพัะตะฝะธั ะฟะตัะตะดะฐัะธ ะดะฐะฝะฝัั ะธะท ะณะปะพะฑะฐะปัะฝะพะน ะฒ ะปะพะบะฐะปัะฝัั ะฟะฐะผััั.
- ะ ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฝะพะฒะฐั ะฐัั ะธัะตะบัััะฐ ะฝะฐ ะฑะฐะทะต ะฟัะพัะตััะพัะฐ ะบะพะผะฐะฝะด (CP, Command Processor) ะธ ะฐะฟะฟะฐัะฐัะฝะพะณะพ ะฟะปะฐะฝะธัะพะฒัะธะบะฐ ะฒััะธัะปะธัะตะปัะฝัั ัะดะตั (KMU โ Kernel Management Unit), ะฟะพะทะฒะพะปัััะฐั ะฒัะฝะตััะธ ะฝะฐ ััะพัะพะฝั ัะธะฟะฐ ะพะฟะตัะฐัะธะธ ะดะธัะฟะตััะตัะธะทะฐัะธะธ ะฒััะธัะปะธัะตะปัะฝัั ะฟะพัะพะบะพะฒ.
- ะัะตะดะปะพะถะตะฝะฐ ะฝะพะฒะฐั runtime-ะฑะธะฑะปะธะพัะตะบะฐ, ัะฐะฑะพัะฐััะฐั ะฒ ะฝะตะฑะปะพะบะธััััะตะผ ัะตะถะธะผะต ะธ ะฟัะตะดะพััะฐะฒะปัััะฐั ะฐะฑัััะฐะบัะธะธ, ััะฐะฝัะปะธััะตะผัะต ะฒ ะฐะฟะฟะฐัะฐัะฝัะต ะฐัะธะฝั ัะพะฝะฝะพ ะฒัะฟะพะปะฝัะตะผัะต ะบะพะผะฐะฝะดั. ะะพะดะดะตัะถะธะฒะฐัััั ะพัะตัะตะดะธ, ัะพะฑััะธั, ะผะพะดัะปะธ ะธ ัะธะฝั ัะพะฝะธะทะฐัะธั ะฝะฐ ะฑะฐะทะต ะฐัะธะฝั ัะพะฝะฝัั ะฑะฐััะตัะพะฒ ั ัะตะผะฐะฝัะธะบะพะน arrive/wait/event.
- ะะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ ัะบะพัะพัะตะฝะฝัั ะธะฝััััะบัะธะน RISC-V (RVC).
- ะ ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฐะฟะฟะฐัะฐัะฝะฐั ะฟะพะดะดะตัะถะบะฐ ะฐัะพะผะฐัะฝัั ะพะฟะตัะฐัะธะน (Hardware Atomics).
- ะะพะปะฝะพัััั ะฟะตัะตัะฐะฑะพัะฐะฝ FPU ะธ ะฟัะตะดะปะพะถะตะฝั ะฝะพะฒัะต ะฑะปะพะบะธ ัะผะฝะพะถะธัะตะปะตะน (Wallace-tree, Folded-radix) ะธ ััะผะผะฐัะพัะพะฒ (Kogge-Stone).
- ะะพะฑะฐะฒะปะตะฝ ััะตะบ ะฒะธัััะฐะปัะฝะพะน ะฟะฐะผััะธ ะฝะฐ ะฑะฐะทะต ะฑะปะพะบะฐ ัะฟัะฐะฒะปะตะฝะธั ะฟะฐะผัััั (MMU) ั ะฟะพะดะดะตัะถะบะพะน 32-ะฑะธัะฝะพะน ะฐัั ะธัะตะบัััั ะฒะธัััะฐะปัะฝะพะน ะฐะดัะตัะฐัะธะธ SV32.
- ะะพะดะดะตัะถะบะฐ RISC-V ัะฐััะธัะตะฝะธั Zicond c ัะตะฐะปะธะทะฐัะธะตะน ััะปะพะฒะฝัั ะพะฟะตัะฐัะธะน.
- ะะฝัะตะณัะธัะพะฒะฐะฝะพ ัะฟัะฐะฒะปะตะฝะธะต ัะฐะบัะพะฒะพะน ัะฐััะพัะพะน (clock gating).
- ะ ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฟะพะดะดะตัะถะบะฐ ัะทัะบะฐ HIP (Heterogeneous Interface for Portability) ัะตัะตะท ััะตะนะผะฒะพัะบ chipStar, ััะฐะฝัะปะธััััะธะน HIP ะฒ SPIR-V.
- ะะฑะตัะฟะตัะตะฝะฐ ะฟะพะปะฝะพัะตะฝะฝะฐั ะธะฝัะตะณัะฐัะธั ั ัะธะผัะปััะพัะพะผ GEM5 ะธ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ ัะธะผัะปััะพัะฐ SimX ะฝะฐ ะฐัั ะธัะตะบัััะต TLM (Transaction-Level Modeling).
- ะะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ ะธะฝััััะผะตะฝัะฐัะธะตะฒ Synopsys ะธ Yosys ะดะปั ัะธะฝัะตะทะฐ ะปะพะณะธะบะธ ะดะปั ะฟัะพะธะทะฒะพะดััะฒะฐ ัะธะฟะพะฒ, ะฐ ัะฐะบะถะต ะฟะพะดะดะตัะถะบะฐ ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะฑะธะฑะปะธะพัะตะบ ััะฐะฝะดะฐััะฝัั ัะปะตะผะตะฝัะพะฒ ASAP7 (7nm), SAED14 (14nm) ะธ NanGate (15nm).
- ะญัะฐะปะพะฝะฝัะน ะธะฝััััะผะตะฝัะฐัะธะน ะพะฑะฝะพะฒะปัะฝ ะดะพ LLVM 20 ะธ POCL 7.0.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru
