
α’ααααα·αα
αΆαααΆα
αααΆα’ααααα
ααΆαααααααΈαααΎααααΈααααααααααα·ααΈαααααΆαα FPGAs ααΌα
ααΆα’ααααα·αα
αΆαααΆα
αααΆα’αααααααααααααα·ααΈ C++ ααΎααααΈαααααααΌααα
αααα»α Java αααααα ααααααΆαααΆααααααααα»αααααΈααΆααααΈαααΆαααα ααααΆααΆαααααααααα
ααααα ααααΆαααααΎααΆαα·αααααααααΆαααα αα αααα·ααααΆ Java αα·α FPGA ααΊααΎααααΈααα·αααααΆαα’αα’αΆαα α»αααααααααα ααααΉαααα’αααααΆαα FPGAs - αααααααΎαααααΆααα’ααΌααΈααααΉαααααΌα αα·ααααα»αα§ααααα αααα»ααααααα 35 ααααΆαα α»ααααααααα α αΆααααΆααααΈααΆααααααΎαα§ααααααααααα·ααααΆαααα’αΆα ααααααααααα·ααΈααΆα ααΆααααααΎααααα½ααααααααΆα αα·αααα αΌααα·αααααααααααΆαα FPGAs αααα½αα±αα CPUs, DSPs, GPUs α¬αααααααααααααααα ASICs ααααΆαααααα½αααΆαααααΆααα ααΆ ααΆααααααΆααααα½αα
αααααααΆααα’ααα
αΆαααααααΆααααααΎααααααα½αααααΊααΆααααααααα
αααα»αααΆααα·ααααααΆαα
αααααααααΈααΈααΌαα·αα’αΆα
αα
ααααΆαααΌαα»ααα»αααααΌααααααα½ααααααΆαααααα ααααααααααα·αααααα αααααΆααααΆααα·α
αα
ααΆα
αααΎα β αααααΆααα ααα»ααααααααααααΆ β FPGAs αααααα
ααΆαααααα·αααααΆααααααα½αααααααααααααΌαααΌαααααΎαααΆαααααα ααΆαααΊααααΆαααΆα αααααΆα αα·αα’αααα
αα
αΆα β αααααααΆαααααΆα
αααα»ααα FPGA SoCs ααααΎα αααααΆαααααααααα»αααααΌαααααααααα αααααΆαααΆαααΆααααα FPGAs αααα½ααααα
αΌαααααΆαααααααααααΆαα½αα§ααααααααααααααα
αααα»αααααααααααΌαααΆαα α αΎαααΆαααααααααααααΎα ααΎαααα
αΆααααααΎααααααααααααααααααΉαααααΌααααααα½ααααα
αααα»αααΆααΆαα»αααααα»αααααΌαααα
αααα αΎαααΆααΌαα ααα»αααααΎααααα
αααααα·αα·ααααα·ααΆ FPGA αααααΆαααα
San Jose αα
ααααααΈ 22 ααααααΆα ααΆαααααααΆαα· α’ααααααααααααα FPGA ααααααΆαααα½ααα
αααα»ααα·ααααα αα·αααΆα’ααααααα½αααααΆαααααΌααα
αααα»αααααααααααΊ Xilinx α ααα Ivo Bolsens α’αα»αααααΆαααΆααααααα αα·αααΆαααααΆαααααααα
αα
αααα·ααααΆαα
Xilinx ααΆααα·ααΆααα
αααα»αααααα·αα·α α αΎαααΆααααααα±ααααΎαααΌααααα·αααααααΆαααα
αααααααα’αααΈααααααα Xilinx αααα»ααα½ααααααΎααααααααααα»αααααΌααααααα’αΆα
ααααΆααααααΌαααΆααααααΆααααααααααααα·ααααααα
ααΆααααΌαααΆααααααΌααααααΆααααααΆαααααααααααααα αα·αα’αααααααααααααα·ααΈ ααΎααααΈααΆααααααααααααααα·ααααααα αααα»ααα½α αααααΉααααα»αααΆααααα»αααααΌαααααααααααααααααααΆ αααααααΆαααΆαααααΆ ααΆααααα»α αα·ααα·α αα ααΆααααααΆαα αααα αΆααααΌα ααΆα αΆαααΆα α ααΈαααααααΆαα’αα»ααααααΆαα αααΆαααααα Moore ααΆαα½ααααααααΈα CMOS ααααααααααΆαααα»αααααΆαααΆααΆαααααΆαααΆααααααααΆααα‘αΎαα αααααΆαααααααα ααΆααΆααααααΎααα αααααααααΎ CPU α αΎαααΎααα αααα·ααΆαα’αααΈ "ααΆααααααΎαααααΏααααααα·ααΈ" ααΆααααααΆαααααα·ααΈααααΎαααΆαααΆαααα’ααΆαα’αααΈαααα’αΆα ααααΎααΆααα ααΎ CPU ααααααΆααα―αα αα ααΈαααα»α ααααααααααα·ααααααααΉαααααΆαααΆααΆααααααΌααααα»αααααΆααααα»αααααΌααα ααΆααααα»α αα·ααα·ααΈααΆααααααααΆααα’αααΈαααααααααΆαααΆαα½αααααΆ α αΎαααΎαααΉααααααααα ααΆαααααΌα ααΆ "ααααΆ" αα·α "αααααα·ααΈ"α ααΆαααααΆαααα αααα»αααΉαααααΆαααΆααΏαααααααΆααΌα ααααΆαααα cloud ααααααααααα αααααααΎαααΆαααΎαααααααΈ α¬... αααΆαααΈααα·αααα·αα αΎααα α ααα»α ααΆαα½α ααΎαααΉαααααΎααΆααα "ααΆαααααΆ" ααΎααααΈαα·αααααΆα’αααΈααΆαααΆααααααα½αααα αα α ααα»α ααΆαα½αβα αΎα FPGA ααααααΆααΉαααΎααα½ααΆααΈαααΆαααααΆαααααα»αααΆαααΆαααααααααΆααααβααΎαααΉαα α ααΆααΆ ααΆαααααΎαααΆααα·αααααααααααααα
ααΆαααα½ααα FPGAs αα αααα»αααααααααααα·ααααααααΉααααααΌαα±ααααΆαααΆαααααΆααααααΌααα αααα»αααααααααα·αα Bolsens ααααααααΆ "αα ααααα·αα’αααΈαα·ααΈαααααΎαααααΏααααααα·ααΈααΆααααα αα α»ααααααααα α’αααααααΌαααα α»ααα ααΌαααααΆαααααααααααα½αααΆααααΎαααΆα ααααΆαα’αααΈααααΌαααΆαααααΎααααΆαα αα·ααααααααΆαααααααΌαα αααΆα" Bolsens ααααααα - α’αααααααΌααα·ααααΆααΈαααα αΆααΌαα αααα’ααααααα»αααααΆααΆααααααααΆαα αααααα·ααΈααΆα αααΎαααααααα»αααααΎαααΆααα αααα»αααααααααααα·ααααααααΆααααα αα α»αααααααααααΆαααα αααΎααααΈααααΎααααΆααααααΆααααΆαα αααΎαα ααΆα§ααΆα ααα ααΌααα machine learning αααααααΎα ααα½αααα αααΎαααααααΆαααα»αααααΌαααα ααα»ααααβαα αααβααΎαβαα·ααΆαβα’αααΈβααΆαβαααααΎαβααααΏα ααΎαβααααΌαβαα·αβαα·αβααααΉαααβα’αααΈβααΆαβαααααΎαααααΏαβαα»αααααΌαααβααα»αααααβαα ααα»ααααβααβα’αααΈβααΆααααααΎαααααΏαβα αααααΆαα ααΆααααααααβαααααβΒ»βα
α§ααΆα ααα αα αααα»αααααααααααααα·ααααα·ααΆααα·ααααΆαααΆαααΈαααα Bolsens ααΆααα·ααααΆαααα»αααΆαα’αα»αααα αααα αα 50% αααααααααΆααααΌαααΆαα αααΆααααα»αααΆαααααααα·αααααααα αααααΆαααΆααααα»αααααΌαααααααααααααα α αΎααα αααααααΆαααααααΆααααααααααΆααα»ααααααααααααΌαα αααΆαααΎααΆαααααΆααααααα½αα―αα
βαααααΆααααααααααααα»ααα·αααΆ FPGA α’αΆα αα½αααΆα ααΈαααααααΎαα’αΆα ααΆααΆααΆααΆαααααααααααΆ αα·αααααΆαααααααααααααα·ααΈααααΌαααΆαααααΎα±αααααααΎαα α αΎαααΎαα’αΆα ααααΎααΆααΆααα ααααα·αα αααααΆαα ααΆααααααααααΆααααΌα αα·ααα ααααα·ααααααααΈαα αααααΊααΆαα»ααααααααα·ααα’ααα αΆααααα½ααα FPGAs αααα’αα»ααααΆαα±ααα’ααααααααΎααααααΆαααααΆαααααααααααΆαααααααΌαααΆααααααα·ααΈααΆααααΆααα αααααα’ααααΎααααΌααααααΆααα αααΆαα·αααααααα αααα»αααααα»αααΆαααΆα AI αααα»ααα·αααΎααααααΌαααΆααααααΆααααααΆαααααααααααααΆαααΌαααααΆαααΎααΆαααααΆααααααΌααααα»αααααΆααααααα α’αααα’αΆα αααααΎααααααΆααα½ααααααΆαααα αΌααα·ααααααααα α’αα»ααααααΌα ααααΆα αααααα·α αα ααΆαααααα»ααααααΆααααααΆααααααααααΆα - α’αααα’αΆα αααααΎααααααΆαααααΆαααααααΆαααα ααααα ααααααααΆααααααααααα ααΉααα·α αα ααΆαααΆααααΆαααα½αα αααααααΎ FPGA αα·ααΈααΆαααααααα·αααααα αα·αααααααΈ topologies α’αΆα ααααΌαααΆαααααΎααΆαααααααΆααααΆαααΆααααΆαα αα·ααααααΌααα ααΆααααααα·ααΈααΆααααΆαααα½αα α αΎαβαααα»αβααααΈβααβααΆαβαααβαααΆαααΈα ααΆβααβα αααΆααβαααβααΆβααΎαβαα·αβααααΌαβααΆαβαααβα ααα»α βα’αααααβααΉαβαααβααΆαβααΆαβααΆααααΆααβααααβααβαα α αΎαβααΎαβααβα’αΆα βααβααααα½αβααΆαβααβαααΒ»α
ααΆααα»αααααΆαααΆα FPGA αα·α CPU α¬ ASIC ααααΆαααααα½αααΊααΆ ααααααααααααααΌαααΆααααααα·ααΈαα αααα ααα α αΎααααααΆααααΈααα α’ααααα·αα’αΆα ααααΆααααααΌαα α·αααααααα’αααα’αααΈαααααααααα·ααααααααααααα»αααααΌαααΆαααααΆ α¬ααΆαα»ααααααα»αααααΌαααΆαααααΆ α¬α’αααΈαααααααααα·ααααααα α αΌαααΆααααα§αααααα FPGAs α’αα»ααααΆαα±ααα’αααααααΆααααααΌαα α·αααααααα·αααΎααααααααααααα·ααααα·ααΆαααααΆααααααΌαα
ααΆαααΈαα»α α’ααααααααααααααααΆααααααα»αααααααα½α αα αααααααααααα·ααΈ FPGA αα·αααααααααΆααα’αααααααααααααΌααααααα αααααΌαααΆαααΊααααΌαααΎααααααα·ααΈα ααααα FPGA ααΎααααΈααααΎαααΆα ααααααααΆααααααα’ααΆαα½αα§ααααααααα’αααααααααααααα·ααΈααααΎααΎααααΈααααααααααα·ααΈ CPU-parallel αα αααα»α C, C++, α¬ Python αα·αααΎααααΈααααααααααααΆαααΆααα½αα ααα½ααα αααααΆαααααααααααΎαααααΏαααααΎαααΆαααΎ FPGAs α αααααΊααΆα’αααΈααα Vitis machine learning stack ααααΎ ααααααααααΆαααααααααα·ααΆ ML ααΌα ααΆ Caffe αα·α TensorFlow ααΆαα½αααΉααααααΆααααααααΆααααααΎαααΆαααααΌ AI ααααααΆ α¬αααααααααααααΆα FPGA αα ααΉααα·α αα ααΆαααΌα ααΆααΆαααααααααΈααα’αΌ ααΆαααα½αααααΆααααααα»ααΈααα’αΌ αα·αααΆααα·ααΆααα·αααααα ααΆααααααααααα αΆαα·αααα α·ααααααααα» αα·αααΈααΈ - αααααΆαααααααααα
αααα·αααααα·ααα»αααααΆα αααΎαααΈαααααα CUDA αααα Nvidia αααααΆαααΎαααααΎαααΆαααΆαααΈαα½ααααααααααα»α ααααααα»αααΆαααααΆαααααα ααΉα GPU accelerator α¬ααΈαααα ααα§ααααα ROCm αααα AMD α¬ααΈααΆααααααΆαααααααα OneAPI αααα Intel ααααα½αααααααΎαααΆαααΎαααΈααΈααΌ GPUs αα·α FPGA ααααααααααΆα
αααα½ααααα½ααααααΊααΆααΎα§αααααααΆααα’αααααααΉαααααΌαααΆαααααΆααααΆαα½αααααΆαααΆαααΌα ααααα ααΎααααΈα±ααααα»αααααΆααααΆααα’αΆα αααα ααααααα·ααΈααΆααααα»αααααΌαααααΆαααΆαααααα α α·ααααααααα½αααα αααααΊααααΆααααααα FPGAs ααΆαααααααα»αααααΆα αααα»αααααΆαααΆα CPUs ααΆαα½ααααααΆαα αα½αααΆααααΌαααΆαααα·ααααααααΎααααΎαααΆαααα·αααααα·αααααααααα»α αα·ααα αα αααα·ααααΆααα ααα αααααααααΈαααααΎααααα»αα α αΎααα½αααααΉααααααααααΈααααΆααα·ααααααααα½ααα αααα ααα»ααΆααΎααα·αα’αΆα ααααααααΆααααααααΆ αα»α ααΆααα αα·ααααααΆααΆαααααα - ααΆαααααααΊααΆααααΆααααααααα
Bolsens αα·ααΆαααΆ "FPGAs αααααα’αααααααααααααααααα
αα
αααα·ααααΆ" α - α αΎαααααα·ααααααααΆααααααΆααΆαααααΆαααΆαα·αααααααααααααΆα’αααΈααΆαααααααααα½α αα·αααΆαααααααα
ααΆααααααααα‘αΎααα·ααααααα αα
αααα»ααααααα·ααΈααααΆαααααΆααα’αα - ααΆαααααααΆαααΈα ααΆααα·ααΆαααααΆα αα ααΆααα½αααΌαααααΏαααΏαααα - αα½αααααΆααααααααΆααααα»αααΆαααααααααα½ααα
ααΉααα·α
αα
ααΆαααΆααααΆαααα½α αα·αααααΉαααααααΌαα
ααα
αΆααα·ααααααααα»ααααααα ααα»αααααααααΆααααααΆααααααααα’αααα
αα
αΆαααααα - αα·ααΈααααα·ααααααααααΆααααΈαααα»ααααααααΈαα FPGAs ααααΆαα’αααα
αα
αΆαα
αααΎαααααααααΎαα‘αΎααα
αααα»ααα½αααΆααΆαα§αααααααααααααα ααΆαααα½αααααΌααααααα·α
αΆαααΆαααααααΆ ααααα·αααΎαα·α
αα
ααΆααα·αααααΉα FPGA αα½α α’αααα’αΆα
ααααΎααΆαααααααΆαααΆααααααΆαααααααααΈαααΆα
αααΎαααααα·ααα½αααααααα»ααα·ααααα·ααααααα
αΆαα’ααααα
αααααααΎααΆαααααααΆααα·α
αα
ααΆαααααααΆαα CPU α¬ GPUs α
αααΎαα
ααααα: www.habr.com
