প্রকল্প সম্পর্কে
Bend হলো একটি উচ্চ-স্তরের প্রোগ্রামিং ভাষা যা ব্যাপক সমান্তরালতার জন্য ডিজাইন করা হয়েছে, HigherOrderCO দ্বারা উন্নত এবং HVM2 রানটাইম দ্বারা চালিত। এটি Python এবং Haskell-এর মতো ভাষার অভিব্যক্তিকে CUDA-স্টাইল GPU কম্পিউটিংয়ের স্কেলিং আচরণের সাথে একত্রিত করার লক্ষ্য রাখে।
README-তে হাইলাইট করা ভাষা বৈশিষ্ট্যগুলির মধ্যে রয়েছে দ্রুত অবজেক্ট বরাদ্দ, ক্লোজার সহ উচ্চ-অর্ডার ফাংশনের সম্পূর্ণ সমর্থন, সীমাহীন রিকার্সন এবং কন্টিনিউয়েশন। সমান্তরালতা অন্তর্নিহিত: README বলে যে থ্রেড তৈরি, লক, মিউটেক্স বা অ্যাটমিক্সের প্রয়োজন নেই। যে কোড সমান্তরালভাবে চলতে পারে তা সমান্তরালভাবে চলবে, কোর সংখ্যার উপর ভিত্তি করে প্রায় রৈখিক ত্বরণ সহ, এবং প্রকল্পটি ১০০০০-এর বেশি সমবর্তী থ্রেডের সমর্থন দাবি করে।
ইনস্টলেশন Rust-এর cargo-এর মাধ্যমে করা হয়। ব্যবহারকারীরা প্রথমে `cargo install hvm` দিয়ে HVM2 রানটাইম ইনস্টল করেন, তারপর `cargo install bend-lang` দিয়ে ভাষাটি ইনস্টল করেন। নির্দেশাবলীতে Linux এবং macOS অন্তর্ভুক্ত, Windows-এর জন্য WSL2 সুপারিশ করা হয়েছে। CUDA রানটাইমের জন্য NVIDIA CUDA টুলকিট 12.x প্রয়োজন, এবং README উল্লেখ করে যে বর্তমানে শুধুমাত্র NVIDIA GPU সমর্থিত।
প্রোগ্রামগুলি বেশ কয়েকটি ব্যাকএন্ডের মাধ্যমে চালানো যেতে পারে: `bend run-rs` একটি সিকোয়েন্সিয়াল Rust ইন্টারপ্রেটার ব্যবহার করে, `bend run-c` একটি সমান্তরাল C ইন্টারপ্রেটার ব্যবহার করে, এবং `bend run-cu` একটি ব্যাপক সমান্তরাল CUDA ইন্টারপ্রেটার ব্যবহার করে। Bend কোডটি `gen-c` এবং `gen-cu` এর মাধ্যমে স্বতন্ত্র C বা CUDA ফাইলে কম্পাইল করা যেতে পারে, যদিও README কোড জেনারেটরকে প্রাথমিক পর্যায় হিসাবে বর্ণনা করে। একটি `-s` ফ্ল্যাগ প্রতি সেকেন্ডে রিডাকশন, রানটাইম এবং ইন্টারঅ্যাকশন রিপোর্ট করে।
README একটি সিকোয়েন্সিয়াল বনাম সমান্তরাল সমষ্টি উদাহরণের মাধ্যমে দেখায় কিভাবে একটি ডিভাইড-এন্ড-কনকার ফর্মুলেশন স্বয়ংক্রিয় সমান্তরাল নির্বাহ সক্ষম করে। এটি একটি বিটোনিক সর্টার বেঞ্চমার্কও উপস্থাপন করে যেখানে রিপোর্ট করা সময়: Apple M3 Max CPU-তে Rust ইন্টারপ্রেটারের মাধ্যমে ১২.১৫ সেকেন্ড, একই CPU-তে C ইন্টারপ্রেটারের মাধ্যমে ০.৯৬ সেকেন্ড, এবং NVIDIA RTX 4090 GPU-তে CUDA ইন্টারপ্রেটারের মাধ্যমে ০.২১ সেকেন্ড। এই পরিসংখ্যানগুলি প্রকল্পের নিজস্ব রিপোর্ট করা পরিমাপ।
README সতর্ক করে যে বর্তমান সংস্করণে একক-কোর পারফরম্যান্স কম হতে পারে এবং কোড জেনারেশন এবং অপ্টিমাইজেশন কৌশল উন্নত হওয়ার সাথে সাথে পারফরম্যান্স উন্নত হওয়া উচিত। অতিরিক্ত সংস্থানগুলির মধ্যে রয়েছে HVM2 পেপার, একটি GUIDE.md, একটি FEATURES.md, একটি উদাহরণ ফোল্ডার এবং একটি Discord সম্প্রদায়।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.