Talian Khidmat
RISC-V telah menjadi salah satu topik paling hangat dalam pengkomputeran kerana seni bina set arahan (ISA) ini membolehkan penyesuaian yang meluas dan mudah difahami, sebagai tambahan kepada keseluruhan sumber terbuka, faedah tanpa lesen. Malah terdapat projek untuk mereka bentuk GPU tujuan umum berdasarkan RISC-V ISA, dan kini kami menyaksikan pemindahan perpustakaan perisian CUDA Nvidia ke platform Vortex RISC-V GPGPU.
CUDA (Computing Unified Device Architecture) Nvidia mewakili platform pengkomputeran unik dan antara muka pengaturcaraan aplikasi (API) yang berjalan pada barisan kad grafik Nvidia. Apabila aplikasi ditulis untuk sokongan CUDA, sebaik sahaja sistem menemui GPU berasaskan CUDA, ia mendapat banyak pecutan GPU kod.
Hari ini, penyelidik menyiasat cara untuk mendayakan sokongan toolkit perisian CUDA pada projek RISC-V GPGPU yang dipanggil Vortex. Vortex RISC-V GPGPU direka untuk menyediakan GPU RISC-V seluruh sistem berdasarkan ISA RV32IMF. Ini bermakna teras 32-bit boleh berskala daripada reka bentuk GPU 1-teras kepada 32-teras. Ia menyokong API grafik OpenCL 1.2, dan hari ini ia turut menyokong beberapa operasi CUDA.
Penyelidik menerangkan: "...Dalam projek ini, kami mencadangkan dan membina saluran paip untuk menyokong penghijrahan CUDA hujung ke hujung: saluran paip menerima kod sumber CUDA sebagai input dan melaksanakannya pada seni bina GPU RISC-V lanjutan. saluran paip terdiri daripada beberapa langkah: menterjemah kod sumber CUDA kepada NVVM IR, tukar NVVM IR kepada SPIR-V IR, majukan SPIR-V IR kepada POCL untuk mendapatkan binari RISC-V, dan akhirnya laksanakan pada seni bina fail Binari GPU RISC-V yang dilanjutkan. "
Proses ini digambarkan dalam imej di atas, menunjukkan semua langkah untuk menjadikannya berfungsi. Secara ringkas, kod sumber CUDA diwakili dalam format perwakilan perantaraan (IR) yang dipanggil NVVM IR, berdasarkan sumber terbuka LLVM IR. Ia kemudiannya ditukar kepada Standard Portable Intermediate Representation (SPIR-V) IR, yang kemudiannya dimajukan ke dalam pelaksanaan sumber terbuka mudah alih bagi standard OpenCL, dipanggil POCL. Memandangkan Vortex menyokong OpenCL, ia menyediakan kod yang disokong dan boleh melaksanakannya tanpa masalah.
Untuk butiran lanjut tentang proses kompleks ini, klik di bawah untuk membaca artikel asal. Yang penting, anda mesti berterima kasih kepada penyelidik ini atas usaha mereka untuk menjadikan CUDA berjalan pada RISC-V GPGPU. Walaupun ini hanyalah langkah kecil buat masa ini, ia boleh menjadi permulaan era di mana RISC-V digunakan untuk mempercepatkan aplikasi pengkomputeran, sama seperti barisan GPU Nvidia hari ini.
Bacaan lanjutan: Bolehkah RISC-V menukar GPU?
Sesiapa yang telah mempelajari seni bina GPU tahu bahawa ini adalah binaan SIMD bagi pemproses vektor. Ia merupakan pemproses selari yang sangat cekap yang telah digunakan untuk segala-galanya daripada menjalankan simulasi dan permainan yang hebat kepada mengajar robot cara mendapatkan AI dan membantu orang pintar memanipulasi pasaran saham. Ia juga menyemak tatabahasa saya semasa saya menulis ini.
Tetapi medan GPU telah menjadi medan peribadi, dan kerja dalamannya dilakukan oleh IP dan berkesan bekalan pembangun seperti AMD, Intel, dan Nvidia. Bagaimana jika terdapat set arahan grafik baharu yang direka untuk grafik 3D dan pemprosesan media? Nah, mungkin ada.
Arahan baharu sedang dibina pada set arahan vektor asas RISC-V. Mereka akan menambah sokongan untuk jenis data khusus graf baharu sebagai sambungan berlapis dalam semangat teras RISC-V ISA. Menyokong vektor, matematik terdahulu, piksel dan tekstur serta operasi penimbal Z/Frame. Ia boleh menjadi CPU-GPU ISA gabungan. Kumpulan lilibrary - RISC 3D memanggilnya RV64X (Rajah 1) kerana arahan akan menjadi 64 bit panjang (32 bit tidak akan mencukupi untuk menyokong ISA yang teguh).
Kumpulan itu menyatakan bahawa motivasi dan matlamat mereka adalah untuk mencipta reka bentuk yang kecil dan cekap dengan kebolehprograman tersuai dan kebolehlanjutan. Ia harus menyediakan pemilikan dan pembangunan IP kos rendah, bukan bersaing dengan produk komersial. Ia boleh dilaksanakan pada sasaran FPGA dan ASIC serta percuma dan sumber terbuka. Reka bentuk asal menyasarkan mikropengawal kuasa rendah yang akan serasi dengan Khronos Vulkan dan menyokong API lain (OpenGL, DirectX, dll.).
GPU + RISC-V
Pasukan itu berkata: "Tidak perlu menggunakan mekanisme panggilan RPC/IPC untuk menghantar panggilan API 3D ke ruang memori CPU yang tidak digunakan atau ruang memori CPU yang tidak digunakan ke ruang memori GPU dan sebaliknya,"
Kelebihan pendekatan CPU-GPU ISA "menyatu" ialah saluran paip grafik standard boleh digunakan dalam mikrokod, dan pelorek tersuai boleh disokong. Malah boleh memasukkan sambungan pengesanan sinar.
Reka bentuk akan berada dalam format Vblock (daripada usaha GPU Percuma):
- Ia seperti VLIW (tetapi tidak sebenarnya).
- Blok arahan didahului oleh penanda daftar yang menyediakan konteks tambahan untuk arahan skalar dalam blok tersebut.
- Subblok termasuk panjang vektor, putaran, tindanan vektor/lebar dan ramalan.
- Semua ini ditambahkan pada opcode skalar!
- Tiada opcode vektor (tidak memerlukan sebarang).
- Dalam konteks vektor, ia berlaku seperti ini: jika opcode skalar menggunakan daftar, dan daftar itu disenaraikan dalam konteks vektor, maka mod vektor akan diaktifkan.
- Pengaktifan menyebabkan gelung peringkat perkakasan untuk mengeluarkan berbilang operasi skalar berturut-turut (bukannya hanya satu).
- Pelaksana bebas untuk melaksanakan gelung dalam apa jua cara yang mereka mahu - SIMD, berbilang isu, laksana tunggal; hampir apa sahaja.
Vektor RV32-V mengendalikan operasi vektor 8-bit, 16-bit atau 32-bit/elemen bagi 2 hingga 4 elemen. Terdapat juga arahan khusus untuk saluran paip pemaparan grafik 3D umum untuk titik XYZW titik tetap dan terapung 64-bit dan 128-bit. Piksel RGBA 8-, 16-, 24- dan 32-bit; Teks 8-bit, 16-bit UVW setiap komponen; dan tetapan cahaya dan bahan (Ia, ka, Id, kd, Is, ks, dll.).
Vektor atribut diwakili sebagai matriks 4×4. Sistem ini akan menyokong matriks 2×2 dan 3×3 secara asli. Sokongan vektor juga mungkin sesuai untuk simulasi berangka menggunakan jenis data integer 8-bit yang biasa dalam AI dan aplikasi pembelajaran mesin.
Rasterizer tersuai seperti splines, permukaan SubDiv dan patch boleh disertakan dalam reka bentuk. Kaedah ini juga membenarkan kemasukan peringkat saluran paip tersuai, peringkat geometri/piksel/framebuffer tersuai, subpembahagi tersuai dan operasi penetapan tersuai.
RV64X
-
Cache SRAM Arahan/Data (32 kB)
-
Mikrokod SRAM (8 kB)
-
Penyahkod arahan dwi fungsi (berwayar keras untuk RV32V dan X; penyahkod arahan mikrokod untuk ISA tersuai)
-
ALU quad-vektor (32-bit/ALU-fixed/float)
-
Fail daftar 136-bit (1k elemen)
-
unit fungsi khas
-
unit tekstur
-
Framebuffer tempatan boleh dikonfigurasikan
RV64X ialah seni bina berskala (Rajah 2). Kaedah gabungannya adalah baharu, begitu juga penggunaan daftar boleh dikonfigurasikan untuk jenis data tersuai. Mikrokod berasaskan SRAM yang ditentukan pengguna boleh digunakan untuk melaksanakan sambungan seperti peringkat rasterizer tersuai, pengesanan sinar, penglihatan mesin dan pembelajaran mesin. Reka bentuk tunggal boleh digunakan pada mikropengawal grafik yang berdiri sendiri atau penyelesaian berbilang teras dengan unit shader berskala.
Sambungan grafik kepada kebolehskalaan alamat RISC-V dan berbilang bahasa. Ini membolehkan kes penggunaan peringkat lebih tinggi yang membawa kepada lebih banyak inovasi.
apa yang akan datang
Spesifikasi RV64X masih dalam pembangunan awal dan tertakluk kepada perubahan. Forum perbincangan sedang diwujudkan. Matlamat segera adalah untuk membina pelaksanaan contoh menggunakan simulator set arahan. Ini akan dibuka menggunakan IP Sumber dan pelaksanaan FPGA bagi IP tersuai yang direka bentuk sebagai projek sumber terbuka.
Penafian: Artikel ini diterbitkan semula daripada "Pemerhatian Industri Semikonduktor". Artikel ini hanya mewakili pendapat peribadi pengarang, bukan pendapat Sac Micro dan industri, hanya untuk cetakan semula dan perkongsian, sokongan Untuk melindungi hak harta intelek, sila nyatakan sumber asal dan pengarang untuk dicetak semula. Jika terdapat sebarang pelanggaran, sila hubungi kami untuk memadamkannya.




粤公网安备44030002007346号