Scalene, alat otvorenog koda za dramatično ubrzavanje Pythona

Znanstvenici Sveučilišta Massachusetts Amherst koriste umjetnu inteligenciju kako bi brzinu računanja ubrzali tisuće puta

Mladen Smrekar srijeda, 30. kolovoza 2023. u 07:02
Novi alat zaobilazi hardverske probleme koji ograničavaju brzinu računalne obrade 📷 UMASS
Novi alat zaobilazi hardverske probleme koji ograničavaju brzinu računalne obrade UMASS

Računalni znanstvenici Sveučilišta Massachusetts Amherst, predvođeni Emeryjem Bergerom, nedavno su predstavili nagrađivani Python profiler pod nazivom Scalene. Programi napisani Pythonom mogu biti spori, a Scalene učinkovito identificira gdje točno Python zaostaje, dopuštajući programerima da otklone probleme i poboljšaju izvedbu koda.

Precizna identifikacija

"Python je postao vrlo popularan kao alat za rudarenje podataka i strojno učenje jer je ima izvrsne module prilagođene ovim problemima. Međutim, neke operacije radi 100 do 1000 puta sporije od drugih jezika, a izvršavanje nekih zadataka može trajati i do 60.000 puta dulje nego u drugim jezicima", kaže Berger, profesor računarstva na Manningovom koledžu informacijskih i računalnih znanosti. 

Tvorci Scalenea Emery Berger, Juan Altmayer Pizzorno i Sam Stern 📷 UMASS
Tvorci Scalenea Emery Berger, Juan Altmayer Pizzorno i Sam Stern UMASS

Postojeći profileri koji bi trebali detektirati i optimizirati sporije dijelove koda iznenađujuće malo pomažu programerima. U najboljem slučaju, oni pokazuju da je regija koda spora i prepuštaju programeru da shvati što se i može li se uopće učiniti.

Svaki klik na munju ili eksploziju generira različite predložene optimizacije 📷 UMASS
Svaki klik na munju ili eksploziju generira različite predložene optimizacije UMASS

Scalene istraživača s Amhersta prvi je profiler koji precizno identificira neučinkovitosti u Python kodu i pritom koristi umjetnu inteligenciju koja sugerira kako se kod može poboljšati. Alat prvo otkriva gdje na čemu program gubi vrijeme i fokusira se na CPU, GPU i korištenje memorije, tri ključna područja odgovorna za većinu usporene brzine Pythona.

Nagrađeni rad

Nakon što identificira gdje Python ima problema s održavanjem koraka, Scalene koristi UI, iskorištavajući istu tehnologiju koja podupire ChatGPT, i predlaže načine za optimiziranje pojedinačnih redaka ili čak grupiranja koda. 

Scalene je predstavljen na ovogodišnjoj USENIX konferenciji o dizajnu i implementaciji operativnih sustava, gdje je osvojio nagradu za najbolji rad, a otkako je predstavljen na GitHubu, već se naširoko koristi i preuzet je više od 750.000 puta.