XLA ত্রুটিগুলিকে বিভিন্ন XLA ত্রুটি উৎসে শ্রেণীবদ্ধ করা হয়। প্রতিটি উৎসে ত্রুটি বার্তা ছাড়াও একটি অতিরিক্ত প্রসঙ্গের তালিকা থাকে, যা বিভাগের মধ্যে প্রতিটি ত্রুটির সাথে সংযুক্ত করা হবে।
🚧 মনে রাখবেন যে এই স্ট্যান্ডার্ডাইজেশন প্রচেষ্টাটি এখনও চলছে, তাই সমস্ত ত্রুটি বার্তায় এখনও একটি সংযুক্ত ত্রুটি কোড থাকবে না।
একটি উদাহরণ ত্রুটি লগ দেখতে এরকম হতে পারে:
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=""
স্ট্যাটাস এবং চেক ব্যর্থতা
সাধারণভাবে, XLA-তে আমরা দুটি প্রক্রিয়া ব্যবহার করে দূষিত সম্পাদনকে চিহ্নিত করতে পারি: স্ট্যাটাস এবং চেক ম্যাক্রো ব্যর্থতা।
স্ট্যাটাসগুলি অ-মারাত্মক, পুনরুদ্ধারযোগ্য ত্রুটির জন্য তৈরি। অনুমান করা হয় যে ফাংশনটি ফিরে আসে এবং কার্যকরকরণ সেই পথে চলতে থাকে যেখানে কলার স্পষ্টভাবে ফিরে আসা স্ট্যাটাস অবজেক্টটি পরীক্ষা করে। এটি অবৈধ ব্যবহারকারীর ইনপুট বা প্রত্যাশিত রিসোর্স সীমাবদ্ধতা পরিচালনা করার জন্য কার্যকর।
অন্যদিকে, CHECK ব্যর্থতা প্রোগ্রামারের ত্রুটি বা ইনভেরিয়েন্টের লঙ্ঘনকে অন্তর্ভুক্ত করে যা কোডটি সঠিক হলে কখনই ঘটবে না। একটি সক্রিয় CHECK এর ক্ষেত্রে প্রোগ্রামটি ত্রুটি বার্তাটি লগ করবে এবং তাৎক্ষণিকভাবে বন্ধ করে দেবে। এটি অভ্যন্তরীণ ধারাবাহিকতা নিশ্চিত করতে পারে, যেমন একটি পয়েন্টারকে ডিরেফারেন্স করার আগে এটি অ-নাল কিনা তা পরীক্ষা করা।
ত্রুটি কোড
এখানে সমস্ত ত্রুটি কোড সহ একটি সূচক তালিকা রয়েছে।