OpenCL API болон SIMT (Single Instruction, Multiple Threads) гүйцэтгэх загвар ашиглан зэрэгцээ тооцоолол хийх зориулалттай RISC-V зааврын багц архитектурт суурилсан нээлттэй GPGPU-г хөгжүүлсэн Vortex төслийн хоёр дахь хэвлэл хэвлэгдэн гарлаа. Төслийг мөн 3D графикийн чиглэлээр судалгаа хийх, GPU-ийн шинэ архитектурыг боловсруулахад ашиглаж болно. Verilog хэл дээрх схемүүд, техник хангамжийн блокуудын тайлбар, симулятор, драйверууд болон дагалдах дизайны баримт бичгүүдийг Apache 2.0 лицензийн дагуу түгээдэг.
GPGPU-ийн цөм нь ерөнхий RISC-V ISA бөгөөд GPU функц болон урсгалын хяналтыг дэмжихэд шаардлагатай нэмэлт зааварчилгааг агуулсан. Үүний зэрэгцээ RISC-V зааврын багцын архитектурын өөрчлөлтийг хамгийн бага хэмжээнд байлгаж, боломжтой бол одоо байгаа вектор зааварчилгааг ашигладаг. Үүнтэй төстэй аргыг RV64X төсөлд ашигладаг бөгөөд RISC-V технологид суурилсан нээлттэй GPU хөгжүүлдэг.

Vortex технологид суурилсан графикийн хувьд Vulkan график API-г дэмждэг нээлттэй GPU Skybox-ийг боловсруулж байна. Altera Stratix 10 FPGA-ийн үндсэн дээр бүтээгдсэн Skybox прототип нь 32 цөм (512 утас) бүхий 230 МГц давтамжтайгаар секундэд 3.7 гигапиксел (секундэд 29.4 гигатрансакц) дүүргэх боломжтой болсон. Энэ нь Вулканыг дэмждэг программ хангамж, техник хангамж бүхий анхны нээлттэй GPU гэдгийг тэмдэглэжээ.
Vortex-ийн үндсэн шинж чанарууд:
- RV32IMF болон RV64IMAFD 32 ба 64 битийн RISC-V зааврын багц архитектурыг дэмждэг.
- Тохируулах боломжтой цөм, даалгаврын блок (даавуу) болон урсгалын тоо.
- Нэг цөм бүрт ALU, FPU, LSU болон SFU-ийн тохируулж болох тоо.
- Шугам хоолойн өргөнийг тохируулах боломжтой.
- Нэмэлт хуваалцсан санах ой болон L1, L2, L3 кэш.
- OpenCL 1.2 техникийн техникийн дэмжлэг.
- FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 болон Xilinx Versal VCK5000 дээр суурилсан хэрэгжүүлэх боломж.
- Нарийвчилсан заавар: бүтэц боловсруулалтыг хурдасгах "tex", растержилтыг хянах vx_rast, фрагментуудыг зохицуулах vx_rop, гүн ба ил тод байдал, үржүүлэх, нэмэх үйлдлүүдийг гүйцэтгэх vx_imadd, зааврын ирмэг ба долгионы фронтыг идэвхжүүлэх vx_wspawn, vx_tmc болон vx_bar, хэлхээний багц SIMD Engine), vx_split болон vx_join-ээр зэрэгцүүлэн гүйцэтгэнэ.
- SPIR-V шэйдерүүдийн завсрын дүрслэлийг OpenCL руу орчуулах замаар хэрэгжүүлдэг.
- Хэрэглээний хөгжүүлэлтийн хувьд PoCL (эмхэтгэгчийн болон ажиллах цагийн OpenCL), LLVM/Clang, GCC болон Vortex-тэй ажиллахад тохируулсан Binutils-ийн хувилбаруудыг багтаасан багаж хэрэгслийг санал болгож байна.
- Чип симуляцийг Verilator (Verilog симулятор), RTLSIM (RTL симуляц) болон SimX (програм хангамжийн симуляц) ашиглан дэмждэг.
Vortex 2.0-ийн өөрчлөлтүүдийн дунд:
- Бичил архитектурыг оновчтой болгосон.
- 64 битийн RISC-V RV64IMAFD зааварчилгааны архитектурын дэмжлэгийг нэмсэн.
- Xilinx FPGA дээр суурилсан хэрэгжүүлэх боломжийг нэмсэн.
- LLVM 16 болон бусад хувилбаруудад зориулсан дэмжлэг нэмэгдсэн. Ubuntu 20.04.
- Чанарын үнэлгээний явцад илэрсэн согогийг дахин засварлах ажлыг хийж гүйцэтгэсэн.
Эх сурвалж: opennet.ru
