Una entrevista amb James Reinders d’Intel – EEJournal

Intel està fent moltes grans apostes per millorar els processos de semiconductors, construint noves fàbriques i plantes de fabricació a tot el món, noves tecnologies d’embalatge i fins i tot programari. Una d’aquestes apostes, o potser un grup d’apostes, és oneAPI i Data Parallel C++ (DPC++), que són un model de programació obert i entre arquitectura que allibera els desenvolupadors per utilitzar una única base de codi a través de múltiples arquitectures i una variant de programació paral·lela. de C/C++ basat en Khronos SYCL. Aquestes apostes estan dissenyades per facilitar als desenvolupadors de programari la creació de codi relativament portàtil per a sistemes basats en arquitectures informàtiques heterogènies.

James Reinders va tornar recentment a Intel després d’una absència de quatre anys. Anteriorment, va passar 27 anys a Intel i té molta experiència en processament paral·lel. És l’autor del llibre titulat “Data Parallel C++: Domini de DPC++ per a la programació de sistemes heterogenis mitjançant C++ i SYCL”, que pots descarregar gratuïtament fent clic a l’enllaç.

Fa poc vaig estar una hora entrevistant a Reinders i va tractar una àmplia gamma de temes. Aquí teniu una versió editada de les seves opinions sobre un conjunt seleccionat d’aquests temes relacionats amb el processament paral·lel i la informàtica heterogènia.

Una API i SYCL:

“Tant oneAPI com SYCL són eines fonamentals que comparteixen una visió de la informàtica accelerada basada en especificacions obertes i projectes oberts. Tant oneAPI com SYCL han de satisfer les necessitats de diversos proveïdors i múltiples arquitectures. No només les necessitats d’un venedor. No només GPU, CPU o FPGA. Les eines han d’estar obertes al màxim que puguem esbrinar com fer-les obertes, perquè aquests llenguatges i entorns de programació us ofereixen una base d’alt rendiment per a tot el que feu”.

A Python versus C/C++ o DPC++ amb una API

“Python s’escriu en gran part en C. Les biblioteques de claus també s’escriuen en C, així que no és que ignoreu Python quan desenvolupeu una API. Si encertes la base, passaran altres coses bones. OneAPI diu: “Ei, els llenguatges C o C++ no són tot el món. Necessites biblioteques. Necessites eines. Necessites altres idiomes”. Per tant, oneAPI és una mena de nom general no només per als idiomes, sinó per a la resta de coses que necessiteu per desenvolupar programari per a la informàtica heterogènia.

Sobre “L’edat d’or dels ordinadors” de John Hennessy i David Patterson

“John Hennessy i David Patterson són llegendes de la nostra indústria. Cada vegada que han parlat en públic durant els últims quatre anys, han parlat d’una nova edat d’or de l’arquitectura d’ordinadors. La versió que acostumo a assenyalar més és l’article que van posar a Comunicacions de l’ACM a principis del 2019, on fan una gran feina discutint la progressió de les arquitectures d’ordinadors al llarg del temps, i acaben amb la resposta. Diuen que estem entrant en una nova edat d’or de l’arquitectura informàtica on les arquitectures específiques de domini (DSA) especialitzades s’utilitzen cada cop més per accelerar les càrregues de treball i per obtenir un millor rendiment per watt, la qual cosa és una preocupació impulsora per a alguns problemes. OneAPI està dissenyat per gestionar aquests DSA en un entorn de programació unificat.

Sobre Chiplets i UCIe:

“Si només mireu la cartera d’Intel, tenim tot tipus de capacitats d’acceleració. Posem acceleradors de maquinari especialitzats a la mateixa matriu amb els nostres processadors. Tenim GPU. Tenim FPGA. Tenim Gaudí, que està optimitzat per a l’aprenentatge profund. Tenim ASIC de cadena de blocs i tenim projectes de recerca que inclouen treballs sobre informàtica neuromòrfica i gràfics, i això és només Intel. Entres més àmpliament al sector i veus encara més diversitat.

