
áááºááẠFPGAs á¡ááœáẠáááá¯ááááºá¡ááœáẠáá»á
áºááºáá®ááá¯ááºáá¬ááŒá
áºááẠáááá¯á¡ááºáá«á Java ááœáẠáá¯ááºáá±ážááẠC++ áááá¯ááááºáá¬áá
áºáŠážááŒá
áºááẠáááá¯á¡ááºáá«á ááá¯á·áá±á¬áº ááŒá
áºáááºááŸá
áºáá¯á
áá¯á¶ážááœáẠáááºážááẠá¡áá¯á¶ážáááºááá¯ááºáááºááŒá
áºáááºá
Java ááŸáá·áº FPGA áááºážááá¬áá»á¬ážááᯠá á®ážááœá¬ážááŒá áºááŒá¯áá¯ááºááŒááºážá áááºááœááºáá»ááºááŸá¬ áááºážááŒá±á¬ááá¯áá»ááºááᯠááŒááºážááá¯áááºááŒá áºáááºá FPGAs á¡ááœáẠááááºážáá±á¬ááºáž - ááŒá®ážáá²á·áá±á¬ 35 ááŸá áºá¡ááœááºáž áááá¯ááááºáá®ááá¯ááºáá±á¬ áá¯áá¹áááá±ááááááá¬ááᯠáá®ááœááºááŒá®ážáá±á¬áẠCPUs, DSPs, GPUs ááá¯á·ááá¯áẠá¡ááŒá¬ážá áááºááŒáá¯áẠASICs áá»á¬ážá¡á á¬áž FPGAs á¡ááœáẠalgorithms ááŸáá·áº data flows áá»á¬ážááᯠáááºáá®ážáá±ážááá·áº ááŸááºáááºáá±á¬ abstraction á¡ááœáŸá¬áá»á¬ážááŸáá·áº toolset ááᯠá¡áá¯á¶ážááŒá¯á ááŒá áºáá¬ááẠááá¯áá»á¬ážáá¬áááºá ááá¯ááœááºáááºá
CPU áá»á¬ážááẠáá
áºáá¯áááºážáá±á¬ ááœááºáá»á°áᬠáá±á¬áºáá»á°ážá¡ááŒá
Ạááááºáááºááá¯ááºáá±á¬á·ááá·áºá¡áá»áááºááœáẠáááºážááá¯á·ááᯠáááºáá®ážááŸá¯á á¡á¶á·ááŒááœááºáá±á¬ááºážáá±á¬ á¡áá»áááºááá¯ááºááŸá¯ááᯠáááºááŸá¬ážá
áœá¬ ááŒááºááœá±á·ááááºá áá±áá¬á
ááºáá¬áá»á¬áž ááœá²ááŒá¬ážáá±á¬ áá¯ááºáááºážáá¬áááºáá»á¬ážá¡ááœááºâááœá²ááŒá¬ážáá±á¬ á¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážááŒá±á¬áá·áºâFPGA áá»á¬ážááẠááŒáá·áºáá¬ážáá±á¬á
áœááºážáá±á¬ááºáááºá ááŸá±á¬áá·áºááŸá±ážááŸá¯áááºážáá«ážááŒááºážá ááœááºáááºáá»áááºáááºááŸá¯ááŸáá·áº ááŸááºáá¬ááºâááá¯á·ááᯠáá±ážáá±á¬ááºááŒááºážááŒáá·áº áááºážááá¯á·ááááá±á¬ááºááŸá¯ááᯠáááŸááá²á·ááŒá®ážâáááºážááá¯á·ááẠáááºááœá±á·ááœáẠááŒá®ážááŒáá·áºá
á¯á¶áá±á¬ ááœááºáá»á°áá¬á
áá
áºáá»á¬ážááŒá
áºáááºá ááá¯á·áá±á¬áºá FPGA áá»á¬ážááẠhybrid á
áá
áºáá»á¬ážááŸá á¡ááŒá¬ážá
ááºáá
á¹á
ááºážáá»á¬ážááŸáá·áºáááºáž á¡á±á¬ááºááŒááºá
áœá¬áá±á«ááºážá
ááºááá¯ááºááŒá®ážá áá»áœááºá¯ááºááá¯á·áá¡ááŒááºááœááºá ááœááºáá»á°áá¬á¡ááá·áºááá·áºááœáẠáááºážááá¯á·áááŸááºáááºáá±á¬áá±áá¬ááᯠááŸá¬ááœá±ááœá±á·ááŸáááẠá
áááºáá¯ááºáá±á¬ááºáá±áá²ááŒá
áºáááºá
ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠáááºááá«áá®á 22 áááºáá±á·ááœáẠSan Jose ááœáẠThe Next FPGA Platform áá®áá¬áá¶ááᯠáá»ááºážááá²á·áá«áááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá ááá¹áá¬áá±á«áºááŸá á¡ááá FPGA áá±ážááœááºážáá°áá»á¬ážááŸáá·áº á€á§áááá¬ááœáẠááŸá±á·áá±á¬ááºáá
áºáŠážááŸá¬ Xilinx ááŒá
áºáááºá Xilinx ááŸá¡ááŒá®ážáááºážáá¯áááá¥áá¹ááá¹áááŸáá·áºáááºážááá¬á¡áá¬ááŸááá»á¯áẠIvo Bolsens áááºáá®áá¬áá¶ááœááºááŒá±á¬ááŒá¬ážááŒá®ážáá±áá¬á
ááºáá¬áá»á¬ážá¡ááœáẠXilinx áááºááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ááœááºáá»á°áá¬á
áá
áºáá»á¬ážáááºáá®ážáááºáááºáá²á·ááá¯á·áá°áá®áá±áááºááŸáá·áº áááºáááºá ááá±á·áá»áœááºá¯ááºááá¯á·á¡á¬ážáá»áœááºá¯ááºááá¯á·á¡á¬ážáááºážáá¡ááŒá¶á¥á¬ááºáá»á¬ážááá¯áá±ážáá²á·áááºá
á áá áºáááá¯áá¬ááá¬ááŸááºáá»á¬ážááŸáá·áº áááá¯ááááºáá¬áá»á¬ážááẠááá°áá®áá±á¬ ááœááºáá»á°áá¬á áœááºážá¡á¬ážá¡áá»áá¯ážá¡á á¬ážáá»á¬ážá ááœááºáá»á°áá¬á ááá¯ááŸá±á¬ááºááŸá¯ááŸáá·áº ááœááºáááºáá»áááºáááºááŸá¯áá¯ááºáááºážáá»á¬ážááᯠááá¯ááºááœááºááŒááºážááá¯á· áá¬ážááŸáááá·áº ááœá²ááŒá¬ážááá·áºáá±áá¬á ááºáá¬áá áºáá¯ááá¯á· áá±á¬ááºááŸáááẠá¡áá»áááºá¡áá±á¬áºááŒá¬áá²á·áááºá CMOS áá»á áºááºá¡áá»áá¯ážáá»áá¯ážááŒáá·áº Moore's Law ááᯠááá¯ááºáá¬ááŒááºážááẠááá¯ááá¯áááºáá²áá¬áá±á¬ááŒá±á¬áá·áº áááºážááẠááá¯á¡ááºáá¯á¶ááááºá ááá¯á¡áá»áááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááá¬áá¬á áá¬ážááẠCPU-centric ááŒá áºáá±á¬áºáááºáž "application acceleration" á¡ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á· ááŒá±á¬ááá¯áá±ááŒáá²ááŒá áºááŒá®ážá ááá¯ááá¯áááºááŸá¬ áááá¯ááááºáá»á¬ážááẠCPU áá áºáá¯áááºážááœáẠáá¯ááºáá±á¬ááºááá¯ááºáááºááẠááá¯ááá¯áá±á¬ááºážááœááºá áœá¬ áááºáááºááá¯ááºáááºá áá±á¬ááºáá¯á¶ážááœááºá áá±áá¬á ááºáá¬áá»á¬ážááẠááœááºáá»á°áá¬á áœááºážá¡á¬ážá ááá¯ááŸá±á¬ááºááŸá¯ááŸáá·áº á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá±á«ááºážá ááºáá±ážááá·áº protocol áá»á¬ážá á á¯á ááºážááŸá¯áá»á¬áž ááŒá áºáá¬áááºááŒá áºááŒá®áž "compute" ááŸáá·áº "applications" áá²á·ááá¯á·áá±á¬ á¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááá¯á· áá»áœááºá¯ááºááá¯á· ááŒááºááœá¬ážáá«áááºá Hybrid computing ááẠááá±á·áá±áẠcloud áááºáá±á¬ááºááŸá¯áá»á¬ážáá²á·ááá¯á· áá¯á¶ááŸááºááŒá áºáá¬áááºááŒá áºááŒá®ážá áááºážááá¯á·ááẠááá¯ážáᬠááá¯á·ááá¯áẠvirtual á ááºáá»á¬ážáá áºáá»áááºáá»áááºááŸá¬ áá°ááá¯á·áá²á·á¡áá¯ááºááᯠáá±á¬áºááŒááá¯á· "computing" ááá¯áá²á· á áá¬ážáá¯á¶ážááᯠááá¯ážááá¯ážááŸááºážááŸááºážáá² áá¯á¶ážááœá¬ážááŸá¬áá«á áá áºáá»áááºáá»áááºááŸá¬âááŒá®ážáá±á¬á· FPGA ááœá±áᬠáá®áá±ááºááᯠá áááºáá¬ááŸá¬ á¡áá±ážáá«áá¬ááá¯á·áá»á¬ážáá«áááºâáá»áœááºáá±á¬áºááá¯á·á áá«ááᯠdata processing ááá¯á· ááŒááºáá±á«áºáá«áááºá
áá±áá¬á ááºáá¬áá»á¬ážááœáẠFPGAs ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááẠá áááºááá±á¬áá¬ážááŒá±á¬ááºážáá²ááŸá¯áá áºáᯠááá¯á¡ááºáááºááŒá áºáááºá "ááá±á·á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠá¡ááŸáááºááŒáŸáá·áºááẠáááºážáááºážáá»á¬ážááᯠá ááºážá á¬ážáá±á¬á¡áá«á áááºážááá¯á·áááºáááºáá¯á¶á áááºááá·áºá¡áááºážá¡ááŒá áºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá á¡áá»áááºáá¯ááºáááºááá¯á·ááᯠá¡ááŒá±áá¶áá»á¬ážáá®ááá¯á· áááºáááºážááá«áááº" áᯠBolsens á ááŸááºážááŒáááºá - áááºááŒá±ááŸááºážáááºááŒáá¯ážá á¬ážáá±áá±á¬ áá±áá°áá»ááŒá¿áá¬ááᯠáá±á·áá¬ááẠááá¯á¡ááºáááºá ááá±á·áá±áẠáá±áá¬á ááºáá¬áá»á¬ážááœáẠáááºáááºáá±áá±á¬ á¡ááá®áá±ážááŸááºážáá»á¬ážá áœá¬ááẠáááºážááŒá áºá¡ááŒá±á¬ááºá¡ááŒá¬ážááᯠá á¬ážáá¯á¶ážáááºá¡ááœáẠá¡ááá¯ááºážá¡áá¬áá áºáá¯á¡áá áá»ááºááŒáá·áºáá¬áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá ááœááºááŒá°áá¬áá¯á¶áá¶áá«ááºáá»á¬ážá áœá¬ááᯠá¡áá¯á¶ážááŒá¯ááá·áº machine learning ááá¯áá°áá«á áá«áá±ááá·áº á¡ááŸáááºááŒáŸáá·áºááŒááºážá¡ááŒá±á¬ááºáž ááŒá±á¬áá²á·á¡áá«á ááœááºááŒá°áᬠá¡ááŸáááºááŒáŸáá·áºááá¯á·áá¬áá á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠ á¡ááŸáááºááŒáŸáá·áºááá¯á·ááá¯áááºáž á ááºážá á¬ážááá¯á· ááá¯áá«áááºáâ
á¥ááá¬á¡á¬ážááŒáá·áºá Bolsens ááẠáááºááœá±á·áá±á·áá¬áá²á·ááá·áº machine learning áááºáááºááŸá¯áá»áá¯ážááœááºá á¡áá»áááºá 50% ááá·áºááẠdispersed computing power áá»á¬ážááŒá¬ážááœáẠdata áá»á¬ážá¡ááŒááºá¡ááŸááºááœáŸá²ááŒá±á¬ááºážáá¯á¶ážá áœá²ááŒááŒá®áž áá»ááºá¡áá»áááºáá áºáááºááᯠáááºážááá¯á·ááá¯ááºááá¯áẠááœááºáá»ááºááŸá¯ááœáẠá¡áá¯á¶ážááŒá¯áá«áááºá
"áá®áá±áá¬ááŸá¬ FPGA á áá°áá®ááá¯ááºáááºááá¯á· áá»áœááºáá±á¬áºáááºáá«áááºá áá¬ááŒá áºááá¯á·áá²ááá¯áá±á¬á· á¡ááºááá®áá±ážááŸááºážáá²á· ááœááºáá»ááºááŸá¯ááá¯ááºáá¬áá²á· áááºááœááºáá±ážááá¹áááœá±ááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬áẠáá¯ááºáá±á¬ááºááá¯ááºáá¬ááŒá±á¬áá·áºáá«á ááŒá®ážáá±á¬á· á¡áá¯á¶ážá á¯á¶ á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠá¡ááá·áºáá²á· áá»á áºááºá¡ááá·áºááŸá¬ áá«ááᯠáá»áœááºáá±á¬áºááá¯á· áá¯ááºááá¯ááºáá«áááºá áááºážááẠFPGAs á ááŒá®ážáá¬ážáá±á¬ á¡á¬ážáá¬áá»ááºáá»á¬ážáá²á០áá áºáá¯ááŒá áºááŒá®áž áááºááẠáá®ážááŒá¬áž application ááá¯á¡ááºáá»ááºáá»á¬ážá¡ááœáẠáááºááœááºáá±ážááœááºáááºáá»á¬ážááᯠáááºáá®ážááá¯ááºá á±áá«áááºá AI workloads áá»á¬ážááŸá áá±áá¬ááŸá¯ááºááŸá¬ážááŸá¯áá»á¬ážá áá¯á¶ááŸááºáá¯á¶á á¶áá»á¬ážáá±á«áºááœáẠá¡ááŒá±áá¶á ááŸá¯ááºááœá±ážáá±á¬ switch-based architecture á¡ááœáẠááá¯á¡ááºáááºááᯠáá»áœááºá¯ááºáááŒááºáá«á ááŒá®ážáá¬ážáá±á¬áá±áá¬á á®ážáááºážááŸá¯ááŒáá·áº ááœááºáááºáá áºáá¯ááᯠáááºáá±á¬ááºááá¯ááºáááºá á¡á¬áá¯á¶ááŒá±á¬ááœááºááẠáá±á·áá»áá·áºáá±áž áá¯ááºáááºážáá»á¬ážááŸáá·áº áá°áá®ááẠ- áááºááẠáá®ážááŒá¬ážáá¯ááºáááºážáá áºáá¯ááŸáá·áº ááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±ááá·áº áááºáááºá¡ááœááºá¡á á¬ážáá»á¬ážááŒáá·áº ááœááºáááºáá áºáá¯ááᯠáááºáá±á¬ááºááá¯ááºáááºá FPGA ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº áá±áá¬ááœáŸá²ááŒá±á¬ááºážááŒááºážááá¯ááºáᬠáááá¯ááá¯áá±á¬áá»á¬ážááŸáá·áº áá¬ážáá Ạtopologies áá»á¬ážááᯠá¡ááœááºáááá»á áœá¬ á¡ááá¯ááºážá¡áá¬ááŸáá·áº áááá»áá±á¬á¡ááºááºáá áºáá¯á¡ááœáẠá¡á¶áááºááœááºáá»ááŒá áºá á±ááá¯ááºáááºá á ááºáááºáá°ááŸá¯ááá á¹á ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáááá»ááŸá¯ááŸá áºáááŸááá±á¬ floating point áá¶áá«ááºáá»á¬ážáááá¯á¡ááºááŒá±á¬ááºážááá¯áááºáž ááŸááºážááŸááºážáááºážáááºážáááááŒá®áž áááºážááá¯áááºáž áá»áááºááŸáááá¯ááºáááºá
FPGA ááŸáá·áº CPU ááá¯á·ááá¯áẠá áááºááŒáá¯áẠASIC á¡ááŒá¬áž ááŒá¬ážáá¬ážáá»ááºááŸá¬ áááºážááá¯á·ááẠá ááºáá¯á¶ááœáẠáááá¯ááááºááŒá¯áá¯ááºáá¬ážááŒááºážááŒá±á¬áá·áºááŒá áºááŒá®ážá ááá¯á·áá±á¬ááºááœáẠááœááºáá»ááºáá±ááá·áº áá±áá¬á¡áá»áá¯ážá¡á á¬ážáá»á¬áž ááá¯á·ááá¯áẠááœááºáá»ááºáá±ááá·áº ááŒááºá ááºáá»á¬áž ááá¯á·ááá¯áẠáá±áá¬á ááá±á¬ááá¬áááŸáá·áº áááºáááºá áááºá áááºááŒá±á¬ááºážááá¯ááºáá±á¬á·ááẠááá¯ááºáá«á áááááá¬ááŸáááá·áºá á®ážáááºážá FPGA áá»á¬ážááẠááá·áºá¡á¬áž áááºáááºááŸá¯á¡ááŒá±á¡áá±áá»á¬áž ááŒá±á¬ááºážáá²áá«á ááá·áºá áááºááᯠááŒá±á¬ááºážáá²á á±ááá¯ááºáááºá
á¡ááááºáá¬áááœáẠFPGA áááá¯ááááºááẠá áááºááá»ááºáá°áá»á¬ážá¡ááœáẠááá¯ááºáá²á C, C++, ááá¯á·ááá¯áẠPython ááœáẠCPU-parallel applications áá»á¬ážáá±ážáá¬ážááẠáááá¯ááááºáá¬áá»á¬ážá¡áá¯á¶ážááŒá¯ááá·áº tools áá»á¬ážááŸáá·áº ááá¯ááá¯áá±á¬ááºážááœááºá áœá¬áá±á«ááºážá ááºážááẠFPGA compilers áá»á¬ážááá¯ááœáá·áºáááºááŸáá·áº FPGAs ááœááºáá¯ááºáá¯á¶ážáá¯ááºáááºážáá»á¬ážááá¯á¡ááŸáááºááŒáŸáá·áºáá±ážááá·áºá á¬ááŒáá·áºááá¯ááºáá»á¬ážááá¯á·á¡áá¯ááºá¡áá»áá¯á·ááᯠoutsource áá¯ááºáááºááŒá áºáááºá ááá¬ážááá¯ážáá» AI áá±á¬áºáááºááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááẠááá¯á·ááá¯áẠFPGA á áœááºážáááºáá»á¬áž áá±á«ááºážááá·áºááŒááºážá¡ááœáẠá á¬ááŒáá·áºááá¯ááºáá»á¬ážáá«ááŸááá±á¬ Caffe ááŸáá·áº TensorFlow áá²á·ááá¯á· ML ááááºáá±á¬ááºážáá»á¬ážááᯠá áœááºážá¡á¬ážááŒáŸáá·áºáá±ážááá·áº Vitis machine learning stack ááẠáá®áá®ááá¯áá°ážááŒá±á¬ááºážááŒááºážá áá®áá®ááá¯á¡áá¬ááá¹áá¯ááŸááºááááŒááºáž ááŸáá·áº áá±áá¬ááœá²ááŒááºážá áááºááŒá¬ááŒááºážáá²á·ááá¯á·áá±á¬ áá¯ááºáááºážáá±á¬ááºáá¬áá»á¬ážááŒá áºáááºáá ááá¹áá¬áá±ážá¡áá¹ááá¬ááºá á®áá¶ááá·áºááœá²ááŸá¯ááŸáá·áº ááááá¡ááŒáááºááŒá±á¬áẠ- áá«áá®á á¬ááŒáá·áºááá¯ááºáá»á¬ážá
á€á¡áá°á¡áááẠááœááºáá²á·ááá·áºáááºá á¯ááŸá áºáá áºáá¯á á áááºáá²á·áá±á¬ Nvidia á CUDA ááá±á¬áá»ááºááŸáá·áº áá»á¬ážá áœá¬ááœá¬ááŒá¬ážááŸá¯áááŸááá«á áááºážááẠGPU accelerators ááá¯á·ááá¯áẠAMD á ROCm áááááá¬áááºáá¬ááá¬áá»á¬ážá០ááá¯á·ááá¯áẠááá°áá®áá±á¬ CPUs, GPUs ááŸáá·áº FPGA áá»á¬ážáá±á«áºááœááºáááºáááºááá·áºáá±á¬ Intel á OneAPI ááá±á¬áá»ááºá០áááááááºáá»á¬ážááŸáá·áº ááá°áá«á
áá áºáá¯áááºážáá±á¬áá±ážááœááºážááŸá¬ á€áááááá¬áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáááºáá°áá áºáŠážáá áºáá±á¬ááºá០áááºážááá¯á·ááá¯á¶ážááŒááºáá»ááºá¡ááá¯ááºáž ááœááºááŒá°áá¬á áœááºážá¡á¬ážá¡á á¯á¶á¡áááºááᯠáááá¯ááááºááŒá¯áá¯ááºááá¯ááºá á±ááẠá€áááááá¬á¡á¬ážáá¯á¶ážááᯠáááºáá²á·ááá¯á·áá»áááºáááºáááºáááºážá FPGA áá»á¬ážááẠáááŸáááá¯ááºáá±á¬ CPU áá»á¬ážááẠáá»á¬ážá áœá¬ááá¯ááá¯ááŸá¯ááºááœá±ážáá¬áá±á¬ááŒá±á¬áá·áº áááºážááẠá¡áá±ážááŒá®ážáá«áááºá áááºážááá¯á·ááᯠáá±ááºá¡áá®áá¯á¶áž áá¯ááºáá¯ááºááŸá¯ áá¯ááºáááºážá ááºáá»á¬ážááŸáá·áº áá±ááºá¡áá®áá¯á¶áž áá»á áºááºáá¯ááºááá¯ážááŸá¯ áááºážááá¬áá»á¬ážááŒáá·áº áá¯ááºáá¯ááºáá¬ážáááºá áá»áœááºá¯ááºááá¯á·ááẠá¡áá»áááºá ááœá±á á áœááºážá¡ááºááŸáá·áº áá¬ááºáááºááᯠáááŒá¯ááºážááá¯ááºáá±á¬á·áá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááẠáááºážááá¯á·á áááºáááºááᯠááŸá¬ááœá±ááŒáááá·áºááẠ- áááºážááá¯á·á¡á¬ážáá¯á¶ážááẠá¡ááœááºá á»á±ážááŒá®ážáá±á¬ á¡áááºážá¡ááŒá áºáá»á¬ážááŒá áºáááºá
"FPGAs áá»á¬ážááẠáááºážááá¬ááá¯ááºáᬠá¡á¬ážáá¬áá»ááºáá»á¬ážááᯠáá±ážáá±á¬ááºáááº" áᯠBolsens áááá¯áááºá - á€áááºááŸá¬ ááá¯ááºáá»á±á¬áá®ááœá±ááŸáááŸá¯ááŸáá·áº ááŒááºáááºááŒááºáááºááá¯ááºááŸá¯ááá¯ááºáᬠáá¯á¶ááŸááºááŒá±á¬áºááŒá¬áá»áŸáá¬ááá¯ááºáá«á á¡áá±ážááŒá®ážáá±á¬ á¡ááá®áá±ážááŸááºážáá»á¬ážá¡á¬ážáá¯á¶ážááœáẠ- á
ááºáááºáá°ááŸá¯á ááááºáá
áºááœá²ááŒááºážá
áááºááŒá¬ááŸá¯á ááŒááºááŸá¯ááºážááŒáá·áº áá¯ááºááœááºááŸá¯á
ááẠ- áááºážááá¯á·ááẠáá±áá¬ááŒáá·áºáá±ááŸá¯áááºážááŒá±á¬ááºážáá¬áá ááŸááºáá¬ááºáááá¯áá¬ááá¯ááºáᬠáá®ážááŒá¬ážáá¯ááºáááºážáá¬áááºáá
áºáá¯ááá¯á· ááá¯ááºáá»á±á¬áá®ááœá±ááŒá
áºá¡á±á¬áẠáá¯ááºáá±á¬ááºááá¯ááºá
áœááºážááŸááááºá FPGA áá»á¬ážááẠá¡ááŒá¬ážá
ááºáá
á¹á
ááºážáá»á¬ážááẠáááºážááá¯á·ááœááºááá·áºááœááºážáá¬ážáá±á¬ memory á¡áá»á¬ážá¡ááŒá¬ážááŸááááºá á¡áá¯ááºáá
áºáá¯ááẠFPGA áá
áºáá¯ááŸáá·áº áááá¯ááºáá®áá«áá CPU á¡áá»á¬ážá¡ááŒá¬áž ááá¯á·ááá¯áẠGPUs á¡áá»á¬ážá¡ááŒá¬ážááœáẠáá¯ááºáá±á¬ááºá
áá¬áá»á¬ážááᯠáá»á²á·ááœááºáá±á¬á¡áá«ááœáẠááá·áºá
á±á¬áá·áºááá¯ááºážáá±áá±á¬ á¡á¬ážáááºážáá»ááºáá»á¬ážááᯠáááœá±á·ááŒá¯á¶áá² áá»á
áºááºá¡áá»á¬ážá¡ááŒá¬ážááœáẠá¡ááá¯ááºážá¡áá¬áá
áºáá¯á¡áá ááá¯ááºážáá¬ááá¯ááºáááºááá¯áááºáž ááá·áºááœááºážá
ááºážá
á¬ážááá·áºáááºá
source: www.habr.com
