17 сСнтября 2020

πŸ’  Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρƒ для Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ обучСния

ΠŸΠΈΡˆΡƒ ΠΎΠ± IT ΠΈ Π½Π° Python. kungurov.net
Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρƒ ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ машинного обучСния ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Β«ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈΒ». Π£Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π½Π΅ стоит ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ, ΠΈΠ· Ρ‡Π΅Π³ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ кластСр ΠΈ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ скромном Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π΅.
πŸ’  Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρƒ для Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ обучСния

1. Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ЦП ΠΈ Π“ΠŸ

Рис. 1. АрхитСктура Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора (слСва) ΠΈ графичСского процСссора
Рис. 1. АрхитСктура Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора (слСва) ΠΈ графичСского процСссора

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор (ЦП) Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ выполнСния большого количСства простых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ графичСский процСссор (Π“ΠŸ):

  • Π“ΠŸ состоит ΠΈΠ· мноТСства Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎ-логичСских устройств (АЛУ);
  • бо́льшая Ρ‡Π°ΡΡ‚ΡŒ транзисторов ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π΅ занимаСтся ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ;
  • процСсс создания, управлСния ΠΈ удалСния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² происходит эффСктивнСС, Ρ‡Π΅ΠΌ Ρƒ ЦП.
Рис. 2. Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ сравнСния скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора («рисуСт» смайлик) ΠΈ графичСского процСссора («рисуСт» ΠœΠΎΠ½Ρƒ Π›ΠΈΠ·Ρƒ)
Рис. 2. Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ сравнСния скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора («рисуСт» смайлик) ΠΈ графичСского процСссора («рисуСт» ΠœΠΎΠ½Ρƒ Π›ΠΈΠ·Ρƒ)

2. Устройство Π“ΠŸ

2.1. CUDA

ГрафичСский процСссор состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° нСзависимых ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

  • CUDA-ядра;
  • ΠΌΠΎΠ΄ΡƒΠ»ΠΈ вычислСния матСматичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ SFU;
  • ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€;
  • Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ кэш.
Рис. 3. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° графичСского процСссора
Рис. 3. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° графичСского процСссора

На ΠΎΠ΄Π½ΠΎΠΌ ядрС CUDA (Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний ΠΎΡ‚ NVIDIA) выполняСтся ΠΎΠ΄Π½Π° Π½ΠΈΡ‚ΡŒ, ΠΈΠ½Π°Ρ‡Π΅ – ΠΏΠΎΡ‚ΠΎΠΊ. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΠΎΡ‚ΠΎΠΊΡƒ соотвСтствуСт ΠΎΠ΄ΠΈΠ½ элСмСнт вычисляСмых Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΡ‚ΠΎΠΊΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой Ρ‡Π΅Ρ€Π΅Π·:

ΠŸΡ€ΠΈ частотС 1 Π“Π“Ρ† процСссор Π΄Π΅Π»Π°Π΅Ρ‚ 109 Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² сСкунду. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ Ρ†ΠΈΠΊΠ», поэтому создаСтся ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€, Π³Π΄Π΅ для Π½Π°Ρ‡Π°Π»Π° Π½ΠΎΠ²ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ окончания ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ.

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚Π°ΠΊΡ‚Π΅ выполняСт ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π½Π°Π΄ Π²Π°Ρ€ΠΏΠΎΠΌ (warp) – Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ ΠΈΠ· 32 ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². ΠŸΠΎΡ‚ΠΎΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΏΠ° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π±Π»ΠΎΠΊΡƒ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΠΎΡ‚ΠΎΠΊΡƒ ΠΈ Π±Π»ΠΎΠΊΡƒ присваиваСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ – Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ цСлочислСнный Π²Π΅ΠΊΡ‚ΠΎΡ€:

  • threadIdx – Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π² Π±Π»ΠΎΠΊΠ΅;
  • blockIdx – Π½ΠΎΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится ΠΏΠΎΡ‚ΠΎΠΊ.
