ΠΠ΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ проникновСния FPGA Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Ρ‹

ΠΠ΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ проникновСния FPGA Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Ρ‹
НС Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Ρ‡ΠΈΠΏΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для FPGA, ΠΊΠ°ΠΊ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ программистом Π½Π° Π‘++, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Java. Однако Π² ΠΎΠ±ΠΎΠΈΡ… случаях, вСроятно, это Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ лишним.

ЦСль ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Π΅ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Java ΠΈ FPGA, Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€ΠΎΠ²Π΅Ρ€Π³Π½ΡƒΡ‚ΡŒ послСднСС заявлСниС. Π₯ΠΎΡ€ΠΎΡˆΠΈΠ΅ новости для FPGA – с использованиСм подходящих ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ абстракции ΠΈ Π½Π°Π±ΠΎΡ€Π° инструмСнтов Π² послСдниС 35 Π»Π΅Ρ‚, с Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ логичСскоС устройство, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для FPGA вмСсто CPU, DSP, GPU ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ASIC становится всё Π»Π΅Π³Ρ‡Π΅.

Π£Π΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠ²ΠΎΠ΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈΡ… создания проявляСтся Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΊΠΎΠ³Π΄Π° CPU ΡƒΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ СдинствСнным Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ² для выполнСния мноТСства Π·Π°Π΄Π°Ρ‡ – ΠΏΠΎ самым Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ – FPGA достигли своСй эффСктивности, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ² быстродСйствиС, ΠΌΠ°Π»ΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ, сСтСвыС возмоТности ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ – Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности соврСмСнных FPGA SoC, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… собой практичСски ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмы. Однако FPGA ΡƒΠ΄Π°Ρ‡Π½ΠΎ ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‚ΡΡ ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ устройствами Π² Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Ρ… систСмах, ΠΈ, ΠΏΠΎ Π½Π°ΡˆΠ΅ΠΌΡƒ мнСнию, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ своё Π·Π°ΠΊΠΎΠ½Π½ΠΎΠ΅ мСсто Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ вычислСний.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡŽ The Next FPGA Platform Π² Π‘Π°Π½-Π₯осС 22 января. ЕстСствСнно, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… поставщиков FPGA Π² ΠΌΠΈΡ€Π΅ ΠΈ ΠΏΠΈΠΎΠ½Π΅Ρ€ΠΎΠΌ Π² этой области являСтся компания Xilinx. Иво Π‘ΠΎΠ»ΡŒΡΠ΅Π½Ρ, ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π²ΠΈΡ†Π΅-ΠΏΡ€ΠΎΠ΅Π·ΠΈΠ΄Π΅Π½Ρ‚ ΠΈ тСхничСский Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ Xilinx, выступил Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ с Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠΌ, ΠΈ рассказал Π½Π°ΠΌ ΠΎ своих ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΡ… мыслях, связанных с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Xilinx ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ измСняСмыС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмы для Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ².

Π£ систСмных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈ программистов ΡƒΡˆΠ»ΠΎ достаточно Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΊ Π½Π΅ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½ΠΎΠΌΡƒ Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ прСдставлСны ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ мощности Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π°, Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ вычислСниям, Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ сСтСй. Π­Ρ‚ΠΎ каТСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ Π² связи с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° Π·Π°ΠΊΠΎΠ½ΠΎΠΌ ΠœΡƒΡ€Π° с использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… КМОП становится всё Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅. Пока наш язык всё Π΅Ρ‰Ρ‘ завязан Π½Π° CPU, ΠΈ ΠΌΡ‹ всё Π΅Ρ‰Ρ‘ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± «ускорСнии ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉΒ», имСя Π² Π²ΠΈΠ΄Ρƒ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ CPU. Бпустя ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ прСвратятся Π² Π½Π°Π±ΠΎΡ€Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностСй, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… всё Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², ΠΈ ΠΌΡ‹ вСрнёмся ΠΊ Ρ‚Π°ΠΊΠΈΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌ, ΠΊΠ°ΠΊ «вычислСния» ΠΈ «прилоТСния». Π“ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ вычислСния станут Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Π½ΠΎΡ€ΠΌΠΎΠΉ, ΠΊΠ°ΠΊ сСгодняшниС Β«ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅Β» сСрвисы, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° основС ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин, ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ просто слово «вычислСния» для описания ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ – ΠΈ, вСроятно, Π½Π°ΡΡ‚ΡƒΠΏΠ»Π΅Π½ΠΈΡŽ этой эры Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‚ FPGA – ΠΌΡ‹ ΠΎΠΏΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ это ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

