Geçen hafta Natalie Vock tarafından geliştirilen özel bir merge sort algoritması, Mesa 26.3 sürümüne birleştirme isteğiyle dahil edildi. Bu güncelleme, Radeon RADV, Intel ANV, Turnip Adreno ve Lavapipe gibi açık kaynak Vulkan sürücülerini hedefliyor. Algoritma, Morton kod anahtarları için mevcut sıralama yönteminin verimsizliğini gidererek, 512 elemandan küçük veri kümlerinde radix sort’tan daha hızlı çalışıyor.
Tek bir sendiş içinde çalışarak ara bariyerlere gerek kalmaz ve bellek turu (VRAM roundtrip) sayısını azaltarak ortak bellekte sıralama yapar; sadece sıralanmış veriyi yazmak için VRAM’a erişim gerekiyor. Böylece küçük sınır hacimleri (BVH) için ray tracing işlemlerinde bellek kullanımı düşüyor.
Ancak daha büyük problem boyutları için bu merge sort radix sort’tan daha yavaş olabileceği belirtiliyor. Üç ay süren test ve hata düzeltme sürecinin ardından kod birleştirildi, ancak büyük veri kümlerinde performansı iyileştirmek için ek çalışmaların gerektiği vurgulanıyor.