“El que realment em porta tot això a casa és l’ús imminent d’UCIe, l’Universal Chiplet Interconnect Express. Ja sabeu, en els vells temps connectàvem targetes PCIe per posar diferents funcions als ordinadors, incloses les targetes de so i alguns acceleradors gràfics primerencs. La idea era que si volies tenir un accelerador o alguna cosa que fes una funció especialitzada, fins i tot una targeta de so, la posaves en una ranura de la placa base.

“Ara la pregunta és quan estàs acumulant fitxes, què fas? No hi ha ranures. Cada cop més, els nostres dissenys són dispositius multixip fets de chiplets o rajoles. [Intel’s top-of-the-line GPU] Ponte Vecchio està fet amb un nombre boig de chiplets, amb 47 fitxes actives. Com aconsegueix que totes aquestes fitxes parlin entre elles quan provenen de diferents venedors?

“Podeu estandarditzar com parlen entre ells. S’ha fet una mica d’això ad hoc. Ja sabeu, Intel tenia un SKU fa un temps on vam emparellar un processador amb una GPU AMD. Òbviament, algú s’havia posat d’acord sobre com es parlarien aquests dispositius. Aquesta és una raó natural per crear un estàndard.

“Diguem que Intel té una CPU Xeon que utilitza aquest estàndard. Alguna altra empresa, potser una startup, pot desenvolupar un petit chiplet que fa alguna cosa molt específica. Si aquest chiplet també utilitza aquest estàndard, de sobte, aquesta empresa d’inici només pot demanar a Intel que enganxi el seu chiplet a la CPU Xeon al mateix paquet. A continuació, podeu deixar aquesta CPU Xeon augmentada a una placa base estàndard que podeu obtenir de Dell o d’un altre proveïdor. Per això serveix la UCIe.

“Hi ha beneficis immediats amb aquesta capacitat. No cal que dissenyeu un nou sistema o placa base. Només heu de desplegar la CPU augmentada en un sistema existent.

“I aleshores la pregunta és, fins a quin punt és difícil introduir el programari en un sistema com aquest? Si les eines de programari estan preparades per a aquest tipus d’arquitectura de diversos proveïdors, i si aquestes eines inclouen el compilador, les biblioteques i les eines d’anàlisi de rendiment, llavors és molt més fàcil desenvolupar programari per a aquest tipus d’arquitectura augmentada. Es redueix la barrera d’entrada del programari. La barrera d’entrada del maquinari es redueix a causa del pas als chiplets i l’adopció d’una interconnexió estàndard de chiplets. Arribeu al mercat molt més ràpidament”.

Sobre l’adquisició de Codeplay per part d’Intel

“L’empresa Codeplay va estar disponible i Intel va decidir adquirir-los. Em va emocionar. He treballat amb la gent de Codeplay i m’ha encantat treballar amb ells. Fa temps que treballen a les GPU Nvidia i AMD, però, com a empresa comercial, sempre buscaven algú que subscrivi la seva feina. El voldrà algun client? Alguns dels laboratoris de vegades els donaven diners inicials, però no prou per produir completament el seu treball. Dubto una mica a dir “xec en blanc”, però bàsicament ara tenen un xec en blanc d’Intel per produir el seu treball i no s’han de preocupar perquè ningú més ho pagui. Hauríeu de veure els resultats d’aquesta adquisició a finals d’any.

“Veureu que les seves eines s’integren amb les versions d’Intel de SYCL de manera que SYCL/DPC++ acabi sent capaç d’orientar-se a totes les GPU d’Intel, Nvidia i AMD. La gent coneixedora podria crear aquest tipus de programari utilitzant eines de codi obert durant l’últim any. Però siguem sincers, la majoria de nosaltres volem ser tan mandrosos com podem. M’agrada molt poder descarregar un binari amb un clic, instal·lar-lo i fer-lo funcionar, en lloc de crear-lo a partir de fitxers de codi obert i llegir moltes instruccions per convertir els fitxers en eines utilitzables.

“També estem transferint la gestió de la comunitat oneAPI a Codeplay i la transformaran en una cosa impulsada per la indústria. Diem que està impulsat per la indústria, però Intel va haver de subjectar el llapis amb molta força perquè la indústria ho impulsés. Ara Codeplay executarà el programa per ajudar a la transició al control total de la indústria.

Sobre l’adquisició d’ArrayFire per part d’Intel

