Vortex 3.0 āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™ GPGPU āđ‚āļ­āđ€āļžāđˆāļ™āļ‹āļ­āļĢāđŒāļŠāļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ RISC-V āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāđ€āļœāļĒāđāļžāļĢāđˆāđāļĨāđ‰āļ§

āđ‚āļ„āļĢāļ‡āļāļēāļĢ Vortex 3.0 āļ‹āļķāđˆāļ‡āļžāļąāļ’āļ™āļē GPGPU āđāļšāļšāđ‚āļ­āđ€āļžāļ™āļ‹āļ­āļĢāđŒāļŠāļšāļ™āļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡ RISC-V āđāļĨāļ°āļ­āļ­āļāđāļšāļšāļĄāļēāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļšāļšāļ‚āļ™āļēāļ™āđ‚āļ”āļĒāđƒāļŠāđ‰ API OpenCL āđāļĨāļ°āđ‚āļĄāđ€āļ”āļĨāļāļēāļĢāļ—āļģāļ‡āļēāļ™ SIMT (Single Instruction, Multiple Threads) āļžāļĢāđ‰āļ­āļĄāđƒāļŠāđ‰āļ‡āļēāļ™āđāļĨāđ‰āļ§ āđ‚āļ„āļĢāļ‡āļāļēāļĢāļ™āļĩāđ‰āļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļīāļˆāļąāļĒāļāļĢāļēāļŸāļīāļ 3 āļĄāļīāļ•āļīāđāļĨāļ°āļāļēāļĢāļžāļąāļ’āļ™āļēāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ GPU āđƒāļŦāļĄāđˆāđ„āļ”āđ‰āļ­āļĩāļāļ”āđ‰āļ§āļĒ āđāļœāļ™āļœāļąāļ‡āļ§āļ‡āļˆāļĢ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒāļšāļĨāđ‡āļ­āļāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāđƒāļ™ Verilog āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡ āđ„āļ”āļĢāđ€āļ§āļ­āļĢāđŒ āđāļĨāļ°āđ€āļ­āļāļŠāļēāļĢāļāļēāļĢāļ­āļ­āļāđāļšāļšāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđ€āļœāļĒāđāļžāļĢāđˆāļ āļēāļĒāđƒāļ•āđ‰āđƒāļšāļ­āļ™āļļāļāļēāļ• Apache 2.0

GPGPU āđƒāļŠāđ‰āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡ RISC-V āļĄāļēāļ•āļĢāļāļēāļ™ āđ‚āļ”āļĒāđ€āļžāļīāđˆāļĄāļ„āļģāļŠāļąāđˆāļ‡āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāđ€āļžāļ·āđˆāļ­āļĢāļ­āļ‡āļĢāļąāļšāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ‚āļ­āļ‡ GPU āđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđ€āļ˜āļĢāļ” āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡ RISC-V āļ™āļąāđ‰āļ™āļĄāļĩāļ™āđ‰āļ­āļĒāļ—āļĩāđˆāļŠāļļāļ” āđāļĨāļ°āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āđ€āļ§āļāđ€āļ•āļ­āļĢāđŒāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđāļĨāđ‰āļ§āđ€āļĄāļ·āđˆāļ­āđƒāļ”āļāđ‡āļ•āļēāļĄāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰ āļ„āļģāļŠāļąāđˆāļ‡āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒ: "tex" āļŠāļģāļŦāļĢāļąāļšāđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļžāļ·āđ‰āļ™āļœāļīāļ§; vx_rast āļŠāļģāļŦāļĢāļąāļšāļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāđāļĢāļŠāđ€āļ•āļ­āļĢāđŒāđ„āļĢāđ€āļ‹āļŠāļąāļ™; vx_rop āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļŸāļĢāļāđ€āļĄāļ™āļ•āđŒ āļ„āļ§āļēāļĄāļĨāļķāļ āđāļĨāļ°āļ„āļ§āļēāļĄāđ‚āļ›āļĢāđˆāļ‡āđƒāļŠ; vx_imadd āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ„āļđāļ“āđāļĨāļ°āļšāļ§āļ; vx_wspawn, vx_split, vx_join, vx_tmc āđāļĨāļ° vx_bar āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™āļāļĨāļļāđˆāļĄāđ€āļ˜āļĢāļ” (wavefronts) āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āđāļšāļšāļ‚āļ™āļēāļ™āđ‚āļ”āļĒ SIMD Engine

