Lỗi XLA được phân loại thành nhiều nguồn lỗi XLA. Mỗi nguồn có một danh sách ngữ cảnh bổ sung ngoài thông báo lỗi, danh sách này sẽ được đính kèm vào mỗi lỗi trong danh mục.
🚧 Xin lưu ý rằng nỗ lực chuẩn hoá này vẫn đang trong quá trình thực hiện, vì vậy, chưa phải tất cả thông báo lỗi đều có mã lỗi được đính kèm.
Nhật ký lỗi mẫu có thể có dạng như sau:
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=""
Trạng thái và lỗi CHECK
Nhìn chung, trong XLA, chúng ta có thể gắn cờ quá trình thực thi bị hỏng bằng 2 cơ chế: trạng thái và lỗi macro CHECK.
Các trạng thái này dành cho những lỗi không nghiêm trọng và có thể khắc phục. Giả định là hàm sẽ trả về và quá trình thực thi sẽ tiếp tục theo đường dẫn mà phương thức gọi kiểm tra rõ ràng đối tượng Trạng thái được trả về. Tính năng này hữu ích khi xử lý dữ liệu đầu vào không hợp lệ của người dùng hoặc các hạn chế về tài nguyên dự kiến.
Mặt khác, lỗi CHECK bao gồm lỗi của lập trình viên hoặc các trường hợp vi phạm bất biến mà không bao giờ xảy ra nếu mã chính xác. Trong trường hợp CHECK được kích hoạt, chương trình sẽ ghi thông báo lỗi và chấm dứt ngay lập tức. Thao tác này có thể đảm bảo tính nhất quán nội bộ, chẳng hạn như kiểm tra xem con trỏ có giá trị rỗng hay không trước khi huỷ tham chiếu.
Mã lỗi
Đây là danh sách chỉ mục chứa tất cả mã lỗi.