Для внСдрСния FPGA Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ потрСбуСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π· ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ. Β«Π Π°Π·ΠΌΡ‹ΡˆΠ»ΡΡ ΠΎ способах ускорСния ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, приходится Π΄ΠΎΠΊΠ°ΠΏΡ‹Π²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ основ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ рСсурсы, Π½Π° Ρ‡Ρ‚ΠΎ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ врСмя, β€” поясняСт БолсСнс. – НуТно ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ. МногиС прилоТСния, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ… сСгодня, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, захватывая большоС количСство рСсурсов. Π’ΠΎΠ·ΡŒΠΌΡ‘ΠΌ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ². Но говоря ΠΎΠ± ускорСнии, Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ± ускорСнии вычислСний, Π½ΠΎ ΠΈ ΠΎΠ± ускорСнии инфраструктуры».

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΡ€ΠΈ Ρ‚Π΅Ρ… опСрациях, связанных с ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ БолсСнс ΠΈΠ·ΡƒΡ‡Π°Π» Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 50% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ тратится Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΡƒΠ΄Π° ΠΈ сюда ΠΌΠ΅ΠΆΠ΄Ρƒ разбросанными Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ мощностями, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡΡ‚Π°Π²ΡˆΠ°ΡΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ тратится Π½Π° сами вычислСния.

«ИмСнно здСсь, ΠΌΠ½Π΅ каТСтся, ΠΈ смоТСт ΠΏΠΎΠΌΠΎΡ‡ΡŒ FPGA, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… аспСктов, Ρ‚Π°ΠΊ ΠΈ аспСктов ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для прилоТСния. И ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±Ρ‰Π΅ΠΉ инфраструктуры, ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ‡ΠΈΠΏΠ°. Π­Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΈΡ… прСимущСств FPGA, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ сСти связи ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π½ΡƒΠΆΠ΄Ρ‹ прилоТСния. Наблюдая Π·Π° Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌΠΈ закономСрностями пСрСмСщСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π·Π°Π΄Π°Ρ‡Π°Ρ…, связанных с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°, я Π½Π΅ Π²ΠΈΠΆΡƒ нСобходимости Π² слоТной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Π½Π° основС ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΎΠ². МоТно ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡΠ΅Ρ‚ΡŒ с большим ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΎ ΠΆΠ΅ касаСтся ΠΈ Π·Π°Π΄Π°Ρ‡ обучСния нСйросСтСй – ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡΡ‡Π΅ΠΈΡΡ‚ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΠΎΠ΄ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Π‘ использованиСм FPGA ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡŽ схСмы для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ прилоТСния. А Π² случаС с ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ясно, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности, ΠΈ это ΠΌΡ‹ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΒ».

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ FPGA ΠΈ CPU ΠΈΠ»ΠΈ спСциализированной ASIC Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ послСдниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ производствС, ΠΈ послС этого Π²Ρ‹ ΡƒΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ΡƒΠΌΠ°Ρ‚ΡŒ насчёт Ρ‚ΠΈΠΏΠΎΠ² вычисляСмых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ вычисляСмых элСмСнтов, ΠΈΠ»ΠΈ насчёт ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ΄ΡƒΡ‰ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· устройство. FPGA ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ссли измСнятся условия Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ это прСимущСство ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ FPGA Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ Π½Π΅ для слабых Π΄ΡƒΡ…ΠΎΠΌ. ВрСбуСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ компиляторы для FPGA, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ с инструмСнтами, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ программистами для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ вычислСниями для CPU Π½Π° языках C, C++ ΠΈΠ»ΠΈ Python, ΠΈ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ, ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π½Π° FPGA. Π­Ρ‚ΠΈΠΌ ΠΈ занимаСтся стСк для машинного обучСния Vitis, находящийся Π² основС Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ для МО, ΠΊΠ°ΠΊ Caffe ΠΈ TensorFlow, ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для запуска ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ИИ-ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ добавлСния возмоТностСй FPGA ΠΊ Ρ‚Π°ΠΊΠΈΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, распознаваниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ финансовыми рисками ΠΈ Π»ΡŽΠ±Ρ‹ΠΌΠΈ сторонними Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ.

