RT cores zabírají ~3 % plochy z Turingu / GeForce RTX
Krátce po vydání generace Turing se v diskuzích často objevoval údaj neznámého původu, podle kterého měla RT cores této architektury zabírat čtvrtinu nebo dokonce třetinu z plochy jader GeForce RTX. Nevím sice, kde se tento údaj vzal (pravděpodobně vznikl dezinterpretací specifikací, protože Nvidia sama žádné informace o podobě RT cores nezveřejnila), ale již tehdy se jevil docela nepravděpodobně, zvlášť s ohledem na kvalifikované odhady plochy, kterou na předchozí architektuře (Volta) zabírala Tensor Cores.
Zatímco Tensor Cores u Volty i s příslušnými registry zabírala asi 3,4 % plochy jádra (pokud mě paměť neklame) a tato 3,4 % měla klíčové využití v profesionální sféře, díky čemuž si Nvidia za Tesly na Voltě postavené mohla dovolit účtovat pohádkové částky, nezdálo se pravděpodobné, že by obětovala 10× tolik plochy (tedy třetinu čipu) pro akceleraci ještě nezavedeného herního efektu.
Jak to opravdu je, pomohly odhalit dvě osoby. Jednak Fritzchens Fritz, známý tvůrce podomácku vytvořených mikrosnímků grafických jader (ale i jiných čipů) a dále Quesa, který provedl analýzu snímků jader Turing TU106 (GeForce RTX 2060, podporuje RTX) a Turing TU116 (GeForce GTX 1160, nepodporuje RTX).
Quesa zjistil, že texturovací jednotky a ROP se mezi oběma čipy dle předpokladu neliší, liší se však TPC, tedy výpočetní bloky (složené z SM bloků a samotných výpočetních jednotek). Rozdíl TPC co do plochy činí 1,95 mm². Z toho 0,7 mm² tvoří RT Cores a ze zbývajících 1,25 mm² padlo 0,25 mm² na větších scheduler + cache, 1 mm² na prvky související s Tensor Cores (z toho asi 0,5 mm² na samotné aritmetické jednotky).
Vezmeme-li si tedy jako příklad GeForce RTX 2080 disponující jádrem TU104 o 545 mm², která disponuje 24 bloky TPC, pak z těchto 545 mm² tvoří (24×0,7=) 16,8 mm² tj. 3,1 % plochy jádra RT Cores, (24×1) = 24 mm² tj. 4,4 % plochy jádra Tensor Cores a (24×0,25) = 6 mm² (tj. 1,1 % plochy jádra) větší cache a scheduler.
Zatímco u Volty tvořila Tensor Cores 3,4 %, u Turingu je to o procento více, 4,4 %. To může souviset jednak s dalšími odlišnostmi architektury (základ 100 % je pro každou architekturu trochu odlišný), tak s faktem, že Tensor Cores u Turingu podporují vyšší výpočetní přesnost než u Volty.
Z těchto čísel je ale především zřejmé, že přítomnost RT Cores má asi 10× nižší nároky na plochu křemíku, než jak předkládala tvrzení v diskuzích při vydání Turingu. Důvod k rozměrům čipů tak pramení spíše ze souboru architektonických vylepšení, která zahrnují zvětšení kapacity L2 cache, doplnění Int32 výpočetních jednotek, zvýšení efektivity rasterizéru a podobně.
Závěrem je třeba říct, že pouhé srovnávání plochy celého jádra TU116 oproti TU106, které se objevovalo po vydání GeForce GTX 1160, může být zavádějící. TU116 se totiž oproti TU106 neliší jen vynechanou pro RTX, ale disponuje i dalšími úpravami, jako třeba zmenšenou L2 cache, která má na plochu jádra vliv, ale s raytracingem přímo nesouvisí. Srovnání podle mikrosnímků dává realitě mnohem bližší výsledky, ale i to může množství křemíku použité pro implementaci RTX mírně nadsazovat. Důvodem je ona naměřená větší plocha cache v rámci TPC u TU106 oproti TU116. Tato cache by totiž měla být podle specifikací co do kapacity stejná. Je tedy možné, že na přípravu TU116, která vyšla později než Turingy s RTX, bylo více času a došlo k určitým optimalizacím návrhu nebo jeho vyčištění.
Jako příklad si lze představit, že první čipy generace Turing (TU102/104/106) měly tuto cache na úrovni TPC nepatrně větší pro redundanci - pokud tedy část cache postihl defekt, mohla být tato část cache deaktivována, aniž by bylo potřeba deaktivovat celý výpočetní blok a omezit tím výkon čipu. V případě menších čipů (TU116) pak mohla být tato redundantní cache odstraněna. Výsledný rozdíl v ploše daný změnou velikosti této cache pak nesouvisí s podporou raytracingu.