Megakernels - gigantyczne, ręcznie zoptymalizowane jądra GPU łączące wiele operacji AI - są uważane za martwe technologie w produkcyjnym wdrażaniu systemów inference'u. Nie ma poważnych dostawców usług inference'u używających 67-tysięcznych linii kodu kerneli forward pass, a zespoły podejmujące taki wysiłek robią to wyłącznie w celach badawczych.
Historyczna motywacja do tworzenia megakernels była jasna: oszczędzenie czasu na launch overhead i zmniejszenie problemów z niedostatecznym wykorzystaniem GPU. Jednak współczesne rozwiązania takie jak scheduler Rubin'a rozwiązują te problemy znacznie praktyczniej. Rubin umożliwia uruchamianie części drugiego kernela, zanim pierwszy w pełni się zakończy, gdy pierwsze GPU skończą swoją pracę, eliminując potrzebę rocznego pisania kodu optymalizacyjnego.
Praktyczne ograniczenia sprawiają, że nawet doskonały megakernel ma zbyt mało korzyści. Operacje takie jak attention czy softmax wymagają komunikacji między GPU - gdy połowa macierzy znajduje się na jednym GPU a połowa na drugim, muszą najpierw wymieniać wyniki pośrednie, zanim będą mogły przeprowadzić nieliniowe transformacje. Te fundamentalne wymagania architektoniczne sprawiają, że fusja kerneli uderza w ścianę granic fizycznych, niezależnie od jakości optymalizacji.