Root NationȘtiriștiri ITMIT dezvoltă un nou limbaj de programare pentru computere de înaltă performanță

MIT dezvoltă un nou limbaj de programare pentru computere de înaltă performanță

-

Calculul de înaltă performanță este necesar pentru a rezolva din ce în ce mai multe sarcini – cum ar fi procesarea imaginilor sau diverse aplicații de învățare profundă pe rețele neuronale – în care trebuie să procesați cantități uriașe de date și să o faceți suficient de rapid, altfel poate dura o cantitate incredibilă de timp. Se crede larg că atunci când se efectuează astfel de operațiuni, un compromis între viteză și fiabilitate este inevitabil. Conform acestei gândiri, dacă viteza este o prioritate, atunci fiabilitatea este probabil să sufere și invers.

Cu toate acestea, un grup de cercetători cu sediul în principal la Institutul de Tehnologie din Massachusetts (MIT) contestă această noțiune, argumentând că de fapt le poți avea pe toate. Potrivit Amanda Liu, studentă absolventă în anul doi la Laboratorul de Informatică și Inteligență Artificială (CSAIL) al MIT, cu un nou limbaj de programare pe care l-au scris special pentru calculul de înaltă performanță, „viteza și corectitudinea nu trebuie să concureze. Dimpotrivă, pot merge împreună, una lângă alta, în programele pe care le scriem”. Liu și echipa ei au vorbit despre potențialul ATL (A Tensor Language) nou creat luna trecută, la conferința Principles of Programming Languages ​​​​din Philadelphia.

„Totul în limba noastră”, spune Liu, „are scopul de a obține fie un singur număr, fie un tensor”. Tensorii, la rândul lor, sunt o generalizare a vectorilor și matricelor. În timp ce vectorii sunt obiecte unidimensionale (deseori reprezentate prin săgeți individuale) și matricele sunt rețele bidimensionale de numere familiare, tensorii sunt rețele n-dimensionale care pot lua forma unei matrice 3×3×3, de exemplu, sau chiar dimensiune mai mare (sau joasă).

MIT dezvoltă un nou limbaj de programare pentru computere de înaltă performanță

Esența unui algoritm sau program de calculator este de a iniția un anumit calcul. Dar pot exista multe moduri diferite de a scrie acest program -- "o varietate surprinzătoare de implementări de cod diferite", după cum scriu Liu și co-autorii ei în lucrarea lor -- dintre care unele sunt semnificativ mai rapide decât altele. Raționamentul principal din spatele ATL, explică ea, este următorul: „Având în vedere că calculul de înaltă performanță necesită atât de mult resurse, doriți să puteți modifica sau rescrie programe într-o formă optimă pentru a accelera lucrurile. Adesea, începeți cu programul care este cel mai ușor de scris, dar s-ar putea să nu fie cel mai rapid mod de a-l rula, așa că mai trebuie să faceți ajustări suplimentare.”

Noul limbaj de comandă se bazează pe limbajul Coq existent, care include un ajutor pentru dovezi. Asistentul de demonstrare, la rândul său, are capacitatea de a-și dovedi afirmațiile cu precizie matematică. Coq are o altă proprietate care l-a făcut atractiv pentru grupul MIT: programele scrise în limba respectivă, sau o adaptare a acesteia, se termină întotdeauna și nu pot rula la infinit în bucle infinite.

Acum este primul și până acum singurul limbaj tensor cu optimizări verificate formal. Echipa MIT avertizează, totuși, că ATL este încă doar un prototip -- deși unul promițător -- care a fost testat pe o serie de programe mici.

Citeste si:

Dzhereloscitechdayly
Inscrie-te
Notifică despre
oaspete

0 Comentarii
Recenzii încorporate
Vezi toate comentariile