Найти Ρ‚Π΅ΠΌΡƒ
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 ΠΌΠΈΠ½ΡƒΡ‚Π°