FPGA datu-zentroetan sartzearen saihestezina

FPGA datu-zentroetan sartzearen saihestezina
Ez duzu txip-diseinatzailea izan behar FPGAetarako programatzeko, ez duzu C++ programatzaile izan behar Javan kodea idazteko. Hala ere, bi kasuetan seguruenik erabilgarria izango da.

Java zein FPGA teknologiak merkaturatzeko helburua azken aldarrikapen hori ezeztatzea da. Albiste onak FPGAentzat - abstrakzio-geruza eta tresna-multzo egokiak erabiliz, gailu logiko programagarria asmatu zenetik azken 35 urteetan, FPGAetarako algoritmoak eta datu-fluxuak sortzea CPU, DSP, GPU edo beste edozein ASIC pertsonalizatuen ordez bihurtu da. gero eta ohikoagoa.errazagoa.

Haien sorkuntzaren garaitasun harrigarria nabaria da, hain zuzen, PUZak datu-zentroetako informatika-modulu bakarra izan ezin zirenean zeregin asko egiteko -arrazoi ezberdinengatik- FPGAek eraginkortasuna lortu zuten, abiadura, latentzia txikia, sareko gaitasunak eskainiz. eta memoria - FPGA SoC modernoen konputazio gaitasun heterogeneoak, ia erabateko konputazio-sistemak direnak. Hala ere, FPGAak beste gailu batzuekin ere arrakastaz konbinatzen dira sistema hibridoetan, eta, gure ustez, informatika-hierarkian dagokien lekua aurkitzen hasi besterik ez dira egiten.

Horregatik, The Next FPGA Platform hitzaldia antolatu genuen San Josen urtarrilaren 22an. Jakina, munduko FPGA hornitzaile nagusietako bat eta arlo horretan aitzindaria Xilinx da. Ivo Bolsens, Xilinxeko presidenteorde senior eta teknologiako zuzendari nagusia, hitzaldian hitz egin du eta bere pentsamenduak eman dizkigu gaur Xilinx-ek datu-zentroetarako informatika-sistema aldagarriak sortzen nola laguntzen duen.

Sistema-arkitektuek eta programatzaileek denbora asko behar izan zuten datu-zentro heterogeneo bat sortzeko, informatika, biltegiratze eta sareko arazoak konpontzen dituzten hainbat ordenagailu-potentzia izango dituena. Beharrezkoa dirudi hori, izan ere, gero eta zailagoa da Moore-ren Legea jarraitzea hainbat CMOS gailu erabiliz. Oraingoz, gure hizkuntzak CPUan oinarritzen da oraindik, eta oraindik ere "aplikazioen azelerazioaz" hitz egiten dugu, hau da, programak PUZetan bakarrik egin daitekeena baino hobeto exekutatzeko. Denborarekin, datu-zentroak konputazio-ahalmenaren, datuen biltegiaren eta guztia lotzen duten protokoloen bilduma bihurtuko dira, eta "informatika" eta "aplikazioak" bezalako terminoetara itzuliko gara. Informatika hibridoa mahaigainean edo makina birtualetan exekutatzen diren gaur egungo hodeiko zerbitzuak bezain normal bihurtuko da, eta noizbait "informatika" hitza besterik gabe erabiliko dugu nola funtzionatzen duten deskribatzeko. Noizbait -eta litekeena da FPGAk garai honi hasiera ematen lagunduko diotela- berriro datuen prozesamendua deituko diogu.

Datu-zentroetan FPGAak hartzeak pentsamolde aldaketa eskatuko du. "Gaur egungo aplikazioak bizkortzeko moduak pentsatzean, nola exekutatzen diren, zer baliabide erabiltzen diren, non gastatzen den denboraren oinarrietara iritsi behar zara", azaldu du Bolsensek. – Ebazten saiatzen ari zaren arazo orokorra aztertu behar duzu. Gaur egun datu-zentroetan exekutatzen diren aplikazio asko baliabide kopuru handiak kontsumitzen dituzte. Hartu ikaskuntza automatikoa, adibidez, informatika-nodo ugari erabiltzen dituena. Baina azelerazioaz hitz egiten dugunean, informatika bizkortzeaz gain, azpiegiturak bizkortzeaz ere pentsatu behar duguΒ».

Esaterako, Bolsensek praktikan ikertu zituen ikaskuntza automatikoko eragiketetan, denboraren % 50 gutxi gorabehera konputazio potentzia sakabanatuaren artean datuak transferitzen igarotzen da, eta gainerako denboraren erdia bakarrik ematen da kalkuluetan.