Рис. 4. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½ΠΈΡ‚Π΅ΠΉ Π² CUDA
Рис. 4. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½ΠΈΡ‚Π΅ΠΉ Π² CUDA

Π‘Π»ΠΎΠΊΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² сСтки Π±Π»ΠΎΠΊΠΎΠ². Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π±Π»ΠΎΠΊΠ° ΠΈ сСтки Π±Π»ΠΎΠΊΠΎΠ² Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ blockDim ΠΈ gridDim ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ядра. ΠŸΠΎΡ‚ΠΎΠΊΠ°ΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° доступна раздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ (shared memory). Π˜Ρ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ синхронизировано.

Рис. 5. Π‘Π΅Ρ‚ΠΊΠ° Π±Π»ΠΎΠΊΠΎΠ² Π² CUDA
Рис. 5. Π‘Π΅Ρ‚ΠΊΠ° Π±Π»ΠΎΠΊΠΎΠ² Π² CUDA

Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ CUDA выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

  1. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти Π½Π° Π“ΠŸ.
  2. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ расчСтных Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π“ΠŸ.
  3. ВычислСния Π½Π° ядрах Π“ΠŸ.
  4. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² вычислСний Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ЦП.
  5. ОсвобоТдСниС памяти Π“ΠŸ.

2.2. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ памяти

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ (local memory):

  • Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΅ΡΡ‚ΡŒ своя локальная ΠΏΠ°ΠΌΡΡ‚ΡŒ;
  • ΠΎΠ½Π° сущСствуСт Π½Π° протяТСнии ΠΆΠΈΠ·Π½ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°.
Рис. 6. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² CUDA
Рис. 6. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² CUDA

РаздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ (shared memory):

  • доступна ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°;
  • сущСствуСт Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½ΠΈ Π±Π»ΠΎΠΊΠ°;
  • быстрСС, Ρ‡Π΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄Ρ‹.
Рис. 7. РаздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠ° Π½ΠΈΡ‚Π΅ΠΉ Π² CUDA
Рис. 7. РаздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠ° Π½ΠΈΡ‚Π΅ΠΉ Π² CUDA

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ (global memory):

  • доступна всСм ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌ Π²ΠΎ всСх Π±Π»ΠΎΠΊΠ°Ρ…;
  • сохраняСт состояниС Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Рис. 8. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ сСтки Π±Π»ΠΎΠΊΠΎΠ² Π² CUDA
Рис. 8. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ сСтки Π±Π»ΠΎΠΊΠΎΠ² Π² CUDA

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ (constant memory):

  • ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅.

ВСкстурная ΠΏΠ°ΠΌΡΡ‚ΡŒ (texture memory):

  • адрСсуСт ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅.
Рис. 9. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ памяти Π² CUDA: ΠΏΠΎΡ‚ΠΎΠΊ (локальная ΠΏΠ°ΠΌΡΡ‚ΡŒ) β†’ Π±Π»ΠΎΠΊΠΈ (раздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ) β†’ сСтка Π±Π»ΠΎΠΊΠΎΠ² (глобальная ΠΏΠ°ΠΌΡΡ‚ΡŒ)
Рис. 9. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ памяти Π² CUDA: ΠΏΠΎΡ‚ΠΎΠΊ (локальная ΠΏΠ°ΠΌΡΡ‚ΡŒ) β†’ Π±Π»ΠΎΠΊΠΈ (раздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ) β†’ сСтка Π±Π»ΠΎΠΊΠΎΠ² (глобальная ΠΏΠ°ΠΌΡΡ‚ΡŒ)
ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ структурС CUDA Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² нашСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ «Знакомство с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ CUDAΒ».

3. Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π“ΠŸ

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ шагов ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π“ΠŸ.

  1. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния: сорСвнования Π² Kaggle, Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, исслСдования Π² области ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ зрСния, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° СстСствСнного языка ΠΈ Ρ‚. Π΄.
  2. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ объСм памяти.
  3. Π£Π·Π½Π°Ρ‚ΡŒ: сколько Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ помСстится Π² систСмном Π±Π»ΠΎΠΊΠ΅; ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° циркуляция Π²ΠΎΠ·Π΄ΡƒΡ…Π° Π² систСмном Π±Π»ΠΎΠΊΠ΅; Ρ…Π²Π°Ρ‚ΠΈΡ‚ Π»ΠΈ мощности Π±Π»ΠΎΠΊΠ° питания.

3.1. Когда достаточно ΠΌΠ΅Π½Π΅Π΅ 11 Π“Π‘ памяти

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ Π² Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ, Ρ‚Ρ€Π΅Π½ΠΈΡ€ΡƒΡΡΡŒ Π½Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π°Π΄Π°Ρ‡Π°Ρ… с ΠΌΠ°Π»Ρ‹ΠΌΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, поэтому достаточно RTX 3070 (8 Π“Π‘, GDDR6) ΠΈ RTX 3080 (10 Π“Π‘, GDDR6X). Для прототипирования Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ – RTX 3080.

Рис. 10. Π’ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π° NVIDIA RTX 3080
Рис. 10. Π’ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π° NVIDIA RTX 3080

3.2. Когда Π½ΡƒΠΆΠ½ΠΎ большС 11 Π“Π‘ памяти

НС ΠΌΠ΅Π½Π΅Π΅ 11 Π“Π‘ памяти Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Transformer, распознаваниСм мСдицинских ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ Π·Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с большими изобраТСниями.

3.3. Π’Π΅Π½Π·ΠΎΡ€Π½Ρ‹Π΅ ядра

Π’Π΅Π½Π·ΠΎΡ€Π½Ρ‹Π΅ ядра быстрСС CUDA-ядСр, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠΌ трСбуСтся мСньшС Ρ†ΠΈΠΊΠ»ΠΎΠ² для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ. Π’ Ρ‡ΠΈΠΏΠ°Ρ… Ampere (Π»ΠΈΠ½Π΅ΠΉΠΊΠ° RTX 30) стало мСньшС Ρ‚Π΅Π½Π·ΠΎΡ€Π½Ρ‹Ρ… ядСр, Π½ΠΎ возросла ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Рис. 11. АрхитСктура Ρ‚Π΅Π½Π·ΠΎΡ€Π½Ρ‹Ρ… ядСр Π² GeForce RTX 2080 Super ΠΈ GeForce RTX 3080
Рис. 11. АрхитСктура Ρ‚Π΅Π½Π·ΠΎΡ€Π½Ρ‹Ρ… ядСр Π² GeForce RTX 2080 Super ΠΈ GeForce RTX 3080

3.4. ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ памяти

Π’Π΅Π½Π·ΠΎΡ€Π½Ρ‹Π΅ ядра быстрыС ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΎΡΡ‚Π°ΠΈΠ²Π°ΡŽΡ‚ Π΄ΠΎ 70% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, оТидая Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· глобальной памяти. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Π“ΠŸ с максимальной пропускной ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ памяти. Π•Ρ‰Π΅ Π½ΡƒΠΆΠ½Π° большая раздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ кэш L1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ число ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ внСшнСй памяти ΠΈ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π»ΠΈΠΆΠ΅ ΠΊ АЛУ.

Бколько Π½ΡƒΠΆΠ½ΠΎ памяти:

  • ΠΏΡ€ΠΈ использовании ΠΏΡ€Π΅Π΄ΠΎΠ±ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Transformer β‰₯ 11 Π“Π‘;
  • ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Transformer ΠΈΠ»ΠΈ Π² свСрточных Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтях β‰₯ 24 Π“Π‘;
  • ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй β‰₯ 10 Π“Π‘;
  • для Kaggle β‰₯ 8 Π“Π‘;
  • ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ΅ Π·Ρ€Π΅Π½ΠΈΠ΅ β‰₯ 10 Π“Π‘.

