Slovník výrazov AI/Hardvér a efektívny výpočet

Hardvér a efektívny výpočet

optimalizácia jadra

Anglický výraz kernel optimization

pokročiléheslo č. 14355 otázok a odpovedí2 odborné zdroje

Presná definícia

Čo znamená optimalizácia jadra?

Optimalizácia jadra upravuje nízkoúrovňovú implementáciu operácie pre konkrétny procesor, tvary a dátové typy. Zahŕňa tiling, vektorizáciu, koalesované prístupy, využitie cache, paralelizáciu a výber algoritmu.

Skúsenosť a kontext

Ako sa pojem používa v praxi

Tím profiluje najpomalší attention kernel, mení tile size a počet threadov a overí dosiahnuté TFLOP/s, bandwidth aj numerickú zhodu.

Overiteľnosť

Odborné zdroje

  1. NVIDIA - CUDA Programming Guidedocs.nvidia.com
  2. OpenXLA - XLA:GPU architecture overviewopenxla.org

Praktické odpovede

Často kladené otázky

Čo presne znamená optimalizácia jadra?

Optimalizácia jadra upravuje nízkoúrovňovú implementáciu operácie pre konkrétny procesor, tvary a dátové typy.

Kedy sa optimalizácia jadra používa?

Tím profiluje najpomalší attention kernel, mení tile size a počet threadov a overí dosiahnuté TFLOP/s, bandwidth aj numerickú zhodu.

Od čoho treba optimalizácia jadra odlíšiť?

Operator fusion mení hranice medzi operáciami. Kernel optimization zrýchľuje vykonanie konkrétneho výsledného jadra.

Ako sa optimalizácia jadra kontroluje?

Kontroluje sa occupancy, register pressure, shared memory, memory coalescing, launch config, dtype, correctness a viac tvarov vstupu.

Aké obmedzenie má optimalizácia jadra?

Jadro naladené na jeden tvar alebo GPU môže byť pomalšie inde a agresívna optimalizácia môže zmeniť poradie float operácií.