"Hor uste dut FPGAk lagun dezakeela, aplikazioaren alderdi konputazionalak eta komunikazioak optimizatuta daudela ziurtatu dezakegulako. Eta hori egin dezakegu azpiegitura maila orokorrean, eta txip mailan. Hau da FPGAen abantaila handietako bat, aplikazio-behar zehatzetarako komunikazio-sareak sortzeko aukera ematen baitu. AI laneko kargaren datuen mugimenduaren eredu tipikoetan oinarrituta, ez dut ikusten etengailuetan oinarritutako arkitektura konplexu baten beharrik. Datu-fluxu handi batekin sare bat eraiki dezakezu. Gauza bera gertatzen da sare neuronaleko prestakuntza-zereginekin: sare-sare bat eraiki dezakezu zeregin zehatz batera egokitzen diren pakete-tamainekin. FPGA bat erabiliz, datuak transferitzeko protokoloak eta zirkuituen topologiak oso zehatz eskalatu eta aplikazio zehatz batera egokitu daitezke. Eta ikaskuntza automatikoaren kasuan, gainera, argi dago ez dugula doitasun bikoitzeko koma mugikorreko zenbakiak behar, eta hori ere doi dezakegulaΒ».

FPGA baten eta CPU edo ASIC pertsonalizatu baten arteko aldea da azken hauek fabrikan programatzen direla, eta ondoren ezin duzula gehiago iritziz aldatu kalkulatzen diren datu edo elementuen motei buruz, ezta datuen izaerari buruz ere. gailuan zehar isurtzea. FPGAek iritziz aldatzeko aukera ematen dute funtzionamendu-baldintzak aldatzen badira.

Iraganean, abantaila horrek kostu bat zeukan, FPGA programazioa ez zenean bihotz ahulentzat. Beharrezkoa da FPGA konpiladoreak irekitzea, programatzaileek C, C++ edo Python-en CPU-paraleloko aplikazioak idazteko erabiltzen dituzten tresnekin hobeto integratzeko, eta lan batzuk FPGAen prozedurak bizkortzen dituzten liburutegietara azpikontratatzea. Hau da Vitis machine learning pilak egiten duena, Caffe eta TensorFlow bezalako ML plataformak elikatzen dituena, ohiko AI ereduak exekutatzeko liburutegiekin edo FPGA gaitasunak gehitzeko bideo transkodeketa, bideo objektuen aitorpena eta datuen analisia, finantza-arriskuen kudeaketa eta hirugarren edozein zereginetan. -Festetako liburutegiak.

Kontzeptu hau ez da oso ezberdina duela hamarkada bat abian jarritako Nvidiaren CUDA proiektutik, zeinak konputazio paraleloa deskargatzen baitu GPU azeleragailuetara, edo AMD-ren ROCm tresna-tresnetik, edo Intel-en OneAPI proiektuaren promesatik, zeinak CPU, GPU eta FPGA ezberdinetan exekutatu beharko lukeen.

Galdera bakarra da nola konektatuko diren tresna horiek guztiak elkarrekin, edozein pertsonak bere diskrezioan konputazio-ahalmen multzo bat programatu dezan. Hau garrantzitsua da FPGAak konplexuagoak bihurtu direlako, eskuragarri dauden PUZetako edozein baino askoz ere konplexuagoak. Fabrikazio-prozesu aurreratuenak eta txirbilak biltzeko teknologia modernoenak erabiliz fabrikatzen dira. Eta beren nitxoa aurkituko dute, ezin baitugu jada denbora, dirua, energia eta adimena alferrik galdu - baliabide garestiegiak dira horiek guztiak.

"FPGAek abantaila teknologikoak eskaintzen dituzte", dio Bolsensek. – Eta hau ez da moldagarritasunari eta birkonfiguragarritasunari buruzko ohiko publizitatea soilik. Aplikazio garrantzitsu guztietan: ikaskuntza automatikoa, grafikoen analisia, abiadura handiko merkataritza, etab. - Datuen banaketarako bidea ez ezik, memoria-arkitekturara ere egokitzeko gaitasuna dute zeregin zehatz batera - datuak nola mugitzen diren txiparen barruan. FPGAek beste gailu batzuek baino askoz ere memoria gehiago dute barneratuta. Kontuan izan behar da, halaber, zeregin bat FPGA batean sartzen ez bada, hainbat txiptan eskala dezakezula hainbat PUZ edo GPUtan zereginak eskalatzean zain dituzun desabantailak aurkitu gabe.

Iturria: www.habr.com

Gehitu iruzkin berria