Panoramica degli errori XLA

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.