इस प्रोजेक्ट के बारे में
Bend एक उच्च-स्तरीय प्रोग्रामिंग भाषा है जिसे बड़े पैमाने पर समानांतरता के लिए डिज़ाइन किया गया है, जिसे HigherOrderCO द्वारा विकसित किया गया है और HVM2 रनटाइम द्वारा संचालित किया गया है। इसका उद्देश्य Python और Haskell जैसी भाषाओं की अभिव्यक्ति क्षमता को CUDA-शैली GPU कंप्यूटिंग के स्केलिंग व्यवहार के साथ जोड़ना है।
README में उजागर की गई भाषा विशेषताओं में तेज़ ऑब्जेक्ट आवंटन, क्लोजर के साथ उच्च-क्रम फ़ंक्शनों के लिए पूर्ण समर्थन, अप्रतिबंधित पुनरावृत्ति और निरंतरता (continuations) शामिल हैं। समानांतरता निहित है: README बताता है कि थ्रेड निर्माण, लॉक, म्यूटेक्स या एटॉमिक्स की कोई आवश्यकता नहीं है। जो कोड समानांतर चल सकता है वह समानांतर चलेगा, जिसमें कोर संख्या के आधार पर लगभग रैखिक त्वरण होगा, और परियोजना 10000 से अधिक समवर्ती थ्रेड्स के समर्थन का दावा करती है।
स्थापना 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 यह दिखाने के लिए एक अनुक्रमिक बनाम समानांतर योग उदाहरण के माध्यम से चलता है कि कैसे एक विभाजन-और-जीत (divide-and-conquer) सूत्रीकरण स्वचालित समानांतर निष्पादन को सक्षम करता है। यह एक बिटोनिक सॉर्टर बेंचमार्क भी प्रस्तुत करता है जिसमें बताए गए समय हैं: Apple M3 Max CPU पर Rust इंटरप्रेटर के माध्यम से 12.15 सेकंड, उसी CPU पर C इंटरप्रेटर के माध्यम से 0.96 सेकंड, और NVIDIA RTX 4090 GPU पर CUDA इंटरप्रेटर के माध्यम से 0.21 सेकंड। ये आंकड़े परियोजना के अपने बताए गए माप हैं।
README चेतावनी देता है कि वर्तमान संस्करण में एकल-कोर प्रदर्शन कम हो सकता है और कोड जनरेशन और अनुकूलन तकनीकों के उन्नत होने पर प्रदर्शन में सुधार होना चाहिए। अतिरिक्त संसाधनों में HVM2 पेपर, GUIDE.md, FEATURES.md, एक उदाहरण फ़ोल्डर और एक Discord समुदाय शामिल हैं।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.