Luminal, yapay zeka çıkarım (inference) süreçlerini donanımın fiziksel sınırlarına taşıyarak GPU kullanımını en üst düzeye çıkarmayı hedefleyen bir derleyicidir. Çıkarım performansını sınırlayan iki temel faktör hesaplama gücü (FLOPs) ve bant genişliğidir (TB/s). Luminal, GPU'nun veri yüklemediği veya hesaplama yapmadığı her anın bir israf olduğunu vurgulayarak, mevcut donanım kaynaklarının tam olarak kullanılmasını sağlamayı amaçlar.
Tipik bir transformer katmanının yürütülmesinde karşılaşılan başlıca darboğazlar, kernel başlatma gecikmeleri ve Wave Quantization olarak bilinen SM (Streaming Multiprocessor) eşitsizliğidir. Her kernel bittiğinde ve yenisi başladığında, CPU bir sonraki kerneli başlatırken GPU boşta kalır. CUDA Graphs gibi teknikler bu gecikmeyi kısmen azaltabilse de tamamen ortadan kaldıramaz. Wave Quantization ise, kernel iş yükünün tüm SM'lere eşit dağıtılamaması nedeniyle bazı SM'lerin işi erken bitirip diğerleri tamamlayana kadar beklemesi durumudur. Bu durum, toplam yürütme süresinde önemli boşluklara yol açar. Ayrıca, her kernelin çalışmaya başlamadan önce yeterli ağırlığı yüklemesini beklemesi de gizli bir boşta kalma süresi yaratır.
Luminal, bu sorunları "megakernel" adı verilen bir yaklaşımla çözmeyi önerir. Bu yaklaşım, ince taneli senkronizasyon ve derin işlem hatları (pipelines) kullanarak, matematiksel olarak tam senkronizasyon gerektirmeyen durumlarda (örneğin, döşemeli matris çarpımı) gereksiz beklemeleri ortadan kaldırır. Bu sayede, GPU'nun hesaplama ve bant genişliği kapasitesi sürekli olarak kullanılır, kernel başlatma maliyetleri sıfıra indirilir ve SM'ler arasındaki iş yükü daha verimli dağıtılır. Amaç, pahalı tensor çekirdeklerinin boşta kalmasını engelleyerek donanımın tam potansiyelini ortaya çıkarmaktır.
Yapay zeka modellerinin GPU üzerindeki çıkarım performansını artırmak için kernel başlatma gecikmeleri, SM eşitsizliği ve ağırlık yükleme boşta kalma süreleri gibi darboğazları megakernel'ler ile ortadan kaldırmak, donanım verimliliğini önemli ölçüde yükseltir.