Is CUDA 13.1’s Tile Programming the Death Knell for SIMT—or Just Hype for AI Bros?
CUDA 13.1-এর টাইল প্রোগ্রামিং কি SIMT-এর শেষের ঘন্টাধ্বনি নাকি শুধু AI-প্রেমীদের জন্য হাইপ?

NVIDIA গত বিশ বছরের বৃহত্তম আপডেটসহ CUDA 13.1 ছেড়েছে—এবং আমার বলার একমাত্র কথা, 'SIMT? ও কে?' এবার তারা CUDA Tile চালাচ্ছে, একটি উঁচু-স্তরের মডেল যেখানে ডেটা টুকরো হিসাবে (টাইল) কাজ করা যায়, এবং থ্রেডিং দায়িত্ব কম্পাইলার নেয়। আর নয় ওয়ার্প ম্যানেজ করা বা মগজ বাঁকানো। এটা C-এর জায়গায় Python ব্যবহার করার মতো—সহজ, কিন্তু কঠোরবাদীরা কান্নাকাটি শুরু করবে।
ওহ, আর আপাতত শুধুমাত্র Blackwell GPU-তেই এটি আছে। তো স্বাভাবিকভাবেই, পুরানো GPU নিয়ে থাকা সাধারণ মানুষ হিসাবে আমরা শুধু দর্শক হিসাবে দেখব। কিন্তু আসল কথা, রানটাইমে ‘গ্রিন কনটেক্সট’? অবশেষে। এখন ডেভেলপাররা কনটেক্সট সুইচিং-এর ঝঞ্ঝাট ছাড়াই অগ্রাধিকারের টাস্কের জন্য SM পৃথক করতে পারেন। আপনি যদি latency-sensitive HPC কাজ চালাচ্ছেন, তবে এটি বিপ্লব হতে পারে—যদি না আপনার GPU মেসোজোয়িক যুগের হয়।
এটা আমার ইনটেলের 8086 থেকে x86_64 রূপান্তরের কথাই মনে করিয়ে দেয়। প্রোগ্রামিংকে সহজ করার জন্য এবস্ট্রাকশন প্রায়শই আকাক্ষিত নিয়ন্ত্রণকে বলি দেয়। CUDA Tile প্রোডাক্টিভিটিকে বাড়াবে, অবশ্যই, কিন্তু এটি GPU ডেভেলপারদের ফ্রেমওয়ার্ক-নির্ভর প্রোগ্রামারে পরিণত করতে চলেছে। মনে আছে আমরা লুপ আনরোলিং ম্যানুয়ালি ঠিক করতাম? এখন আমরা এই কাজ কম্পাইলারের উপর ছেড়ে দিচ্ছি।
পুরনো ধাঁচের লুপ আনরোলিং নিয়ে আমার কী মাথাব্যথা? আমার মডেলগুলো গতকালই ট্রেন হওয়া দরকার। CUDA Tile একটি বিজয়। যদি NVIDIA টেন্সর কোরগুলো আড়াল করে আমার থ্রুপুট 3 গুণ বাড়িয়ে দেয়, তো আমি অবশ্যই এটা নেব। উৎপাদনশীলতা > নিষ্ঠা।
থ্রেডিং কম্পাইলারের হাতে ছেড়ে দিন? তাত্ত্বিকভাবে ভালো। কিন্তু একটা 'স্মার্ট' কম্পাইলার দক্ষ কোডকে অপ্রয়োজনীয় জটিলতায় পরিণত করার ক্ষেত্র আমি দেখেছি। এটা ভালো কাজ করে যতক্ষণ না আপনার টাইল ওয়ার্প লাইন অনুযায়ী না মানে। তখন আপনার কার্যকারিতা উবে যায়। কম্পাইলার লেখকদের হাতে তো জাদুর ডাঁটা নেই।
এক মুহূর্ত—নতুন প্রোগ্রামিং গাইড প্রকৃতপক্ষে পড়া যাচ্ছে? আমি অর্ধেক থিসিস লেখার সময় SIMD কোড পুনর্লিখন করলাম, পুরনো ডকগুলো ছিল একটি দুর্ভেদ্য ভবন। যদি এটি নতুনদের এই যন্ত্রণা এড়াতে সাহায্য করে, তবে আমি এর সমর্থক—এমনকি যদি এটি আমার কষ্টার্জিত CUDA অভিজ্ঞতাকে অর্থহীন মনে করায়।
চলুন গ্রিন কনটেক্সট নিয়ে আলোচনা কম করবেন না। রিয়েল-টাইম এপ্লিকেশনগুলোর জন্য—রোবটিক্স, ফিনটেক, স্বায়ত্তশাসন—SMs-কে স্থিরভাবে পৃথক করতে পারা দারুন সৌভাগ্য। split() API-এর আপগ্রেড এখানে শীর্ষের চেরি। এটি ঠিক তেমন নিম্ন-স্তরের নিয়ন্ত্রণ যা আমরা অনেক আগে থেকেই চেয়ে আসছি।
'AI কাজের' জন্য সব এতটাই? মনে হচ্ছে NVIDIA ঐতিহ্যবাহী গণনা বিজ্ঞানকে ছেড়ে দিচ্ছে। নির্ধারিত ফ্লোটিং পয়েন্ট হ্রাসের কথা কি? আমাদের সিমুলেশনে পুনরুৎপাদনযোগ্যতা দরকার, শুধু দ্রুত ম্যাটমাল নয়। বিজ্ঞানকে প্রাধান্য দিন, শুধু সিলিকন নয়।
AI আজকের দিনে GPU-তে সবচেয়ে বড় কাজ। CUDA এই চাহিদার সাথে তাল মেলাচ্ছে। টাইল প্রোগ্রামিং SIMTকে মারছে না—এটি নতুন যুগের জন্য একটি নতুন হাতিয়ার। এটাকে C++-কে C-এর উপরের স্তর হিসাবে ভাবুন: উচ্চ স্তর, কিন্তু দরকার হলে নিম্নে নামা যায়। আর, নির্ধারিত FP আছে—শুধু env পছন্দ করুন।