ZLUDA, pelaksanaan yang membenarkan menjalankan aplikasi CUDA pada GPU AMD

ZLUDA

ZLUDA berjalan pada timbunan ROCm AMD

Berita telah dikeluarkan bahawa AMD telah membuat keputusan untuk menghentikan pembiayaan pembangunan ZLUDA, iaitu pelaksanaan terbuka teknologi CUDA untuk GPU AMD, membolehkan anda menjalankan aplikasi CUDA tanpa mengubah suainya dengan prestasi yang hampir dengan aplikasi yang dijalankan tanpa lapisan tambahan.

Dalam tempoh dua tahun kebelakangan ini, kerja telah dilakukan untuk pembangunan lapisan ini untuk memudahkan pelaksanaan aplikasi CUDA pada sistem dengan GPU AMD. Tetapi sehingga baru-baru ini AMD telah membuat keputusan itu jalankan aplikasi CUDA pada GPU AMD bukan kepentingan komersial, yang membenarkan pemaju membuka pembangunannya seperti yang dipersetujui dalam kontrak.

Mengenai ZLUDA

Projek itu pada mulanya dicipta untuk menyokong kerja CUDA pada GPU Intel dan perubahan dalam dasar sokongan GPU adalah disebabkan oleh fakta bahawa pada mulanya pembangun ZLUDA adalah pekerja Intel. Pada tahun 2021, Intel memutuskan ia tidak berdaya maju secara komersial menyediakan keupayaan untuk menjalankan aplikasi CUDA pada GPU Intel, yang membawa kepada pemberhentian pembangunan inisiatif.

Pada awal 2022, pemaju meninggalkan Intel dan menandatangani kontrak dengan AMD untuk meneruskan pembangunan daripada lapisan keserasian CUDA. Semasa pembangunan, AMD meminta agar kepentingan syarikat dalam projek ZLUDA tidak dipromosikan dan ia tidak komited kepada repositori awam ZLUDA.

ZLUDA menyediakan sokongan binari untuk aplikasi CUDA yang sedia ada disusun dengan pengkompil CUDA untuk GPU NVIDIA, tanpa perlu membuat perubahan pada tahap kod sumber. Pelaksanaan beroperasi pada timbunan ROCm AMD dan masa jalan HIP.

Dalam keadaan sekarang, Tahap kualiti penukaran ZLUDA dianggap sebagai versi alfa. Walaupun perlu dinyatakan bahawa ia sudah mampu menjalankan banyak aplikasi CUDA, selain menyediakan sokongan minimum untuk primitif dan perpustakaan, ia juga mempunyai pelaksanaan prototaip rangka kerja OptiX.

ZLUDA

Carta Perbandingan ZLUDA

Semasa pelaksanaan pertama aplikasi CUDA di bawah kawalan ZLUDA, anda mengalami kelewatan yang ketara kerana ZLUDA menyusun kod untuk GPU. Walau bagaimanapun, pada larian berikutnya kelewatan ini hilang, kerana kod yang disusun dicache, menghasilkan prestasi hampir asli apabila menjalankan kod yang disusun. Sebagai contoh, apabila menjalankan Geekbench pada GPU AMD Radeon 6800 XT, versi berasaskan ZLUDA bagi suite penanda aras CUDA menunjukkan prestasi yang jauh lebih baik daripada versi berasaskan OpenCL.

Di samping itu, disebutkan bahawa sokongan untuk API pemacu CUDA rasmi dan kejuruteraan terbalik bagi API CUDA yang tidak didokumenkan dilaksanakan dalam ZLUDA dengan menggantikan panggilan fungsi dengan fungsi analog yang disediakan dalam masa jalan HIP, yang hampir sama dengan CUDA.

Sebagai contoh, fungsi cuDeviceGetAttribute() digantikan dengan hipDeviceGetAttribute(). ZLUDA juga memastikan keserasian dengan perpustakaan NVIDIA seperti NVML, cuBLAS dan cuSPARSE. Untuk perpustakaan ini, ZLUDA menyediakan perpustakaan terjemahan dengan nama yang sama dan set ciri yang sama, dibina di atas perpustakaan AMD yang serupa. Kod aplikasi GPU, yang disusun dalam perwakilan PTX (Pelaksanaan Benang Selari), diterjemahkan oleh pengkompil khas kepada perwakilan LLVM IR perantaraan, dari mana kod binari untuk GPU AMD dijana.

Akhirnya, harus disebutkan bahawa Masa depan projek bergantung kepada kepentingan masyarakat dan kemungkinan cadangan kerjasama daripada syarikat lain. Tanpa sokongan luar, projek ini akan terus berkembang semata-mata dalam bidang kepentingan peribadi pengarang, seperti DLSS.

Untuk berminat dengan kod projek, anda harus tahu bahawa ia ditulis dalam Rust dan diedarkan di bawah lesen MIT dan Apache 2.0, dan projek itu serasi dengan Linux dan Windows. Jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh merujuk butirannya Dalam 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.