
FPGA-de jaoks programmeerimiseks ei pea te olema kiibidisainer, nagu ka Java koodi kirjutamiseks ei pea te olema C++ programmeerija. Kuid mĂ”lemal juhul pole see tĂ”enĂ€oliselt ĂŒleliigne.
MĂ”lema tehnoloogia, Java ja FPGA kommertsialiseerimise eesmĂ€rk on kummutada viimane vĂ€ide. Hea uudis FPGA-de jaoks on see, et Ă”igete abstraktsioonikihtide ja tööriistakomplektiga on viimase 35 aasta jooksul, alates programmeeritava loogikaseadme leiutamisest, muutunud ĂŒha tavalisemaks algoritmide ja andmevoogude loomine FPGA-de jaoks CPU-de, DSP-de ja GPU-de asemel. vĂ”i mis tahes muud kohandatud ASIC-i vormid.
Nende loomise hĂ€mmastav ajastus ilmneb selles, et just siis, kui protsessorid ei saanud enam jÀÀda ainsaks arvutusmooduliks andmekeskused Erinevate ĂŒlesannete tĂ€itmiseks ja erinevatel pĂ”hjustel on FPGA-d saavutanud oma efektiivsuse, pakkudes suurt jĂ”udlust, vĂ€ikest latentsust, vĂ”rguĂŒhendust ja mĂ€lu â need on tĂ€napĂ€evaste FPGA SoC-de mitmekesised arvutusvĂ”imalused, mis on praktiliselt tĂ€ielikud arvutisĂŒsteemid. Siiski kombineeruvad FPGA-d edukalt ka teiste seadmetega hĂŒbriidsĂŒsteemides ja meie arvates alles hakkavad leidma oma Ă”iget kohta arvutushierarhias.
SeetĂ”ttu korraldasime 22. jaanuaril San Joses konverentsi The Next FPGA Platform. Loomulikult on Xilinx ĂŒks peamisi FPGA tarnijaid maailmas ja teerajaja selles valdkonnas. Xilinxi vanemasepresident ja CTO Ivo Bolsens pidas konverentsil peaettekande ja jagas meiega tĂ€na oma mĂ”tteid selle kohta, kuidas Xilinx aitab luua skaleeritavat andmekeskuse andmetöötlust.
SĂŒsteemiarhitektidel ja programmeerijatel on kulunud aega, et jĂ”uda heterogeense andmekeskuseni, mis mahutaks erinevat tĂŒĂŒpi arvutusvĂ”imsust ning tegeleks arvutus-, salvestus- ja vĂ”rguĂŒlesannetega. See tundub vajalik, sest Moore'i seaduse jĂ€rgimine erinevate CMOS-kiipide puhul on ĂŒha keerulisem. Praegu on meie keel endiselt protsessorikeskne ja me rÀÀgime endiselt "rakenduste kiirendamisest", mis tĂ€hendab, et programmid töötavad paremini kui see, mida saab teha ainult protsessoriga. LĂ”puks saavad andmekeskustest arvutusvĂ”imsuse, salvestusruumi ja kĂ”ike ĂŒhendavate protokollide kogumid ning me naaseme selliste terminite juurde nagu "arvutus" ja "rakendused". HĂŒbriidarvutus saab sama tavaliseks kui tĂ€napĂ€eva pilveteenused, mis töötavad traditsioonilistel vĂ”i virtuaalmasinad... ja mingil hetkel kasutame nende töö kirjeldamiseks lihtsalt sĂ”na âarvutidâ. Mingil hetkel â ja FPGA-d mĂ€ngivad selle ajastu sissejuhatamisel tĂ”enĂ€oliselt olulist rolli â nimetame seda taas andmetöötluseks.
FPGA-de rakendamine andmekeskustes nĂ”uab mĂ”tteviisi muutmist. "TĂ€napĂ€eva rakenduste kiirendamise viisidele mĂ”tlemine on nende tööpĂ”himĂ”tte, ressursside kasutamise ja aja vĂ”tmise kohta," selgitab Bolsens. Peate uurima ĂŒldist probleemi, mida proovite lahendada. Paljud praegu andmekeskustes töötavad rakendused suurenevad ja vĂ”tavad palju ressursse. VĂ”tame nĂ€iteks masinĂ”ppe, mis kasutab tohutul hulgal andmetöötlussĂ”lmi. Aga kiirendusest rÀÀkides ei pea mĂ”tlema ainult andmetöötluse kiirendamisele, vaid ka infrastruktuuri kiirendamisele.
NĂ€iteks masinĂ”ppe operatsioonide puhul, mida Bolsens praktikas uuris, kulub umbes 50% ajast andmete edasi-tagasi edastamiseks hajutatud arvutusseadmete vahel ja ainult ĂŒlejÀÀnud pool ajast kulub tegelikele arvutustele.
"Ma arvan, et siin saab FPGA aidata, kuna saame tagada, et nii rakenduse arvutuslikud kui ka sideaspektid on optimeeritud. Ja me saame seda teha ĂŒldisel infrastruktuuri tasemel ja kiibi tasemel. See on FPGA-de ĂŒks suuri eeliseid, mis vĂ”imaldab teil luua sidevĂ”rke konkreetsete rakenduste vajaduste jaoks. JĂ€lgides tehisintellekti tööga seotud ĂŒlesannetes tĂŒĂŒpilisi andmete liikumise mustreid, ei nĂ€e ma vajadust keeruka lĂŒlititel pĂ”hineva arhitektuuri jĂ€rele. Saate luua suure andmevooga vĂ”rgu. Sama kehtib ka nĂ€rvivĂ”rkude treenimise ĂŒlesannete kohta â saab ehitada vĂ”rgusilma, mille paketisuurused kohanduvad konkreetse ĂŒlesandega. FPGA-de abil saate vĂ€ga tĂ€pselt skaleerida ja peenhÀÀlestada konkreetse rakenduse sideprotokolle ja vooluahela topoloogiat. Ja masinĂ”ppe puhul on ka selge, et me ei vaja topelttĂ€psusega ujukoma numbreid ja saame ka seda kohandada.
FPGA ja CPU vĂ”i kohandatud ASIC erinevus seisneb selles, et viimased on tehases programmeeritud ja pĂ€rast seda ei saa te ĂŒmber mĂ”elda arvutatud andmete vĂ”i arvutatud elementide tĂŒĂŒpide vĂ”i toimuva andmevoo olemuse osas. seadme kaudu. FPGA-d vĂ”imaldavad teil oma meelt muuta, kui töötingimused muutuvad.
Varem tuli selle eelise eest maksta, kui FPGA programmeerimine ei olnud nĂ”rganĂ€rvilistele. FPGA kompilaatorid tuleb avada, et need integreeruksid paremini tööriistadega, mida programmeerijad kasutavad C-, C++ vĂ”i Pythoni protsessoritele paralleelsete andmetöötlusrakenduste loomiseks, ning pĂŒhendada osa tööst teekidele, mis kiirendavad FPGA-de protseduure. Just see on Vitise masinĂ”ppepinn ML-i raamistike, nagu Caffe ja TensorFlow, keskmes, koos raamatukogudega tavaliste AI-mudelite kĂ€itamiseks vĂ”i FPGA-vĂ”imaluste lisamiseks sellistele ĂŒlesannetele nagu video ĂŒmberkodeerimine, videoobjektide tuvastamine ja andmete analĂŒĂŒs. , finantsriskide haldamine ja kĂ”ik muud kolmandate osapoolte raamatukogud.
See kontseptsioon ei erine palju Nvidia CUDA projektist, mis sai alguse kĂŒmme aastat tagasi ja nihutas paralleelarvutuse GPU kiirenditele vĂ”i AMD ROCm tööriistakomplektile vĂ”i Inteli OneAPI projekt lubab töötada erinevatel protsessoritel, GPU-del ja FPGA-l.
Ainus kĂŒsimus on selles, kuidas kĂ”ik need tööriistad omavahel ĂŒhendatakse, et iga inimene saaks programmeerida arvutusvĂ”imsusi oma Ă€ranĂ€gemise jĂ€rgi. See on oluline, kuna FPGA-d on muutunud keerukamaks, palju keerulisemaks kui ĂŒkski saadaolev protsessor. Need on toodetud kĂ”ige arenenumate tootmisprotsessidega ja kasutades kĂ”ige kaasaegsemaid kiibipakendamise tehnoloogiaid. Ja nad leiavad oma niĆĄi, sest me ei saa enam raisata aega, raha, energiat ja mĂ”istust â kĂ”ik need on liiga kallid ressursid.
"FPGA pakub tehnoloogilisi eeliseid, " ĂŒtleb Bolsens. "Ja see pole lihtsalt tavaline kohanemis- ja ĂŒmberkonfigureeritavuse reklaam. KĂ”ikides olulistes rakendustes â masinĂ”pe, graafikute analĂŒĂŒs, kiire kauplemine jne. - neil on vĂ”ime kohaneda konkreetse ĂŒlesandega mitte ainult andmete levitamise tee, vaid ka mĂ€lu arhitektuur - kuidas andmed kiibis liiguvad. Samuti on FPGA-del palju rohkem mĂ€lu sisse ehitatud kui teistel seadmetel. Samuti peaksite arvestama, et kui ĂŒlesanne ei mahu ĂŒhte FPGA-sse, saate selle skaleerida mitmele kiibile, ilma et peaksite silmitsi seisma puudustega, mis teid ootavad ĂŒlesannete skaleerimisel mitmele protsessorile vĂ”i GPU-le.
Allikas: www.habr.com
