10,2 ΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ²
π CUTLASS Tutorial: ΠΡΡΡΡΠΎΠ΅ ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ WGMMA Π½Π° GPU NVIDIA Hopper.
ΠΠΎΠ»ΡΡΠΎΠΉ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΉ ΡΡΡΠΎΡΠΈΠ°Π» Π² 2-Ρ
ΡΠ°ΡΡΡΡ
ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Hopper (H100) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ CUTLASS.
CUTLASS - ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ (ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²) Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° CUDA Π² Π·Π°Π΄Π°ΡΠ°Ρ
Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΡ
ΡΠ°ΡΡΠ΅ΡΠ°Ρ
ΠΈ Π½Π°ΡΡΠ½ΡΡ
ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡΡ
.
βΆοΈΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ WGMMA (asynchronous warpgroup matrix-multiply and accumulate) - ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Β«ΡΠ΄Π΅ΡΠ½ΡΡ
ΠΌΠ°ΡΡΠΈΡΒ» ΠΈ Β«ΠΌΠ°ΡΡΠΈΡΠ½ΡΡ
Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ²Β», ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ WGMMA.
βοΈ ΠΡΠΎΡΠ°Ρ ΡΠ°ΡΡΡ ΠΏΡΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ(GEMM) ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ GEMM-ΡΠ΄ΡΠ° ΠΏΡΡΠ΅ΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π΄Π²Π΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π° : ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΏΠ΅Π½ΡΠ°ΡΡΡ ΠΈ warp-specialization, Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈΡ
ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ CUTLASS Π΄Π»Ρ ΠΈΡ
ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ.
Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΡΠΈΠ°Π»Π° ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π² GEMM-ΡΠ΄ΡΠ°Ρ
Π΄Π»Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Ampere.
#AI #ML #CUTLASS #Tutorial
1 ΠΌΠΈΠ½ΡΡΠ°
24Β ΡΠ΅Π½ΡΡΠ±ΡΡΒ 2024