Clear Sky Science · it
LIMO: annealer in-memory a basso consumo e primitiva di moltiplicazione di matrici per l’edge computing
Percorsi più intelligenti e chip più snelli
Ogni giorno, le aziende affrontano rompicapi come trovare il percorso più breve per un camion di consegne che visita migliaia di fermate o analizzare rapidamente immagini per riconoscere volti con una videocamera alimentata a batteria. Questi problemi mettono sotto sforzo i computer odierni, che spostano grandi quantità di dati avanti e indietro tra memoria e processori. Questo articolo presenta LIMO, un nuovo blocco di calcolo a basso consumo che mantiene i dati al loro posto mentre risolve compiti di pianificazione di percorsi complessi ed esegue modelli di intelligenza artificiale (IA), rendendo i futuri dispositivi edge più veloci ed energeticamente efficienti.
Perché trovare buoni percorsi è così difficile
Al centro di questo lavoro c’è il famoso Problema del Commesso Viaggiatore: dato un insieme di città, trovare il tour più breve che visita ciascuna città una sola volta e ritorna al punto di partenza. Per mappe piccole, strumenti matematici esatti possono trovare la soluzione ottimale. Ma man mano che il numero di città cresce fino a decine di migliaia, il numero di tour possibili esplode e anche i computer potenti si bloccano. Euristiche come il simulated annealing possono esplorare questo vasto spazio alla ricerca di tour buoni, sebbene non perfetti, accettando occasionalmente soluzioni intermedie peggiori per evitare di rimanere intrappolate. Tuttavia, gli approcci standard continuano a esplorare lo spazio di ricerca in modo inefficiente per problemi molto grandi e sprecano tempo trasferendo dati tra memoria e CPU, colpendo la cosiddetta “memory wall”.

Un nuovo modo di esplorare le possibilità
Gli autori propongono un nuovo algoritmo chiamato Significance Weighted Annealed Insertion (SWAI) che ristruttura il modo in cui vengono esplorati i tour candidati. Invece di scambiare costantemente coppie di città, operazione che scala male con l’aumentare del numero di città, SWAI costruisce i tour passo dopo passo, inserendo una nuova città alla volta. Ad ogni passo, a volte sceglie la città più vicina successiva (una scelta greedy) e altre volte si affida a una casualità controllata che favorisce i bordi candidati più corti senza escludere completamente quelli più lunghi. Questo bias viene regolato nel tempo, iniziando più avventuroso e diventando più conservativo man mano che la ricerca procede. Poiché ogni passo considera le opzioni in modo che cresca solo linearmente col numero di città, l’algoritmo esplora miglioramenti a lungo raggio più efficacemente rispetto al simulated annealing tradizionale.
Calcolo dentro la memoria con casualità integrata
LIMO trasforma questo algoritmo in hardware progettando congiuntamente i circuiti e il metodo di ricerca. Al suo centro c’è una matrice di memoria modificata che memorizza sia il tour corrente sia le distanze tra le città, e che esegue i principali passi di aggiornamento senza dover comunicare continuamente con un processore separato. Le scelte casuali richieste dall’algoritmo provengono da minuscoli dispositivi magnetici chiamati spin-transfer-torque magnetic tunnel junctions, che cambiano naturalmente stato in modo imprevedibile quando vengono pilotati con la corrente appropriata. I progettisti convertono questa casualità fisica in bit digitali e usano semplici confronti per implementare le decisioni probabilistiche dell’algoritmo. Poiché la maggior parte delle operazioni resta digitale e avviene direttamente all’interno della memoria, il sistema evita costosi convertitori e fragili circuiti analogici, risparmiando sia energia sia area.
Spezzare i grandi problemi in pezzi
Per affrontare compiti di pianificazione davvero grandi, con fino a 85.900 città, il sistema utilizza una strategia divide-et-impera. Un metodo geometrico leggero raggruppa le città vicine in cluster finché ogni cluster non è sufficientemente piccolo da entrare in un singolo blocco LIMO. L’hardware risolve molti di questi sotto‑percorsi in parallelo, quindi li ricuce insieme in un tour completo. Passaggi di raffinamento aggiuntivi perfezionano ulteriormente il percorso globale: segmenti del tour vengono riottimizzati dall’hardware e una classica pulizia “2‑opt” su un processore tradizionale rimuove i rimanenti incroci. Nei test su benchmark standard, questo approccio combinato ha prodotto tour di qualità superiore rispetto alle precedenti macchine di annealing specializzate, raggiungendo al contempo soluzioni fino a circa cinque volte più veloci sul problema di dimensione maggiore.

Dai percorsi difficili all’IA efficiente
LIMO non si limita alla pianificazione dei percorsi. La stessa matrice di memoria può anche fungere da blocco costruttivo per le reti neurali eseguendo moltiplicazioni vettore–matrice, l’operazione centrale dietro il riconoscimento di immagini e pattern. Invece di usare convertitori precisi e affamati di potenza per leggere segnali analogici, LIMO si affida a circuiti di rilevamento molto semplici che catturano solo il segno del segnale accumulato, e compensa questa approssimazione addestrando le reti in modo hardware‑aware. Su compiti di classificazione di immagini e rilevamento di volti, queste reti hanno raggiunto accuratezze vicine ai modelli software standard, riducendo al contempo il consumo energetico e i tempi di risposta rispetto ai convenzionali chip compute-in-memory. Per gli utenti quotidiani, questo significa che fotocamere, droni e altri dispositivi edge potrebbero un giorno risolvere compiti complessi di pianificazione ed eseguire modelli di IA più a lungo con la batteria, grazie a ricerche e calcolo più intelligenti direttamente dove risiedono i dati.
Citazione: Holla, A., Chatterjee, S., Sen, S. et al. LIMO: Low-power in-memory-annealer and matrix-multiplication primitive for edge computing. npj Unconv. Comput. 3, 10 (2026). https://doi.org/10.1038/s44335-026-00054-8
Parole chiave: calcolo in memoria, problema del commesso viaggiatore, annealing hardware, IA a basso consumo, edge computing