“Ja saps, Codeplay dóna feina a prop de 100 enginyers. ArrayFire en té quatre. Per tant, l’adquisició d’aquestes dues empreses és diferent en aquest sentit. Però la gent d’ArrayFire té molt talent i, òbviament, tenen una història profunda amb les empreses, amb la tecnologia. Són autèntics pioners. De fet, potser heu vist que vaig publicar un petit bloc la setmana passada esmentant l’adquisició d’ArrayFire. (Vegeu “ArrayFire Team s’uneix a Intel per a oneAPI.”)

“Quan em vaig trobar amb John [Melonakos, CEO & Co-Founder of ArrayFire] la setmana abans de publicar el bloc, li vaig demanar que escrigués alguna cosa sobre l’adquisició i el que va escriure va ser realment modest. Vaig dir: “Oh, Déu meu! Vosaltres sou pioners. Necessitem alguna cosa més que això!” John va estar d’acord, així que vaig afegir algunes paraules sobre el treball pioner d’ArrayFire perquè estic molt enamorat de les coses que han fet. Estem molt emocionats de tenir-los a bord.

“Per que ho sàpigues, els nois d’ArrayFire van desenvolupar moltes coses que finalment es van convertir en els conjunts d’eines paral·leles i eines relacionades a MATLAB. Ho van vendre o van llicenciar aquestes eines i després van crear una biblioteca de GPU intrínseca portàtil que és realment fàcil d’utilitzar. Aquests intrínsecs només s’executen a les GPU de qualsevol persona. Per tant, estaven resolent el problema d’escriure codi per a GPU sense escriure aquest codi [Nvidia’s] CUDA, perquè els desenvolupadors de programari poguessin aprofitar la GPU de qualsevol persona. Alguns investigadors de Facebook van utilitzar els elements intrínsecs d’ArrayFire per desenvolupar codi per a l’aprenentatge automàtic i van obtenir acceleracions fantàstiques. El seu codi va funcionar millor que la implementació CUDA, que és un veritable testimoni dels nois d’ArrayFire. Realment entenen com optimitzar el rendiment de la GPU. Qualsevol GPU.”

Sobre el futur de oneAPI

“Veig que es faran un parell de grans passos per a oneAPI en els propers anys. En primer lloc, hem de demostrar que oneAPI funciona per a Intel. Hem fet un gran treball demostrant que una API fa un gran treball a les nostres CPU i als nostres FPGA. Tothom està esperant [support for] te [Intel] GPU Ponte Vecchio i els seus successors. Això passarà. Fer néixer una nova arquitectura sempre és dolorós, per molt que diem que no ho serà. He passat per això més d’unes quantes vegades, així que crec que serà molt emocionant. Estic molt emocionat amb el que farà el Ponte Vecchio.

“Però demostrar que oneAPI satisfà realment les necessitats d’Intel i les necessitats dels clients d’Intel en tots els sentits és el primer gran repte. El següent repte és demostrar que oneAPI funciona bé per a altres arquitectures. Per tant, les coses que he esmentat sobre Codeplay, pel que fa al suport de Nvidia i AMD… durant els propers dos anys, veureu alguns resultats interessants publicats. Publicarem més resultats aquest any, però durant els propers dos anys, crec que arribarà al punt en què s’entendrà comú que oneAPI és viable per als desenvolupadors de programari que s’orienten a diverses arquitectures de diversos proveïdors. Ara mateix, hi ha moltes proves d’això de manera anecdòtica, amb els primers adoptants que han publicat molts articles ordenats durant els últims anys que mostren resultats positius, però encara no és de coneixement comú. Crec que d’aquí a dos anys, serà de coneixement comú. Aquesta és la meva expectativa.

“Així és el nivell alt. Què dimonis és oneAPI? Ho veuràs a l’esdeveniment Intel Innovation. Moure el desenvolupament i el suport d’oneAPI a Codeplay és el següent pas en l’evolució dels estàndards. Crec que Intel va fer un gran treball donant a llum oneAPI, però ara necessita ajuda addicional, així que Intel ha de deixar anar una mica. Ajudo Intel a fer-ho i estic animant la indústria a dir-nos què és el més important per guiar oneAPI a partir d’aquí”.

Leave a Comment

Your email address will not be published. Required fields are marked *