3.5. БистСма охлаТдСния

Π’ конструкции систСмы охлаТдСния Reference RTX 30 (NVIDIA) ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ вСнтилятор располоТСн Π½Π° Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ сторонС Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹. Он Π²Ρ‹Π΄ΡƒΠ²Π°Π΅Ρ‚ Π²ΠΎΠ·Π΄ΡƒΡ… Π² пространство, Π³Π΄Π΅ располоТСна опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ процСссор. Π’Ρ‚ΠΎΡ€ΠΎΠΉ вСнтилятор Π²Ρ‹Π΄ΡƒΠ²Π°Π΅Ρ‚ Π²ΠΎΠ·Π΄ΡƒΡ… сразу ΠΈΠ· корпуса (Рис. 12).

Рис. 12. CистСма охлаТдСния Reference RTX 30
Рис. 12. CистСма охлаТдСния Reference RTX 30

Π•Ρ‰Π΅ Π½Π΅Ρ‚ тСстов, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρ‹ ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΉ систСмы охлаТдСния. Установка Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π“ΠŸ Π² ΠΎΠ΄Π½ΠΎΠΌ корпусС ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° циркуляции ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²ΠΎΠ·Π΄ΡƒΡ…Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ корпуса ΠΈ ΠΎΡ…Π»Π°ΠΆΠ΄Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚.

3.6. Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠΏΠΈΡ‚Π°Π½ΠΈΠ΅

ΠšΠ°Ρ€Ρ‚Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ мощности Π±Π»ΠΎΠΊΠ° питания. Π§Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ RTX 3090 ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ Π½Π° ΠΏΠΈΠΊΠ΅ 1400 Π’Ρ‚. ΠŸΡ€ΠΎΠ΄Π°ΡŽΡ‚ΡΡ Π±Π»ΠΎΠΊΠΈ питания Π½Π° 1600 Π’Ρ‚, Π½ΠΎ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠΌ 200 Π’Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСдостаточно.

Рис. 13. Π‘Π»ΠΎΠΊ питания Super Flower Leadex Titanium SF-1600F14HT Π½Π° 1600 Π’Ρ‚
Рис. 13. Π‘Π»ΠΎΠΊ питания Super Flower Leadex Titanium SF-1600F14HT Π½Π° 1600 Π’Ρ‚

3.7. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ для кластСров

Для кластСров Π²Π°ΠΆΠ½ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ элСктропитаниС, доступноС Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ…, Π½ΠΎ ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ соглашСнию ΠΊΠ°Ρ€Ρ‚Ρ‹ RTX Π² Π½ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ. Для нСбольшой систСмы ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Supermicro 8 GPU.

Рис. 14. Π‘Π΅Ρ€Π²Π΅Ρ€ SuperMicro Superserver 4028gr-tvrt, Π΄ΠΎ 8 Tesla v100 sxm2
Рис. 14. Π‘Π΅Ρ€Π²Π΅Ρ€ SuperMicro Superserver 4028gr-tvrt, Π΄ΠΎ 8 Tesla v100 sxm2

Для кластСра ΠΈΠ· 256+ Π“ΠŸ – NVIDIA DGX SuperPOD.

Рис. 15. Π‘ΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ NVIDIA DGX SuperPOD
Рис. 15. Π‘ΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ NVIDIA DGX SuperPOD

ΠŸΡ€ΠΈ 1024+ Π“ΠŸ – Google TPU Pod ΠΈ NVIDIA DGX SuperPod.

Рис. 16. Π‘ΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Google TPU Pod Π½Π° Ρ‚Π΅Π½Π·ΠΎΡ€Π½Ρ‹Ρ… процСссорах
Рис. 16. Π‘ΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Google TPU Pod Π½Π° Ρ‚Π΅Π½Π·ΠΎΡ€Π½Ρ‹Ρ… процСссорах

3.8. НС ΠΏΠΎΠΊΡƒΠΏΠ°ΠΉΡ‚Π΅ эти ΠΊΠ°Ρ€Ρ‚Ρ‹