GPGPU āļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļžāļąāļ’āļ™āļēāļ­āļĒāļđāđˆāļ™āļĩāđ‰āļĢāļ­āļ‡āļĢāļąāļšāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡ RISC-V RV32IMF āđāļĨāļ° RV64IMAFD āđāļšāļš 32 āđāļĨāļ° 64 āļšāļīāļ• āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļĢāļ§āļĄāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļĢāđˆāļ§āļĄ (shared memory), āđāļ„āļŠ L1, L2 āđāļĨāļ° L3 (āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāđ€āļŠāļĢāļīāļĄ) āđāļĨāļ°āļˆāļģāļ™āļ§āļ™āļ„āļ­āļĢāđŒ, āļ§āļēāļĢāđŒāļ› āđāļĨāļ°āđ€āļ˜āļĢāļ”āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ„āļ”āđ‰ āđāļ•āđˆāļĨāļ°āļ„āļ­āļĢāđŒāļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āļĢāļ§āļĄāļˆāļģāļ™āļ§āļ™ ALU, FPU, LSU āđāļĨāļ° SFU āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđ„āļ”āđ‰ āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ FPGA āļ‚āļ­āļ‡ Xilinx āđāļĨāļ° Altera āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ•āđ‰āļ™āđāļšāļš āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ Verilator (āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡ Verilog), RTLSIM (āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡ RTL) āđāļĨāļ° SimX (āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ) āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļˆāļģāļĨāļ­āļ‡āļŠāļīāļ›

āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļĄāļĩāļŠāļļāļ”āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđƒāļŦāđ‰āđ€āļĨāļ·āļ­āļāđƒāļŠāđ‰ āļ‹āļķāđˆāļ‡āļĢāļ§āļĄāļ–āļķāļ‡ PoCL (āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒāđāļĨāļ°āļĢāļąāļ™āđ„āļ—āļĄāđŒ OpenCL) āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ—āļĩāđˆāļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ‚āđ‰āļēāļāļąāļš Vortex, LLVM/Clang, GCC āđāļĨāļ° Binutils āđ‚āļ„āļĢāļ‡āļāļēāļĢāļ™āļĩāđ‰āļĢāļ­āļ‡āļĢāļąāļšāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ” OpenCL 1.2 āđāļĨāļ°āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļŠāļ™āļąāļšāļŠāļ™āļļāļ™āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨāļĢāļ°āļ”āļąāļšāļāļĨāļēāļ‡ SPIR-V āļ‚āļ­āļ‡āđ€āļŠāđ€āļ”āļ­āļĢāđŒāļœāđˆāļēāļ™āļāļēāļĢāđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™ OpenCL

āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđƒāļ™ Vortex 3.0 āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒ:

  • āļĄāļĩāļāļēāļĢāđ€āļžāļīāđˆāļĄāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļāļĢāļēāļŸāļīāļāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒ āļ‹āļķāđˆāļ‡āļĢāļ§āļĄāļ–āļķāļ‡āļšāļĨāđ‡āļ­āļāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđāļĢāļŠāđ€āļ•āļ­āļĢāđŒāđ„āļĢāđ€āļ‹āļŠāļąāļ™ āļāļēāļĢāđāļĄāļ›āļžāļ·āđ‰āļ™āļœāļīāļ§ āđāļĨāļ°āļāļēāļĢāļĢāļ§āļĄāđ€āļ­āļēāļ•āđŒāļžāļļāļ• (OM) āđ„āļ”āļĢāđ€āļ§āļ­āļĢāđŒ Vulkan āļŠāļ·āđˆāļ­ vortexpipe āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļēāļŠāļģāļŦāļĢāļąāļš Mesa āđ‚āļ”āļĒāļ­āļīāļ‡āļˆāļēāļāļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāļāļĢāļēāļŸāļīāļāļ—āļĩāđˆāļ™āļģāļĄāļēāđƒāļŠāđ‰āļ‡āļēāļ™āđāļĨāļ°āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđāļĢāļŠāđ€āļ•āļ­āļĢāđŒāđ„āļĢāđ€āļ‹āļ­āļĢāđŒ lavapipe
  • āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ‚āļ­āļ‡ Tensor Core āļ‹āļķāđˆāļ‡āļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­āđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ‚āļĄāđ€āļ”āļĨāļāļēāļĢāđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļ‚āļ­āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡ āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ‚āļĒāļēāļĒāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ āđ‚āļ”āļĒāđ€āļžāļīāđˆāļĄāļāļēāļĢāļĢāļ­āļ‡āļĢāļąāļšāļ„āļ§āļēāļĄāđ€āļšāļēāļšāļēāļ‡āđ€āļŠāļīāļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļšāļĩāļšāļ­āļąāļ”āđ€āļĄāļ—āļĢāļīāļāļ‹āđŒāļ™āđ‰āļģāļŦāļ™āļąāļ
  • āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢ WGMMA (warpgroup-level matrix multiplication) āđ„āļ”āđ‰āļ–āļđāļāļ™āļģāļĄāļēāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ„āļđāļ“āđ€āļĄāļ—āļĢāļīāļāļ‹āđŒāđƒāļ™āđ‚āļŦāļĄāļ”āļ­āļ°āļ‹āļīāļ‡āđ‚āļ„āļĢāļ™āļąāļŠ
  • āđ€āļžāļīāđˆāļĄāļāļĨāđ„āļ DXA (Data Transfer Acceleration) āđ€āļžāļ·āđˆāļ­āđ€āļĢāđˆāļ‡āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđƒāļ™āļāļēāļĢāļ–āđˆāļēāļĒāđ‚āļ­āļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļŠāđˆāļ§āļ™āļāļĨāļēāļ‡āđ„āļ›āļĒāļąāļ‡āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļ āļēāļĒāđƒāļ™
  • āļĄāļĩāļāļēāļĢāļ™āļģāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāđƒāļŦāļĄāđˆāļĄāļēāđƒāļŠāđ‰āđ‚āļ”āļĒāļ­āļīāļ‡āļˆāļēāļāļ•āļąāļ§āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ„āļģāļŠāļąāđˆāļ‡ (CP) āđāļĨāļ°āļ•āļąāļ§āļˆāļąāļ”āļ•āļēāļĢāļēāļ‡āđ€āļ§āļĨāļēāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļ‚āļ­āļ‡āļ„āļ­āļĢāđŒāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ (KMU - Kernel Management Unit) āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļŠāđˆāļ‡āđ€āļ˜āļĢāļ”āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ„āļ›āļĒāļąāļ‡āļāļąāđˆāļ‡āļŠāļīāļ›āđ„āļ”āđ‰
  • āļĄāļĩāļāļēāļĢāđ€āļŠāļ™āļ­āđ„āļĨāļšāļĢāļēāļĢāļĩāļĢāļąāļ™āđ„āļ—āļĄāđŒāđƒāļŦāļĄāđˆāļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āđƒāļ™āđ‚āļŦāļĄāļ”āđ„āļĄāđˆāļšāļĨāđ‡āļ­āļāđāļĨāļ°āđƒāļŦāđ‰āđāļ™āļ§āļ„āļīāļ”āđ€āļŠāļīāļ‡āļ™āļēāļĄāļ˜āļĢāļĢāļĄāļ—āļĩāđˆāđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™āļ„āļģāļŠāļąāđˆāļ‡āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļ—āļĩāđˆāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāđāļšāļšāļ­āļ°āļ‹āļīāļ‡āđ‚āļ„āļĢāļ™āļąāļŠ āļĢāļ­āļ‡āļĢāļąāļšāļ„āļīāļ§ āđ€āļŦāļ•āļļāļāļēāļĢāļ“āđŒ āđ‚āļĄāļ”āļđāļĨ āđāļĨāļ°āļāļēāļĢāļ‹āļīāļ‡āđ‚āļ„āļĢāđ„āļ™āļ‹āđŒāđ‚āļ”āļĒāđƒāļŠāđ‰āļ•āļąāļ§āļāļąāđ‰āļ™āđāļšāļšāļ­āļ°āļ‹āļīāļ‡āđ‚āļ„āļĢāļ™āļąāļŠāļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđāļšāļš arrive/wait/event
  • āđ€āļžāļīāđˆāļĄāļāļēāļĢāļĢāļ­āļ‡āļĢāļąāļšāļ„āļģāļŠāļąāđˆāļ‡āļĒāđˆāļ­ RISC-V (RVC)
  • āđ„āļ”āđ‰āļĄāļĩāļāļēāļĢāļ™āļģāļĢāļ°āļšāļšāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļĄāļēāđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāđāļšāļšāļ­āļ°āļ•āļ­āļĄāļīāļ (Hardware Atomics) āđāļĨāđ‰āļ§
  • āļŦāļ™āđˆāļ§āļĒāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĻāļ™āļīāļĒāļĄ (FPU) āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ­āļ­āļāđāļšāļšāđƒāļŦāļĄāđˆāļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđāļĨāļ°āļĄāļĩāļāļēāļĢāļ™āļģāļšāļĨāđ‡āļ­āļāļ•āļąāļ§āļ„āļđāļ“āđƒāļŦāļĄāđˆ (Wallace-tree, Folded-radix) āđāļĨāļ°āļšāļĨāđ‡āļ­āļāļ•āļąāļ§āļšāļ§āļāđƒāļŦāļĄāđˆ (Kogge-Stone) āđ€āļ‚āđ‰āļēāļĄāļēāđƒāļŠāđ‰
  • āđ€āļžāļīāđˆāļĄāļŠāđāļ•āđ‡āļāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđ€āļŠāļĄāļ·āļ­āļ™āđ‚āļ”āļĒāļ­āļīāļ‡āļ•āļēāļĄāļŦāļ™āđˆāļ§āļĒāļˆāļąāļ”āļāļēāļĢāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ (MMU) āļ‹āļķāđˆāļ‡āļĢāļ­āļ‡āļĢāļąāļšāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāđāļ­āļ”āđ€āļ”āļĢāļŠāđ€āļŠāļĄāļ·āļ­āļ™ SV32 āđāļšāļš 32 āļšāļīāļ•
  • āļĢāļ­āļ‡āļĢāļąāļšāļŠāđˆāļ§āļ™āļ‚āļĒāļēāļĒ RISC-V Zicond āļžāļĢāđ‰āļ­āļĄāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāđāļšāļšāļĄāļĩāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚
  • āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļˆāļąāļ‡āļŦāļ§āļ°āļŠāļąāļāļāļēāļ“āļ™āļēāļŽāļīāļāļēāđāļšāļšāļšāļđāļĢāļ“āļēāļāļēāļĢ
  • āļāļēāļĢāļĢāļ­āļ‡āļĢāļąāļšāļ āļēāļĐāļē 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

āļ‹āļ·āđ‰āļ­āđ‚āļŪāļŠāļ•āļīāđ‰āļ‡āļ—āļĩāđˆāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āđ„āļ”āđ‰āļŠāļģāļŦāļĢāļąāļšāđ„āļ‹āļ•āđŒāļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļ›āđ‰āļ­āļ‡āļāļąāļ™ DDoS āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒ VPS VDS ðŸ”Ĩ āļ‹āļ·āđ‰āļ­āļšāļĢāļīāļāļēāļĢāđ€āļ§āđ‡āļšāđ‚āļŪāļŠāļ•āļīāđ‰āļ‡āļ—āļĩāđˆāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āđ„āļ”āđ‰ āļžāļĢāđ‰āļ­āļĄāļĢāļ°āļšāļšāļ›āđ‰āļ­āļ‡āļāļąāļ™ DDoS āđāļĨāļ°āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒ VPS/VDS | ProHoster