Π­Ρ‚Π° концСпция Π½Π΅ сильно отличаСтся ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° CUDA ΠΎΡ‚ Nvidia, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π΅ΡΡΡ‚ΡŒ Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄, ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ вычислСния Π½Π° GPU-ускоритСли, ΠΈΠ»ΠΈ ΠΎΡ‚ Π½Π°Π±ΠΎΡ€Π° инструмСнтов ROCm ΠΎΡ‚ AMD, ΠΈΠ»ΠΈ ΠΎΡ‚ ΠΎΠ±Π΅Ρ‰Π°Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Intel, OneAPI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… CPU, GPU ΠΈ FPGA.

Вопрос лишь Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ всС эти инструмСнты Π±ΡƒΠ΄ΡƒΡ‚ связаны вмСстС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ любой Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ смог Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностСй ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ FPGA стали слоТнСС, Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС любого ΠΈΠ· ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ CPU. Π˜Ρ… ΠΈΠ·Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²Ρ‹ΠΌΠΈ тСхнологичСскими процСссами ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ соврСмСнных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Ρ‡ΠΈΠΏΠΎΠ². И ΠΎΠ½ΠΈ Π½Π°ΠΉΠ΄ΡƒΡ‚ свою Π½ΠΈΡˆΡƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΡƒΠΆΠ΅ большС Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ зря Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя, дСньги, ΡΠ½Π΅Ρ€Π³ΠΈΡŽ ΠΈ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ – всё это слишком Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ рСсурсы.

Β«FPGA ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ тСхнологичСскиС прСимущСства, β€” Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ БолсСнс. – И это Π½Π΅ просто обычная Ρ€Π΅ΠΊΠ»Π°ΠΌΠ° насчёт адаптируСмости ΠΈ пСрСнастраиваСмости. Π’ΠΎ всСх Π²Π°ΠΆΠ½Ρ‹Ρ… прилоТСниях – машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, Π°Π½Π°Π»ΠΈΠ· Π³Ρ€Π°Ρ„ΠΎΠ², высокоскоростная торговля, ΠΈ Ρ‚.ΠΏ. – Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΡ‚ΡŒ распространСния Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ памяти – Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‡ΠΈΠΏΠ°. А Π΅Ρ‰Ρ‘ Π² FPGA встроСно Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС памяти, Ρ‡Π΅ΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ устройства. Π’Π°ΠΊΠΆΠ΅ слСдуСт ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ вмСщаСтся Π² ΠΎΠ΄ΠΈΠ½ FPGA, ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π½Π° нСсколько Ρ‡ΠΈΠΏΠΎΠ², Π½Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡΡΡŒ с Ρ‚Π΅ΠΌΠΈ нСдостатками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΆΠ΄ΡƒΡ‚ вас ΠΏΡ€ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ Π½Π° нСсколько CPU ΠΈΠ»ΠΈ GPUΒ».

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com