НС ΠΏΠΎΠΊΡƒΠΏΠ°ΠΉΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹ RTX Founders Editions ΠΈΠ»ΠΈ RTX Titans, Ссли Π½Π΅Ρ‚ PCIe-ΡƒΠ΄Π»ΠΈΠ½ΠΈΡ‚Π΅Π»Π΅ΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΡ…Π»Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.

Рис. 17. Π’ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π° NVIDIA RTX Titan
Рис. 17. Π’ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π° NVIDIA RTX Titan

Tesla V100 ΠΈΠ»ΠΈ A100 Ρ€Π΅Π½Ρ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² кластСрах. ΠšΠ°Ρ€Ρ‚Ρ‹ сСрии GTX 16 ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΠ·ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ· Π½ΠΈΡ… ΡƒΠ±Ρ€Π°Π»ΠΈ Ρ‚Π΅Π½Π·ΠΎΡ€Π½Ρ‹Π΅ ядра. Аналоги GTX 16: Π±/Ρƒ RTX 2070, RTX 2060 ΠΈΠ»ΠΈ RTX 2060 Super.

Рис. 18. Π’ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π° NVIDIA Tesla V100
Рис. 18. Π’ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π° NVIDIA Tesla V100

ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ RTX 2080 Ti ΠΈ Π²Ρ‹ΡˆΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ RTX 3090 Π½Π΅Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ. ΠŸΡ€ΠΈΡ€ΠΎΡΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ°Π», Π° риск ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΡ…Π»Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΊΠ°Ρ€Ρ‚Π°Ρ… RTX 30 высокий. АпгрСйд ΠΎΠΏΡ€Π°Π²Π΄Π°Π½, Ссли для Π·Π°Π΄Π°Ρ‡ трСбуСтся большС памяти.

3.9. НуТСн Π»ΠΈ PCI 4.0?

Для Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½ΠΎΠΉ домашнСй сборки PCI 4.0 Π½Π΅ Π½ΡƒΠΆΠ΅Π½. PCI 4.0 ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°ΡΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° 1-7% Π² сравнСнии с PCIe 3.0 ΠΏΡ€ΠΈ использовании Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π“ΠŸ. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Β«ΡƒΠ·ΠΊΠΈΠΌ мСстом» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ SSD-диск, Π½ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… с Π“ΠŸ Π½Π° ЦП.

3.10. НСобходимы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 8x/16x PCIe-слоты?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ 8x ΠΈ 16x PCIe-слоты Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. ДопускаСтся Ρ€Π°Π±ΠΎΡ‚Π° Π΄Π²ΡƒΡ… Π“ΠŸ Π½Π° слотах 4Ρ…. ΠŸΡ€ΠΈ установкС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π“ΠŸ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π°Π²Π°ΠΉΡ‚Π΅ слотам 8x Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π“ΠŸ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ слота 4x Π½ΠΈΠΆΠ΅ Π½Π° 5-10%.

Рис. 19. Π‘Π»ΠΎΡ‚Ρ‹ PCIe x1, x4, x16
Рис. 19. Π‘Π»ΠΎΡ‚Ρ‹ PCIe x1, x4, x16

3.11. МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ вмСстС?

Π”Π°, ΠΌΠΎΠΆΠ½ΠΎ! Но Π±ΡƒΠ΄Π΅Ρ‚ слоТно эффСктивно Ρ€Π°ΡΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΡ‚ΡŒ графичСскиС процСссоры Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Ρ‚. ΠΊ. быстрый Π“ΠŸ Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ Π“ΠŸ Π΄ΠΎΠΉΠ΄Π΅Ρ‚ Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ синхронизации.

3.12. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ NVLink ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π»ΠΈ это?

NVLink – высокоскоростноС соСдинСниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π“ΠŸ. Π’ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… кластСрах (< 128 Π“ΠŸ) ΠΎΠ½ Π½Π΅ даст прСимущСства ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠΎ PCIe.

