ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Google ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΠΎΡΠΊΡΠΈΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Coral NPU (Neural Processing Unit), ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ° ΠΎΡΠ²ΠΎΡΠ΅Π½ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ΅Π½ ΡΡΠΊΠΎΡΠΈΡΠ΅Π» Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ ΠΌΡ Ρ ΡΠΈΠΏΠΎΠ²ΠΈ AI Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ. Coral ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΠΉΠ½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠΈΠΏ (SoC), ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΈ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π² ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π° Π½Π΅ΡΠ°ΡΠ°, Edge ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΡΠ΅Π½Π·ΠΎΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π½ΠΎΡΠΈΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΈΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡ, ΠΊΠ°ΡΠΎ ΡΠ»ΡΡΠ°Π»ΠΊΠΈ, ΠΎΡΠΈΠ»Π° Π·Π° Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΡΠ΅Π°Π»Π½ΠΎΡΡ ΠΈ ΡΠΌΠ°ΡΡ ΡΠ°ΡΠΎΠ²Π½ΠΈΡΠΈ. ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Apache 2.0.
Coral NPU Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ AI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΏΠΎΡΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡ. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Coral NPU ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ 512 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° (GOPS) ΠΏΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΅Π΄Π²Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠΈΠ»ΠΈΠ²Π°ΡΠ° Π΅Π½Π΅ΡΠ³ΠΈΡ. NPU Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Π·Π° Π³ΡΠ²ΠΊΠ°Π²Π° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π½ΡΠΆΠ΄ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° SoC. ΠΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π», ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Coral NPU, ΡΠ΅ Π±ΡΠ΄Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Synaptics, ΠΊΠΎΡΡΠΎ ΠΎΠ±ΡΠ²ΠΈ ΡΠ΅ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π·Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π° Π½Π΅ΡΠ°ΡΠ° Astra SL2610, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Torq NPU, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Coral NPU.
Π‘ΡΠ΅Π΄ ΡΠΈΠΏΠΈΡΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Coral NPU ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° AI Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π·Π²ΡΠΊ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈ ΡΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° Π»ΠΈΡΠ° ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ, Π²ΠΈΠ·ΡΠ°Π»Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅, ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅Ρ, ΠΆΠΈΠ² ΠΏΡΠ΅Π²ΠΎΠ΄, ΡΡΠ°Π½ΡΠΊΡΠΈΠΏΡΠΈΡ Π½Π° ΡΠ΅Ρ, ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²ΠΈ Π΄ΡΠΌΠΈ ΠΎΡ ΡΠ΅ΡΡΠ°, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΆΠ΅ΡΡΠΎΠ²Π΅ ΠΈ Π³Π»Π°ΡΠΎΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ (Ρ ΠΎΠ΄Π΅Π½Π΅, Π±ΡΠ³Π°Π½Π΅, ΡΡΠ½) ΠΈ ΡΠΈΠΏΠ° Π½Π° ΠΎΠΊΠΎΠ»Π½Π°ΡΠ° ΡΡΠ΅Π΄Π° (Π²ΠΊΡΡΠΈ, Π½Π° ΡΠ»ΠΈΡΠ°ΡΠ°).
Π NPU Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π° 32-Π±ΠΈΡΠΎΠ²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ Π½Π°Π±ΠΎΡ RISC-V RV32IMF_Zve32x, ΡΠΈΠ½Π° AXI4, ΡΠ΅ΡΠΈΡΠΈΡΡΠ΅ΠΏΠ΅Π½Π΅Π½ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ, Π½Π΅ΡΠΏΠΎΡΡΠ΄ΡΡΠ΅Π½ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅, ΡΠ΅ΡΠΈΡΠΈΠΏΠΎΡΠΎΡΠ½Π° ΡΠΊΠ°Π»Π°ΡΠ½Π° ΠΈ Π΄Π²ΡΠΏΠΎΡΠΎΡΠ½Π° Π²Π΅ΠΊΡΠΎΡΠ½Π° Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ. ΠΡΠΎΡΠ΅ΡΠΎΡΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° SIMD ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° 128-Π±ΠΈΡΠΎΠ²ΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ ΠΈ Π΅ ΡΠ½Π°Π±Π΄Π΅Π½ Ρ 8 KB ITCM ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ 32 KB DTCM ΠΏΠ°ΠΌΠ΅Ρ Π·Π° Π΄Π°Π½Π½ΠΈ.

NPU Π²ΠΊΠ»ΡΡΠ²Π° ΡΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°:
- Π―Π΄ΡΠΎ Π·Π° ΡΠΊΠ°Π»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ β Π»Π΅ΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠ΅ΠΌΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° C ΡΡΠΎΠ½ΡΠ΅Π½Π΄ RISC-V, ΠΊΠΎΠ΅ΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΊΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΠ΄ΡΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠΎΠ΄Π΅Π»Π° βΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅β (run-to-completion) Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ CPU ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΈΡΠΊΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡ.
- ΠΠ΅ΠΊΡΠΎΡΠ΅Π½ SIMD-ΡΡΠΏΡΠΎΠ΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π²Π΅ΠΊΡΠΎΡΠ½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΎΠ½Π½ΠΈΡ Π½Π°Π±ΠΎΡ RISC-V (RVV v1.0) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΡ Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠ±Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ.
- ΠΠ°ΡΡΠΈΡΠ°ΡΠ° Π½Π° ΡΡΠΏΡΠΎΠ΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ°, ΠΊΠΎΡΡΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (MAC) ΠΈ Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π° Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° Π½Π΅Π²ΡΠΎΠ½Π½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ.

ΠΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ Π·Π° AI-ΠΌΠΎΠ΄Π΅Π»ΠΈ (IREE ΠΈ TFLM), ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° C ΠΈ ΡΠΈΠΌΡΠ»Π°ΡΠΎΡ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² AI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²Π΅ TensorFlow, JAX ΠΈ PyTorch. ΠΠΎΠ΄Π΅Π»ΡΡ ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° Π² ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΎ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° LLVM ΡΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ° Π² Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ RISC-V, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ Π² Coral NPU.

ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
