Februari 25, 2024

Bejagadget

Ikuti perkembangan terkini Indonesia di lapangan dengan berita berbasis fakta Beja Gadget, cuplikan video eksklusif, foto, dan peta yang diperbarui.

AMD diam-diam mendanai implementasi CUDA yang dibangun di atas ROCm: sekarang bersifat open source

AMD diam-diam mendanai implementasi CUDA yang dibangun di atas ROCm: sekarang bersifat open source

Meskipun AMD telah melakukan upaya selama bertahun-tahun untuk mempermudah porting basis kode yang menargetkan API CUDA NVIDIA agar berjalan di atas HIP/ROCm, hal ini masih memerlukan kerja keras dari pihak pengembang. Alat-alat telah ditingkatkan seperti HIPIFY untuk membantu pembuatan otomatis tetapi ini bukanlah solusi yang sederhana, instan, dan sangat mudah – terutama jika Anda mencari kinerja optimal. Selama beberapa tahun terakhir, AMD diam-diam mendanai upaya untuk mencapai kompatibilitas biner sehingga banyak implementasi NVIDIA CUDA dapat berjalan di atas paket AMD ROCm tingkat perpustakaan – sebuah alternatif yang mudah digunakan tanpa harus mengadaptasi kode sumber. . Dalam praktiknya untuk banyak beban kerja dunia nyata, ini adalah solusi bagi pengguna akhir untuk menjalankan perangkat lunak berkemampuan CUDA tanpa intervensi pengembang apa pun. Di bawah ini adalah informasi lebih lanjut tentang proyek “skunkworks” yang sekarang tersedia sebagai open source bersama dengan beberapa pengujian dan tolok ukur kinerja saya untuk implementasi CUDA yang dirancang untuk GPU Radeon.

Dari beberapa tahun yang lalu, Anda mungkin ingat ZLUDA yang didedikasikan untuk mengaktifkan dukungan CUDA pada grafis Intel. Proyek sumber terbuka ini bertujuan untuk menyediakan implementasi CUDA yang mudah digunakan pada grafis Intel yang dibangun pada Intel oneAPI Level Zero. ZLUDA dihentikan karena alasan pribadi tetapi ternyata pengembang di baliknya (yang juga bekerja di Intel pada saat itu), Andrzej Janik, dipekerjakan oleh AMD pada tahun 2022 untuk secara efektif mengadaptasi ZLUDA untuk digunakan pada GPU AMD dengan HIP/Rookm. Sebelum membuat kontrak dengan AMD, Intel sedang mempertimbangkan untuk mengembangkan ZLUDA. Namun, mereka akhirnya menolak gagasan tersebut dan tidak menyediakan dana untuk proyek tersebut.

READ  Kolektor retro dituduh menjual barang palsu senilai $100.000

GPU Radeon dengan CUDA-Z di Linux

Andrzej Janik telah menghabiskan dua tahun terakhir menghadirkan ZLUDA ke GPU Radeon dan berhasil: Banyak program CUDA dapat dijalankan di HIP/ROCm tanpa modifikasi apa pun – atau operasi lain… jalankan saja binari seperti biasa untuk memastikan perpustakaan ZLUDA adalah Unduh alternatif CUDA. Untuk alasan yang tidak saya ketahui, AMD memutuskan tahun ini untuk berhenti mendanai upaya ini dan tidak merilisnya sebagai produk perangkat lunak apa pun. Namun kabar baiknya adalah ada klausul jika hal itu terjadi: Janek dapat melakukan open source terhadap karyanya jika/ketika kontraknya habis.

Berkomitmen pada Radeon ZLUDA Git

Andrzej Janik telah menghubungi dan memberikan akses ke implementasi ZLUDA baru untuk AMD ROCm agar saya dapat menguji dan melakukan benchmark sebelum pengumuman publik yang direncanakan hari ini. Saya mengujinya selama beberapa hari dan hasilnya adalah pengalaman positif: perangkat lunak berkemampuan CUDA sudah berjalan di atas ROCm dan tanpa perubahan apa pun. Bahkan penyaji berpemilik dan sejenisnya bekerja dengan implementasi “CUDA on Radeon”.

Meskipun ZLUDA tidak 100% aman dari kegagalan, karena dukungan NVIDIA OptiX tidak didukung sepenuhnya, beberapa fitur seperti program yang tidak menggunakan kode perakitan PTX saat ini tidak ditangani. Namun sering kali penerapan ini secara mengejutkan mampu dilakukan sendirian oleh pengembang.

Perpustakaan Radeon Zloda

Bagi mereka yang bertanya-tanya apakah kode ini open source, kode ini memiliki lisensi ganda di bawah Apache 2.0 atau MIT. Penggemar Rust akan senang mengetahui bahwa bahasa pemrograman Rust telah dimanfaatkan dalam implementasi Radeon ini.

Catatan: Dalam tangkapan layar saya dan pengembangan selama 2 tahun terakhir, nama perangkat yang diekspos ke GPU Radeon melalui CUDA adalah “Perangkat Grafis” dan bukan adaptor grafis AMD Radeon sebenarnya dengan ROCm. Hal ini disebabkan oleh hasil pelaporan otomatis benchmark CUDA dan perangkat lunak lain yang mungkin berisi telemetri otomatis, jadi untuk menghindari bocornya fakta bahwa GPU Radeon digunakan dalam CUDA, GPU tersebut disetel ke string “perangkat grafis” generik. Saya telah diberitahu sebagai bagian dari open source hari ini untuk ZLUDA pada Radeon Code bahwa perubahan tersebut akan diterapkan untuk mengekspos seri kartu grafis Radeon yang sebenarnya daripada concealer “Perangkat Grafis” yang umum.

READ  Bung menghabiskan $6000 untuk Diablo Immortal, dan tidak mendapatkan Epic Gems