XLA hatalarına genel bakış

XLA hataları, farklı XLA hata kaynakları olarak sınıflandırılır. Her kaynağın, hata mesajı dışında ek bağlam listesi vardır. Bu liste, kategorideki her hataya eklenir.

🚧 Bu standartlaştırma çalışmasının devam ettiğini ve bu nedenle henüz tüm hata mesajlarına hata kodu eklenmediğini unutmayın.

Örnek bir hata günlüğü şu şekilde görünebilir:

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=""

Durumlar ve KONTROL hataları

Genel olarak, XLA'da bozuk yürütmeyi iki mekanizmayla işaretleyebiliriz: durumlar ve CHECK makro hataları.

Durumlar, önemli olmayan ve kurtarılabilir hatalar için tasarlanmıştır. İşlevin döndürdüğü ve yürütmenin, arayanın döndürülen Durum nesnesini açıkça kontrol ettiği yolda devam ettiği varsayılır. Geçersiz kullanıcı girişlerini veya beklenen kaynak kısıtlamalarını işlemek için kullanışlıdır.

Diğer yandan, CHECK hataları programcı hatalarını veya kod doğruysa asla gerçekleşmemesi gereken değişmezlerin ihlallerini kapsar. CHECK etkinleştirilmişse program hata mesajını günlüğe kaydeder ve hemen sonlandırılır. İşaretçinin başvurusu kaldırılmadan önce null olmadığının kontrol edilmesi gibi dahili tutarlılık sağlanabilir.

Hata kodları

Tüm hata kodlarının yer aldığı dizin listesini burada bulabilirsiniz.