ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ AMD ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π΄Π»Ρ ΠΊΠ°ΡΡ Ρ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ XDNA, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² (NPU, Neural Processing Unit). NPU Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ XDNA ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ΅ΡΠΈΡΡ 7040 ΠΈ 8040 ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² AMD Ryzen, ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΡΡ AMD Alveo V70 ΠΈ SoC AMD Versal. ΠΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ°Ρ Π‘ ΠΈ Π‘++, ΠΈ ΠΎΡΠΊΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPLv2. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄ΡΠΎ Linux 6.7 Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ IOMMU SVA (Shared Virtual Addressing).
ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ΅Π±Ρ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΡΠ΄ΡΠ° Linux (amdxdna.ko) ΠΈ runtime-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ (ΠΏΠ»Π°Π³ΠΈΠ½ «xrt_plugin*-amdxdna») Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° XRT (Xilinx Runtime Library), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ (kernel), Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Ρ. XRT ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ NPU AMD Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
Π½Π° ΠΎΠ±ΡΡΠ½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ, ΠΎΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ
API Π΄Π»Ρ C/C++ Π΄ΠΎ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ
ΠΏΡΠΈΠ²ΡΠ·ΠΎΠΊ Π΄Π»Ρ Python ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ TensorFlow, PyTorch ΠΈ Caffe.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru