Intel
Mări / „Mega Trends in HPC” de la Intel se reduce la sarcinile de AI, care rulează pe mai multe tipuri de hardware, în mare parte în medii cloud – nu pe premise -.

Intel Corporation

Sâmbătă după-amiază (16 noiembrie) la Supercomputing 2019, Intel a lansat un nou model de programare numit oneAPI. Intel descrie necesitatea unei cuplări strânse de tip middleware și cadre direct la hardware-ul specific ca unul dintre cele mai mari puncte de durere ale dezvoltării AI / Machine Learning. Modelul oneAPI este destinat să extragă această cuplare strânsă, permițând dezvoltatorilor să se concentreze asupra proiectului lor real și să reutilizeze același cod atunci când hardware-ul de bază se schimbă.

Acest fel de „scrie o dată, alerga oriunde” mantra amintește de primele pasuri ale lui Sun pentru limbajul Java. Cu toate acestea, Bill Savage, directorul general al performanței de calcul pentru Intel, a declarat pentru Ars că nu este o caracterizare precisă. Deși fiecare abordare abordează aceeași problemă de bază – cuplarea strânsă la hardware-ul mașinii, ceea ce face viața dezvoltatorilor mai dificilă și obținerea modului de reutilizare a codului – abordările sunt foarte diferite.

Când un dezvoltator scrie cod Java, sursa este compilată la bytecode, iar o mașină virtuală Java adaptată hardware-ului local execută acel bytecode. Deși multe optimizări au îmbunătățit performanța Java în cei peste 20 de ani de la introducerea sa, este încă mult mai lent decât codul C ++ în majoritatea aplicațiilor – de obicei, oriunde de la jumătate la o zecime la fel de rapid. În schimb, oneAPI este destinat să producă cod obiect direct, fără penalități de performanță neglijabile.

Când am chestionat Savage despre proiectarea și așteptările de performanță ale OneAPI, el a distanțat-o ferm de Java, subliniind că nu este implicat un bytecode. În schimb, oneAPI este un set de biblioteci care leagă apelurile API-agnostice hardware direct la un cod de nivel scăzut puternic optimizat, care conduce hardware-ul disponibil în mediul local. Deci, în loc de „Java pentru inteligență artificială”, preluarea la nivel înalt este mai mult pe linia „OpenGL / DirectX pentru Inteligență artificială”.

Pentru o codificare chiar și mai performantă în buclele strânse, OneAPI introduce, de asemenea, o nouă variantă de limbaj numită „Data Parallel C ++”, care permite chiar și codul optimizat la nivel foarte scăzut pentru a viza mai multe arhitecturi. Data Parallel C ++ se foloseste si extinde SYCL, un strat de abstractizare "sursa unica" pentru programarea OpenCL.

În versiunea sa actuală, un dezvoltator oneAPI trebuie să vizeze tipul hardware de bază la care codifică – de exemplu, procesoare, GPU sau FPGA. Dincolo de această direcționare de bază, OneAPI păstrează codul optimizat pentru orice variantă hardware acceptată. Acest lucru ar permite, de exemplu, utilizatorii unui proiect dezvoltat oneAPI să ruleze același cod fie pe Tesla v100 Nvidia, fie pe propriul GPU Ponte Vecchio, lansat de Intel.

Ponte Vecchio este primul produs real din noua linie Xe GPU a Intel și este vizat în mod special la supercomputing HPC și la utilizarea centrelor de date. Deși Nici Savage, nici alți executanți Intel nu au vorbit despre Ars, nu au avut timpi sau vor vorbi cu produse concrete, o prezentare din prezentarea Intel Supercomputing 2019 arată în mod clar arhitectura Xe ca fiind utilizarea stației de lucru, a dispozitivelor mobile și a jocurilor, astfel încât pot exista momente interesante pentru rivali. în acele spații.

Savage i-a spus lui Ars că, deși versiunea actuală a oneAPI, totuși, necesită dezvoltatorilor codul pentru o anumită familie de arhitectură – CPU, GPU, FPGA, etc. – Intel intenționează ca o versiune viitoare să permită și selecția automată a celui mai optim tip hardware disponibil.

Setul de instrumente OneAPI este disponibil pentru utilizare și testare acum la Intel Devcloud.

Sursa articol

LĂSAȚI UN MESAJ

Please enter your comment!
Please enter your name here