Akibat Satu Baris Coding, Performa GPU Intel Ambyar

Admin

Para developer Linux telah merilis update untuk driver GPU dari Intel. Update yang dirilis tersebut terbukti menghasilkan peningkatan kinerja ray tracing sebanyak 100 kali lipat. Luar biasa sekali bukan?

Di satu sisi, peningkatan performa yang luar biasa tersebut merupakan sesuatu hal yang sangat signifikan dan perlu dipuji. Tetapi di sisi lain, driver sebelumnya, yang membuat GPU Intel 100 kali lipat lebih lambat dalam ray tracing adalah karena kesalahan pada alokasi memori.


Kabar gembira tersebut muncul di tengah laporan bahwa Intel mulai merilis driver untuk GPU seri Arc mereka untuk Windows. Kabarunya, driver GPU Intel Arc untuk Windows pun masih terdapat bug di dalamnya.



Tak hanya itu, Intel juga mengakui bahwa performa discrete GPU Intel Arc juga masih di bawah standar saat mengguakan application programming interface (API) lawas seperti DirectX 11 di dalam Windows.


Menurut laporan Phoronix, situs berita yang fokus pada informasi dunia Linux, update perbaikan telah muncul untuk Intel Mesa Vulkan driver open source yang diimplementasikan oleh pakar Linux graphic driver engineering, Lionel Landwerlin, Kamis pekan lalu.

Sang developer menyebutkan dalam updatenya, yang sudah tersedia di Mesa 22.2, akan menghasilkan peningkatan 100 kali lipat, dan inin tidak mengada-ngada.

Intel sendiri telah mengupayakan dukungan terhadap Vulkan raytracing sejak akhir 2020. Namun perbaikan pada driver yang muncul kali ini tentunya merupakan kabar gembira. Meski sangat terlambat, namun tentunya lebih baik daripada tidak ada sama sekali.

Padahal, para pengguna yang bahkan bukan developer mungkin dapat memahami apa yang menjadi masalah pada driver sebelumnya.

Seperti diketahui, Vulkan driver akan memastikan bahwa memori sementara (temporary memory) yang digunakan oleh tugas-tugas Vulkan raytracing harus disimpan di memori lokal. Artinya, memori yang sangat cepat yang ada di board discrete graphics alias video memory.

Namun ternyata, ada satu baris kode yang hilang dalam driver versi sebelumnya. Dengan demikian, perintah untuk mengalokasikan memori tersebut tidak diberikan.


Baca juga:


Alhasil, Vulkan driver jadinya menggeser (menulis lalu membaca kembali) data-data raytracing ke memori sistem offboard (bukan yang ada di board VGA), namun RAM yang ada di motherboard yang lebih lambat.

Bayangkan, tugas-tugas dan data-data ray-tracing yang semestinya disimpan di memori video yang ada di VGA malah disimpan di RAM komputer secara terus menerus. Ini sangat memperlambat kinerja ray-tracing secara signifikan.


Dan ternyata, dengan hanya memberikan flag setting pada baris “ANV_BO_ALLOC_LOCAL_MEM” membuat sistem akan menyimpan seluruh pekerjaan ray-tracing di memori VGA. Dan akhirnya, performa ray-tracing pun meningkat 100 kali lipat.

Ironis sekali bukan? Ternyata masalahnya sangat simpel.