Рис. 20. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ NVLink M40, P100, V100 ΠΈ A100
Рис. 20. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ NVLink M40, P100, V100 ΠΈ A100

3.13. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π΄Π΅Π½Π΅Π³ Π½Π° Ρ‚ΠΎΠΏΠΎΠ²Ρ‹Π΅ Π“ΠŸ?

ΠšΡƒΠΏΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½Π½Ρ‹Π΅ Π“ΠŸ, Π»ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΌΠΈ сСрвисами. Π‘ΡŽΠ΄ΠΆΠ΅Ρ‚Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ (Π² порядкС убывания Ρ†Π΅Π½Ρ‹ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ):

  • RTX 2070 ΠΈΠ»ΠΈ RTX 2060;
  • GTX 1070 ΠΈΠ»ΠΈ GTX 1070 Ti;
  • GTX 980 Ti (6 GB) ΠΈΠ»ΠΈ GTX 1650 Super.

3.14. Π˜Ρ‚ΠΎΠ³

  • Ρ‚ΠΎΠΏΠΎΠ²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹: RTX 3080, RTX 3090;
  • вторая Π»ΠΈΠ³Π°: RTX 3070, RTX 2060 Super;
  • Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚: RTX 2070, RTX 2060, GTX 1070, GTX 1070 Ti, GTX 1650 Super, GTX 980 Ti;
  • Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ: RTX 3070;
  • просто ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ: RTX 2060 Super, GTX 1050 Ti, ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы;
  • сорСвнования Kaggle: RTX 3070;
  • ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ΅ Π·Ρ€Π΅Π½ΠΈΠ΅, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄: Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ RTX 3090;
  • NLP с простыми вычислСниями: RTX 3080;
  • кластСры ΠΌΠ΅Π½Π΅Π΅ 128 Π“ΠŸ: 66% 8x RTX 3080 ΠΈ 33% 8x RTX 3090;
  • кластСры ΠΎΡ‚ 128 Π΄ΠΎ 512 Π“ΠŸ: 8x Tesla A100;
  • кластСры Π±ΠΎΠ»Π΅Π΅ 512 Π“ΠŸ: DGX A100 SuperPOD;

НапослСдок нСсколько ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… гистограмм характСристик Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… GPU.

Рис. 21. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ RTX 2080 Ti.
Рис. 21. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ RTX 2080 Ti.
Рис. 22. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° Π΄ΠΎΠ»Π»Π°Ρ€ (US) Π“ΠŸ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ RTX 3080.
Рис. 22. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° Π΄ΠΎΠ»Π»Π°Ρ€ (US) Π“ΠŸ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ RTX 3080.
Рис. 23. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° Π΄ΠΎΠ»Π»Π°Ρ€ (US) Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π“ΠŸ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… RTX 3080.
Рис. 23. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° Π΄ΠΎΠ»Π»Π°Ρ€ (US) Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π“ΠŸ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… RTX 3080.
Рис. 24. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° Π΄ΠΎΠ»Π»Π°Ρ€ (US) восьми Π“ΠŸ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ восьми RTX 3080.
Рис. 24. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° Π΄ΠΎΠ»Π»Π°Ρ€ (US) восьми Π“ΠŸ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ восьми RTX 3080.
***

Π’ этом руководствС ΠΌΡ‹ рассмотрСли устройство графичСского процСссора ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Π·Π°Π΄Π°Ρ‡Π°Ρ… Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ обучСния. Если запускаСтС расчСт нСйросСток врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎ Π°ΠΏΠ³Ρ€Π΅ΠΉΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ графичСских процСссоров.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° Π½Π°ΡˆΠΈΡ… Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π°Ρ… Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста» ΠΈ «Книги для программистов».

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Π’ΠΠšΠΠΠ‘Π˜Π˜

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ вакансию
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ C++
Москва, ΠΏΠΎ ΠΈΡ‚ΠΎΠ³Π°ΠΌ собСсСдования

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•