Projek VeriGPU mengumumkan pembangunan GPU terbuka

Projek itu VeriGPU diumumkan beberapa hari yang lalu telah mula bekerja untuk membangunkan GPU terbuka, yang bertujuan untuk dibangunkan di bawah bahasa pemodelan dan penerangan sistem elektronik Verilog.

Bagi mereka yang tidak biasa dengan VeriGPU, anda harus tahu bahawa ia diletakkan sebagai Pemproses Khusus Aplikasi (ASIC) yang dioptimumkan untuk mempercepatkan pengiraan yang berkaitan dengan sistem pembelajaran mesin.

cara untuk memulakan, projek sedang dibangunkan menggunakan simulator Verilog, tetapi selepas ia siap, ia boleh digunakan untuk menghasilkan kerepek sebenar.

Pelan termasuk sokongan untuk rangka kerja pembelajaran mendalam PyTorch dan keupayaan untuk membangunkan aplikasi untuk VeriGPU menggunakan API HIP (Heterogenous Computing Interface). Pada masa hadapan, penggabungan sokongan untuk API lain, seperti SYCL dan NVIDIA CUDA, tidak diketepikan.

Penting untuk disebutkan bahawa pembangunan GPU ini ditujukan secara langsung kepada latihan pembelajaran mesin. Jadi ia sepatutnya menyokong rangka kerja pembelajaran mesin semasa seperti PyTorch dan Tensorflow, ini bermakna ia hampir pasti perlu menyokong NVIDIA CUDA atau AMD HIP.

Walaupun disebut juga Saya tahu saya boleh melaksanakan antara muka OpenCL atau SYCL, walaupun sokongan untuk rangka kerja utama adalah terhad pada masa ini. Terdapat rangka kerja pembelajaran mendalam OpenCL khusus dalam DeepCL, tetapi ia mempunyai set lapisan rangkaian saraf yang agak terhad dan kemungkinan topologi rangkaian, berbanding dengan PyTorch dan Tensorflow.

Pada masa ini, kami tidak berhasrat untuk melaksanakan pelaksanaan luar perintah, iaitu memulakan satu arahan sebelum yang sebelumnya dimulakan, kerana ini adalah rumit dalam senario multithreading (SIMT) arahan tunggal, dan kerana ini teras menggunakan lebih banyak kawasan mati. , dan oleh itu lebih sedikit bilangannya (atau lebih mahal).

Sebaliknya, kami akan melaksanakan pelaksanaan arahan selari, di mana kami memulakan arahan semasa arahan sebelumnya masih dilaksanakan. Ini adalah standard dan agak ringan, ia tidak mengambil terlalu banyak kawasan die.

Tiada apa-apa jenis caching sedang dilaksanakan pada masa ini (tiada tahap 1, tiada tahap 2, tiada tahap 3, malah tidak ada caching arahan :P). Memandangkan saya berhasrat untuk membuat GPU, yang mempunyai mekanisme cache yang berbeza daripada CPU, saya akan memikirkan perkara ini sebaik sahaja ia mula kelihatan lebih seperti GPU.

GPU berkembang berdasarkan set arahan RISC-V, tetapi seni bina set arahan GPU dalaman yang terhasil adalah kurang serasi dengan RISC-V ISA, kerana dalam situasi di mana susun atur GPU tidak mematuhi pemaparan RISC-V, selain daripada tidak menetapkan tugas mengekalkan keserasian dengan RISC-V .

Sejak pembangunan menumpukan pada keupayaan yang diperlukan untuk sistem pembelajaran mesin, oleh itu, untuk mengurangkan saiz dan kerumitan tatasusunan cip, hanya format titik terapung BF16 digunakan, dan hanya operasi titik terapung yang diperlukan untuk pembelajaran mesin, seperti exp, log, tanh dan sqrt adalah tersedia.

Antara komponen yang sedia ada, contohnya, pengawal GPU, APU (Unit Pemprosesan Dipercepat) untuk operasi integer («+»,»-«,»/»,»*»), unit untuk operasi titik terapung («+ », »*») dan unit cawangan, serta sokongan untuk pengkompil HIP.

Untuk membuat aplikasi penghimpun dan sokongan untuk menyusun kod C++ disediakan berdasarkan LLVM. Daripada ciri yang dijangkakan, pelaksanaan arahan selari, caching data dan memori arahan, operasi SIMT (Single Instruction Multiple Thread) menonjol.

Akhirnya, sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya mengenai pembangunan GPU sumber terbuka ini, anda harus tahu bahawa perkembangan projek itu diedarkan di bawah lesen MIT dan anda boleh merujuk kod tersebut, serta kemajuan projek dari pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.