Rilis Blender 3.2 minggu ini menghadirkan dukungan rendering GPU AMD di Linux melalui antarmuka HIP AMD bersama dengan tumpukan komputasi ROCm mereka. Bersemangat untuk melihat dukungan AMD GPU di Linux akhirnya tiba, saya segera mulai mencoba rilis perangkat lunak pemodelan 3D open-source Blender baru ini sambil melihat bagaimana kinerja AMD RDNA2 HIP dibandingkan dengan GPU NVIDIA GeForce RTX 30 yang telah lama menikmati top-dukungan takik di bawah Blender.
Sementara Blender 3.1 membawa dukungan AMD HIP pada Windows, itu tidak terjadi untuk Linux dan hanya sekarang dengan rilis Blender 3.2 minggu ini ada AMD HIP dukungan dengan build Linux Blender. Hal ini memungkinkan akselerasi GPU saat memiliki penyiapan tumpukan komputasi ROCm–sayangnya itu berarti tidak ada dukungan jika hanya menggunakan driver Mesa dan dukungan siap pakai lainnya pada distribusi Linux.
Sebagian besar pengguna Linux, sayangnya, jangan jalankan dengan pengaturan tumpukan ROCm pada saat ini karena perlu mengaturnya secara manual melalui Perangkat Lunak Radeon untuk driver paket Linux atau prosedur instalasi ROCm manual. Meski begitu, dukungan distribusi Linux terbatas. Sudah lebih dari satu bulan sejak rilis Ubuntu 22.04 LTS keluar dan sayangnya masih belum ada dukungan untuk rilis dukungan jangka panjang Ubuntu terbaru ini. Awalnya saya mencoba mengatasinya di Ubuntu 22.04 hanya dengan menginginkan bit ROCm dan tidak khawatir tentang komponen DKMS/Vulkan/OpenGL, tetapi perbedaan paket toolchain GNU dari Ubuntu 20.04 vs. 22.04 membuatnya lebih sakit kepala… Jadi pada sistem pengujian saya baru saja menghapusnya dan kembali membuat instalasi Ubuntu 20.04.
Pada awalnya bahkan di Ubuntu 20.04 LTS saya mengalami masalah juga mendapatkan dukungan AMD HIP diaktifkan untuk Blender. Paket driver di situs AMD adalah untuk komponen Radeon Software 22.10.2 sementara melalui rute instalasi ROCm menghasilkan komponen driver 22.10.3 yang lebih baru. Dengan sedikit mengutak-atik, saya akhirnya berhasil membuat Blender 3.2 bekerja dengan HIP/ROCm! Sayangnya sebagian besar distribusi Linux masih belum mengemas perangkat lunak AMD ROCm karena kerumitannya dan masalah lainnya. Sementara itu AMD memfokuskan dukungan ROCm Linux resmi mereka hanya pada beberapa distribusi Linux perusahaan biasa. Sebagai perbandingan, tumpukan driver berpemilik NVIDIA Linux memiliki dukungan/tersedia hampir universal di seluruh distribusi Linux. Sudah cukup lama sejak terakhir kali saya dapat mengingat sakit kepala apa pun hanya dengan menginstal driver NVIDIA Linux dengan benar.
Tetapi bahkan setelah ROCm bekerja dengan kartu pertama, model RDNA2, itu memunculkan batasan lain… Jangkauan dukungan perangkat GPU yang jauh lebih terbatas dibandingkan dengan dukungan perangkat luas NVIDIA untuk beberapa generasi. Secara resmi, Blender 3.2 bekerja dengan kartu grafis RDNA2 dan RDNA(1) di Linux dengan HIP. Saya dapat menguji semua kartu grafis Radeon RX 6000 (RDNA2) saya yang tersedia dengan Blender 3.2, ya! Tetapi dengan semua kartu grafis yang diuji RDNA1 saya, semuanya menghasilkan Blender 3.2 yang memiliki kesalahan segmentasi. Mencoba kartu grafis pra-RDNA seperti Radeon VII berbasis Vega juga menghasilkan kesalahan segmentasi bahkan dengan kartu grafis Radeon VII yang didukung oleh tumpukan komputasi ROCm.
Jadi untuk putaran pengujian ini saya hanya dapat menunjukkan bagaimana kartu grafis seri Radeon RX 6000 dapat bekerja dengan HIP Blender 3.2 di Linux. Sebagai perbandingan, saya juga menguji semua kartu NVIDIA GeForce RTX 30 yang saya miliki. NVIDIA dengan Blender mendukung jalur CUDA dan OptiX untuk rendering di Linux dengan OptiX menjadi perender pilihan untuk kartu grafis GeForce RTX dan apa yang digunakan untuk perbandingan ini.
Kartu grafis yang saya tolok ukur pada Blender 3.2 mencakup semua kartu RDNA2 dan RTX 30 yang saya miliki (sayangnya, tidak ada seri RX 6900 masih dari AMD):
-Radeon RX 6400
-Radeon RX 6500 XT
-Radeon RX 6600
-Radeon RX 6600 XT
-Radeon RX 6700 XT
-Radeon RX 6750 XT
-Radeon RX 6800
-Radeon RX 6800 XT
-GeForce RTX 3060
-GeForce RTX 3060 Ti
-GeForce RTX 3070
-GeForce RTX 3070 Ti
-GeForce RTX 3080
-GeForce RTX 3080 Ti
-GeForce RTX 3090
Semua pengujian sama Workstation AMD Ryzen 9 5950X yang menjalankan Ubuntu 20.04 LTS dengan kernel Linux 5.13 dan driver AMD/NVIDIA terbaru.
Kabar baiknya adalah back-end AMD HIP untuk Blender bekerja jauh lebih baik daripada back-end OpenCL lama-end yang dijatuhkan di Blender 3.0… The o ld OpenCL back-end tidak terpelihara dengan baik, sering kali menunjukkan penskalaan yang sangat buruk di seluruh GPU, dan hanya rusak. Sayangnya, seperti yang ditunjukkan oleh benchmark Blender 3.2 Linux ini, NVIDIA dengan back-end OptiX-nya jauh lebih cepat. Meskipun menggunakan back-end CUDA dalam beberapa pengujian tambahan masih memberikan kinerja yang relatif lebih baik daripada kartu grafis RDNA2 dengan HIP ini.
Lihat konsumsi daya GPU selama adegan BMW dengan kartu grafis yang berbeda.
Sayangnya kinerja HIP yang buruk tidak terbatas hanya pada satu adegan atau lebih, tetapi secara konsisten menunjukkan kinerja RDNA2 yang buruk terhadap seri NVIDIA RTX 30 pada Blender 3.2 di atas Ubuntu Linux.
Setidaknya untuk sebagian besar CPU desktop, menggunakan back-end Radeon HIP dengan kartu grafis seri Radeon RX 6700/6800/6900 yang lebih tinggi masih akan memberikan kinerja render Blender yang lebih cepat daripada menggunakan rendering berbasis CPU murni.
Setidaknya back-end Radeon HIP akhirnya terbuka di Linux bagi mereka yang ingin menggunakannya. Semoga back-end serta kode ROCm/HIP itu sendiri akan terus matang dengan baik. Pengembang Blender juga masih mengeksplorasi dukungan Vulkan dan peningkatan lainnya yang diharapkan berjalan pada waktunya untuk menawarkan dukungan lintas vendor yang bagus. Intel juga sedang mengerjakan dukungan SYCL + oneAPI untuk Blender untuk akselerasi Intel Arc Graphics.
Setidaknya dukungan Radeon HIP di Blender 3.2 bisa bekerja di Linux dan dengan GPU high-end lebih cepat dari berbasis CPU rendering, tetapi dukungan NVIDIA dengan back-end OptiX dan CUDA terus terbukti unggul pada tahap ini. Sangat disayangkan juga bahwa menyebarkan dukungan perangkat lunak HIP Linux di luar distribusi Linux yang didukung secara resmi oleh AMD dapat menjadi masalah dan lebih dari satu bulan setelah rilis Ubuntu 22.04 LTS, masih belum ada dukungan AMD resmi untuk versi terbaru ini. Ubuntu Linux. Dan juga disayangkan dengan GPU RDNA1 dan sebelumnya saya hanya mendapatkan kesalahan segmentasi dengan Blender 3.2 dimana rentang GPU yang didukung NVIDIA sangat kuat dan mencakup seluruh portofolio mereka selama beberapa generasi.
Terakhir, bagi mereka yang penasaran, di bawah ini adalah lihat konsumsi daya GPU dan data termal untuk seluruh rentang adegan pengujian Blender berbeda yang dijadikan tolok ukur untuk perbandingan Blender 3.2 Linux ini.