HeadlinesBriefing favicon HeadlinesBriefing.com

CUDA Rust: GPU কার্নেলের দুটি ট্র্যাক

Hacker News •
×

২০২৬ সালের সেপ্টেম্বরে, NVIDIA ঘোষণা করেছে যে তারা Rust-এ নেটিভ GPU প্রোগ্রামিংয়ের দিকে ঝুঁকছে। CUDA C++ এবং CUDA Python পরিপক্ব, এন্টারপ্রাইজ-গ্রেড টুলচেইন, এবং NVIDIA ২০২৭ ও তার পরেও CUDA Rust-কে বিকশিত ও পরিপক্ব করে তুলবে। AI-এর সিস্টেম স্তর ইনফারেন্স ইঞ্জিন, সার্ভিং ইনফ্রাস্ট্রাকচার, ড্রাইভার এবং এজেন্ট রানটাইম জুড়ে বিস্তৃত, এবং এটি নিয়মিত পরিবর্তিত হয়। এর আরও বেশি অংশ Rust-এ লেখা হচ্ছে। NVIDIA সেই পরিবর্তনের অংশ। Nova Linux ড্রাইভার Rust-এ লেখা। NVIDIA Dynamo একটি Rust কোরের উপর নির্মিত। NVTX-এ Rust বাইন্ডিং রয়েছে।

GPU কার্নেল হলো ব্যতিক্রম। আপনি Rust থেকে কার্নেল লঞ্চ করতে পারেন, কিন্তু কার্নেল নিজেই প্রায়শই অন্য ভাষায় লিখতে হয়। NVIDIA CUDA Rust সেই ফাঁক পূরণ করে। GPU কার্নেল Rust-এ লেখা যায়, নেটিভভাবে PTX-এ কম্পাইল করা যায়, অন্য কোথাও থেকে আসা কোডের চারপাশে একটি র্যাপার হিসেবে নয়।

Rust ব্যবহারের দুটি ট্র্যাক রয়েছে, যা CUDA-এর নিজস্ব দুটি ট্র্যাকের সাথে মিলে যায়। SIMT হলো সেই মডেল যা আপনি ইতিমধ্যে CUDA C++ বা numba-cuda-তে লেখেন। Tile একটি নতুন প্রোগ্রামিং মডেল, যা C++ এবং Python-এও পাওয়া যায়। যখন আপনি কোনটির উপর নির্মাণ করবেন তা বাছাই করছেন, প্রথমে Tile-এর দিকে যান। কম্পাইলার সিদ্ধান্ত নেয় কীভাবে টাইলগুলি প্রতিটি আর্কিটেকচারে ম্যাপ হবে, তাই আপনার সোর্স আর্কিটেকচার-নির্দিষ্ট পছন্দ এনকোড করে না, এবং যখন আপনার সেই নিয়ন্ত্রণ প্রয়োজন তখন আপনি SIMT-এ নেমে আসেন।

নিচে প্রতিটি ট্র্যাকে একই কার্নেল দেওয়া হলো, যা ১,০২৪টি ফ্লোটের উপর এলিমেন্টওয়াইজ যোগ করে। SIMT ট্র্যাক: cuda-oxide একটি কাস্টম rustc কোডজেন ব্যাকএন্ড। এটি কম্পাইলেশন ইন্টারসেপ্ট করে, #[kernel] ফাংশনগুলিকে Rust MIR, কমিউনিটি Pliron IR ফ্রেমওয়ার্ক এবং LLVM IR-এর মধ্য দিয়ে PTX পর্যন্ত রুট করে।

মূল সত্তা: কোম্পানি: NVIDIA, NVlabs