Gli errori XLA sono classificati in diverse origini di errori XLA. Ogni origine ha un elenco di un contesto aggiuntivo diverso dal messaggio di errore, che verrà allegato a ogni errore all'interno della categoria.
🚧 Tieni presente che questo lavoro di standardizzazione è in corso, pertanto non tutti i messaggi di errore avranno ancora un codice di errore allegato.
Un esempio di log degli errori potrebbe essere il seguente:
XlaRuntimeError: RESOURCE_EXHAUSTED: XLA:TPU compile permanent error. Ran out of memory in memory space hbm. Used 49.34G of 32.00G hbm. Exceeded hbm capacity by 17.34G. Total hbm usage >= 49.34G: reserved 3.12M program unknown size arguments 49.34G
JaxRuntimeError: RESOURCE_EXHAUSTED: Ran out of memory in memory space vmem while allocating on stack for %ragged_latency_optimized_all_gather_lhs_contracting_gated_matmul_kernel.18 = bf16[2048,4096]{1,0:T(8,128)(2,1)} custom-call(%get-tuple-element.18273, %get-tuple-element.18274, %get-tuple-element.18275, %get-tuple-element.18276, %get-tuple-element.18277, /*index=5*/%bitcast.8695, %get-tuple-element.19201, %get-tuple-element.19202, %get-tuple-element.19203, %get-tuple-element.19204), custom_call_target=""
Stati ed errori di controllo
In generale, in XLA possiamo segnalare l'esecuzione danneggiata con due meccanismi: stati e errori della macro CHECK.
Gli stati sono destinati a errori non irreversibili e recuperabili. Si presume che la funzione restituisca un valore e l'esecuzione continui lungo il percorso in cui il chiamante controlla esplicitamente l'oggetto Status restituito. È utile per gestire input utente non validi o vincoli di risorse previsti.
D'altra parte, gli errori CHECK riguardano errori di programmazione o violazioni di invarianti che non dovrebbero mai verificarsi se il codice è corretto. In caso di CHECK attivato, il programma registrerà il messaggio di errore e terminerà immediatamente. Potrebbe garantire la coerenza interna, ad esempio controllando che un puntatore non sia nullo prima di dereferenziarlo.
Codici di errore
Ecco un elenco di indici con tutti i codici di errore.