Proyek ZLUDA Menggandakan Tim Pengembangan dan Mencapai Kemajuan Besar dalam Memecah Eksklusivitas CUDA NVIDIA

Tim Editorial BigGo
Proyek ZLUDA Menggandakan Tim Pengembangan dan Mencapai Kemajuan Besar dalam Memecah Eksklusivitas CUDA NVIDIA

Proyek open-source ZLUDA , yang bertujuan menjalankan kode CUDA NVIDIA pada GPU non- NVIDIA , mengalami kebangkitan signifikan setelah hampir tutup tahun lalu. Teknologi translation layer ini merupakan terobosan potensial dalam memecah hambatan eksklusivitas perangkat keras yang telah lama mendominasi komputasi GPU, khususnya dalam beban kerja AI.

Ekspansi Tim Pengembangan Mempercepat Kemajuan

Perkembangan paling signifikan untuk ZLUDA adalah ekspansi tim pengembangan inti dari satu menjadi dua pengembang penuh waktu. Pengembang kedua, yang dikenal sebagai Violet , bergabung dengan proyek kurang dari sebulan lalu namun telah memberikan kontribusi substansial, khususnya dalam memajukan dukungan untuk beban kerja large language model. Penggandaan sumber daya pengembangan ini langsung diterjemahkan menjadi kemajuan yang lebih cepat di berbagai front, mulai dari perbaikan bug hingga implementasi fitur baru.

Pertumbuhan Tim Pengembangan:

  • Ukuran tim sebelumnya: 1 pengembang penuh waktu
  • Ukuran tim saat ini: 2 pengembang penuh waktu
  • Pengembang baru ( Violet ) bergabung: Kurang dari 1 bulan yang lalu
  • Area fokus: Beban kerja LLM, dukungan PhysX, peningkatan akurasi

Terobosan dalam Pengujian Kompatibilitas LLM

Para pengembang ZLUDA telah bekerja intensif pada kompatibilitas dengan llm.c, sebuah proyek uji yang mencoba menjalankan model GPT-2 menggunakan CUDA . Ini merupakan pertama kalinya ZLUDA menangani fungsi CUDA standar dan pustaka khusus seperti cuBLAS secara bersamaan. Program uji membuat 8.186 panggilan terpisah ke fungsi CUDA di 44 API berbeda. Meskipun percobaan awal menghasilkan crash langsung, perbaikan terkini telah memungkinkan sistem berhasil memproses 552 panggilan sebelum gagal. Tim telah menyelesaikan dukungan untuk 16 dari 44 fungsi yang diperlukan, menandai kemajuan substansial menuju kompatibilitas penuh.

Progres Pengujian ZLUDA LLM.c:

  • Total panggilan fungsi CUDA: 8,186
  • Jumlah API yang berbeda: 44
  • Panggilan yang berhasil diproses: 552 (sebelum kegagalan)
  • Dukungan fungsi yang selesai: 16 dari 44 fungsi yang diperlukan

Peningkatan Akurasi Melalui Pengujian Ketat

Implementasi ZLUDA saat ini telah membuat kemajuan signifikan dalam mencapai eksekusi bit-accurate di berbagai arsitektur GPU. Tim pengembangan kini menggunakan tes 'sweep' PTX , yang secara sistematis memverifikasi bahwa setiap kombinasi instruksi dan modifier menghasilkan hasil identik dengan perangkat keras NVIDIA . Proses validasi ketat ini telah mengungkap dan menyelesaikan beberapa cacat compiler, memastikan bahwa instruksi kompleks seperti instruksi cvt kini memberikan hasil bit-accurate.

Peningkatan Teknis:

  • Implementasi eksekusi akurat-bit
  • Tes 'sweep' PTX untuk validasi instruksi
  • Sistem logging yang ditingkatkan untuk penangkapan aktivitas yang lebih luas
  • Perbaikan kompatibilitas ROCm/HIP v6.4
  • Pengembangan dukungan PhysX 32-bit (sedang berlangsung)

Kemajuan pada Dukungan Gaming Legacy

Pekerjaan telah dimulai untuk mengaktifkan dukungan PhysX 32-bit, yang krusial untuk kompatibilitas dengan game berbasis CUDA lama. Seorang kontributor komunitas memulai upaya ini dengan mengumpulkan log CUDA terperinci, yang mengungkap beberapa bug yang dapat memengaruhi fungsionalitas CUDA 32-bit dan 64-bit. Meskipun dukungan PhysX 32-bit penuh masih memerlukan kontribusi komunitas tambahan, isu-isu yang teridentifikasi telah ditambahkan ke roadmap pengembangan resmi.

Peningkatan Logging dan Kompatibilitas Runtime

Sistem logging ZLUDA telah menerima upgrade komprehensif, kini menangkap rentang aktivitas GPU yang jauh lebih luas yang sebelumnya tidak terlihat. Logging yang ditingkatkan mencakup jejak terperinci dari perilaku internal, seperti interaksi cuBLAS dengan cuBLASLt dan komunikasi cuDNN dengan Driver API tingkat rendah. Selain itu, tim telah menyelesaikan masalah kompatibilitas dengan ROCm / HIP versi 6.4 AMD , yang memperkenalkan perubahan application binary interface signifikan yang menyebabkan ZLUDA memanggil operasi yang salah.

Implikasi Lebih Luas untuk Komputasi GPU

Kemajuan proyek ZLUDA berpotensi membentuk ulang lanskap komputasi GPU dengan memecah monopoli efektif NVIDIA pada aplikasi berbasis CUDA . Dengan CUDA NVIDIA yang tetap sebagian besar tidak dapat diakses oleh produsen GPU lain dan AMD yang fokus pada stack ROCm -nya, ZLUDA dapat berfungsi sebagai jembatan krusial antara ekosistem perangkat keras yang berbeda. Kesuksesan dalam upaya ini akan memungkinkan peneliti dan pengembang AI memanfaatkan perangkat keras dari berbagai vendor tanpa terkunci dalam ekosistem NVIDIA , berpotensi mendorong inovasi dan kompetisi di pasar GPU.