RISC-V arxitekturasiga asoslangan ochiq kodli GPGPU Vortex 3.0 nashr etildi

RISC-V ko'rsatmalar to'plami arxitekturasiga asoslangan ochiq kodli GPGPU ni ishlab chiqadigan va OpenCL API va SIMT (bitta ko'rsatma, bir nechta thread) ijro modelidan foydalangan holda parallel hisoblash uchun mo'ljallangan Vortex 3.0 loyihasi endi mavjud. Loyihadan 3D grafika tadqiqotlari va yangi GPU arxitekturalarini ishlab chiqish uchun ham foydalanish mumkin. Sxemalar, Verilogdagi apparat blok tavsiflari, simulyator, drayverlar va unga qo'shimcha dizayn hujjatlari Apache 2.0 litsenziyasi ostida tarqatiladi.

GPGPU standart RISC-V ISA asosida yaratilgan bo'lib, GPU xususiyatlari va oqimlarni boshqarishni qo'llab-quvvatlash uchun qo'shimcha ko'rsatmalar bilan kengaytirilgan. RISC-V ko'rsatmalar to'plami arxitekturasidagi o'zgarishlar minimal darajada saqlanadi va iloji boricha mavjud vektor ko'rsatmalaridan foydalaniladi. Qo'shimcha ko'rsatmalarga quyidagilar kiradi: teksturani qayta ishlashni tezlashtirish uchun "tex"; rasterizatsiyani boshqarish uchun vx_rast; fragment, chuqurlik va shaffoflikni qayta ishlash uchun vx_rop; ko'paytirish va qo'shish operatsiyalari uchun vx_imadd; SIMD dvigateli tomonidan parallel ravishda bajariladigan oqimlar guruhlarini (to'lqin frontlari) faollashtirish uchun vx_wspawn, vx_split, vx_join, vx_tmc va vx_bar.

Ishlab chiqilayotgan GPGPU 32 va 64 bitli RISC-V RV32IMF va RV64IMAFD ko'rsatmalar to'plami arxitekturalarini qo'llab-quvvatlaydi va ixtiyoriy umumiy xotira, L1, L2 va L3 keshlarini hamda sozlanishi mumkin bo'lgan yadrolar, warplar va oqimlarning sonini o'z ichiga olishi mumkin. Har bir yadro shuningdek, sozlanishi mumkin bo'lgan ALU, FPU, LSU va SFUlarni o'z ichiga olishi mumkin. Xilinx va Altera FPGA prototiplash uchun, Verilator (Verilog simulyatori), RTLSIM (RTL simulyatsiyasi) va SimX (dasturiy ta'minot simulyatsiyasi) esa chip simulyatsiyasi uchun ishlatilishi mumkin.

Ilovalarni ishlab chiqish uchun PoCL (OpenCL kompilyatori va ish vaqti), LLVM/Clang, GCC va Binutils ning Vortex-moslashtirilgan versiyalarini o'z ichiga olgan vositalar to'plami taklif etiladi. Loyiha OpenCL 1.2 spetsifikatsiyasini qo'llab-quvvatlaydi va OpenCL ga tarjima qilish orqali shaderlarning SPIR-V oraliq tasvirini qo'llab-quvvatlaydi.

Vortex 3.0 dagi o'zgarishlar quyidagilarni o'z ichiga oladi:

  • Rasterizatsiya, tekstura xaritalash va chiqishni birlashtirish (OM) uchun bloklarni o'z ichiga olgan apparat grafikasi steki qo'shildi. Amalga oshirilgan grafikalar steki va lavapipe dasturiy rasterizatori asosida Mesa uchun Vulkan drayveri, vortexpipe, ishlab chiqildi.
  • Mashina o'rganish modellarini bajarishni tezlashtirish uchun mo'ljallangan Tensor Core imkoniyatlari kengaytirildi, bu og'irlik matritsalarini siqish uchun strukturaviy siyraklikni qo'llab-quvvatlashni amalga oshirdi.
  • Asinxron rejimda matritsalarni ko'paytirish uchun WGMMA (warpgroup darajasidagi matritsalarni ko'paytirish) operatsiyasi amalga oshirildi.
  • Global xotiradan mahalliy xotiraga ma'lumotlarni uzatishni tezlashtirish uchun DXA (Ma'lumotlarni uzatishni tezlashtirish) mexanizmi qo'shildi.
  • Hisoblash oqimlarini chip tomoniga yuborish imkonini beruvchi buyruq protsessori (CP) va hisoblash yadrolarining apparat rejalashtiruvchisi (KMU - Kernel Management Unit) asosida yangi arxitektura joriy etildi.
  • Bloklanmaydigan rejimda ishlaydigan va asinxron ravishda bajariladigan apparat buyruqlariga aylantiriladigan abstraksiyalarni taqdim etadigan yangi ish vaqti kutubxonasi taklif qilinmoqda. Kelish/kutish/hodisa semantikasi bilan asinxron to'siqlarga asoslangan navbatlar, hodisalar, modullar va sinxronizatsiya qo'llab-quvvatlanadi.
  • RISC-V qisqartirilgan ko'rsatmalari (RVC) uchun qo'llab-quvvatlash qo'shildi.
  • Atom operatsiyalari uchun apparat ta'minoti (Hardware Atomics) joriy etildi.
  • FPU butunlay qayta loyihalashtirildi va yangi multiplikator (Wallace-tree, Folded-radix) va qo'shimcha (Kogge-Stone) bloklari joriy etildi.
  • 32-bitli SV32 virtual manzillash arxitekturasini qo'llab-quvvatlaydigan xotira boshqaruv bloki (MMU) asosida virtual xotira steki qo'shildi.
  • Shartli operatsiyalarni amalga oshirish bilan RISC-V Zicond kengaytmasini qo'llab-quvvatlash.
  • Integratsiyalashgan soat darvozasi.
  • HIP (Heterogeneous Interface for Portability) tilini qo'llab-quvvatlash chipStar freymvorki orqali amalga oshirildi, bu esa HIPni SPIR-V ga tarjima qiladi.
  • GEM5 simulyatori bilan to'liq integratsiya ta'minlandi va TLM (Transaction-Level Modeling) arxitekturasida SimX simulyatorini qo'llab-quvvatlash qo'shildi.
  • Chip ishlab chiqarish uchun mantiqiy sintez uchun Synopsys va Yosys asboblar to'plamlarini, shuningdek, ASAP7 (7nm), SAED14 (14nm) va NanGate (15nm) standart element kutubxonalaridan foydalanishni qo'llab-quvvatlash qo'shildi.
  • Malumot vositalari zanjiri LLVM 20 va POCL 7.0 ga yangilandi.

Manba: opennet.ru

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster