ΠΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° AMD ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π·Π° ΠΊΠ°ΡΡΠΈ Ρ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π», Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° XDNA, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈ (NPU, Neural Processing Unit). NPU, ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° XDNA, ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π² ΡΠ΅ΡΠΈΠΈΡΠ΅ 7040 ΠΈ 8040 Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ AMD Ryzen, ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΠΈΡΠ΅ AMD Alveo V70 ΠΈ SoC AMD Versal. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΡΠΈΡΠ΅ C ΠΈ C++ ΠΈ Π΅ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ 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
