HeadlinesBriefing HeadlinesBriefing.com

Vx भाषा: एक भाषा, हर चिप के लिए

Hacker News •
×

Vx एक सिस्टम प्रोग्रामिंग भाषा है असमान कंप्यूटिंग के लिए जहाँ CPU, GPU, NPU और एक्सेलेरेटर मेमोरी प्रकार प्रणाली का हिस्सा हैं। एक होस्ट थ्रेड जो डिवाइस पॉइंटर को डीरेफरेंस करता है, एक संकलन त्रुटि है, सेगफॉल्ट नहीं। यह एप्पल सिलिकॉन पर macOS और Linux x86_64 के लिए उपलब्ध है। असमानता टाइप सिस्टम में होनी चाहिए, रनटाइम में नहीं। डेटा कहाँ रहता है, इसका प्रकार का हिस्सा है। अधिकांश भाषाएँ एक्सेलेरेटर को इंफ्रास्ट्रक्चर मानती हैं: आप गणित लिखते हैं, और एक बड़ा अपारदर्शी रनटाइम तय करता है कि इसे कैसे भेजा जाए। Vx इसे अर्थशास्त्र मानता है। NPU उच्च-बैंडविड्थ मेमोरी में पिन किया गया टेंसर, होस्ट DRAM में वाले टेंसर से अलग प्रकार का होता है, और उनके बीच पार करना एक स्पष्ट transfer() की आवश्यकता होती है — भले ही हार्डवेयर सीमा मुक्त हो। एप्पल के यूनिफाइड मेमोरी पर, यह ट्रांसफर लगभग कुछ भी नहीं कंपाइल होता है। फिर भी इसे लिखा जाता है, क्योंकि डेटा स्थानीयता को स्रोत को पढ़कर सिद्ध किया जाना चाहिए, बाइनरी को प्रोफाइल करके नहीं।

कंपाइलर एड्रेस-स्पेस टाइपिंग, कैपेसिटी एडमिशन, सीम कॉन्ट्रैक्ट्स, लीनियर टाइप्स, टोपोलॉजी रीचेबिलिटी, और ऑटोडिफ़ मुद्दों को बाहर करता है। मशीन की घोषणा की जाती है, माना नहीं जाता। अधिकांश कंपाइलर एक हार्ड-कोडेड कॉस्ट मॉडल रखते हैं। Vx एक पढ़ता है। एक मशीन फ़ाइल एक वास्तविक भाग की मेमोरी हिरार्की और इंटरकनेक्शन का वर्णन करती है, और कंपाइलर इसके खिलाफ रखे गए स्थानों को स्वीकार करता है या अस्वीकार करता है। इकाइयाँ सटीक पूर्णांक रूपांतरण हैं, कभी फ्लोट नहीं: SI उपसर्ग दशमलव हैं (GB = 10^9), IEC बाइनरी हैं (GiB = 2^30)। एक विक्रेता शीट से कॉपी किया गया आंकड़ा वही अर्थ रखता है जो शीट intended थी। रिपॉजिटरी H100, H200, B200, A100, MI300X, Apple M4 और मल्टी-GPU नोड्स के लिए मशीन फ़ाइलें प्रदान करता है — प्रत्येक अपने स्रोतों का उल्लेख करता है, और अप्रमाणित आंकड़ों को अप्रमाणित के रूप में चिह्नित करता है।

यह कैसेコンパイル होता है: डेटा-ओरिएंटेड पैरेलल फ्रंटएंड। हर प्रतीक, नाममात्र प्रकार और मोनोमॉर्फाइज़्ड वेरिएंट एक सपाट 256-बिट पहचानकर्ता है। नाममात्र प्रकार प्रणाली प्लस पुनरावर्ती प्रकारों के लिए अनिवार्य बॉक्सिंग मॉड्यूल को डीकपल करती है, ताकि पाइपलाइन कोर में क्वेरी इंजन और लॉक प्रतिस्पर्धा के बिना समानांतर रूप से चल सके। कंपाइलेशन फ्लैट एरे पर चलती है, पॉइंटर-चेज़्ड ट्रीज़ पर नहीं। एक ही स्रोत, चाहे यह सीरियल या पैरेलल में बनाया गया हो, बाइट-आइडेंटिकल MLIR में 컴파일 होता है। यह टेस्ट सुइट में पुष्टि की जाती है, न कि सिर्फ उम्मीद की जाती है — बेंचमार्क पैमाने पर, एक थ्रेड पर, चार थ्रेड पर, और थ्रेड पूल को पूरी तरह से पथ से हटाने पर, साथ ही प्रत्येक चलने के लिए अपना खुद का हैश सीड प्राप्त करने के लिए नए प्रोसेस में कोर्पस को再コンパイル करके।

अक्सर पूछे जाने वाले प्रश्न: Vx क्या है और इसे अद्वितीय क्यों बनाता है?

Vx एक सिस्टम प्रोग्रामिंग भाषा है असमान कंप्यूटिंग के लिए जहाँ CPU, GPU, NPU और एक्सेलेरेटर मेमोरी प्रकार प्रकार प्रणाली का हिस्सा हैं। यह संकलन समय पर डिवाइस पॉइंटर डीरेफरेंस को पकड़कर सेगफॉल्ट जैसे रनटाइम त्रुटियों को रोकता है। यह एक्सेलेरेटर को इंफ्रास्ट्रक्चर के बजाय अर्थ घटक के रूप में मानता है, भले ही हार्डवेयर सीमाएं मुक्त हों, तो भी मेमोरी स्पेस के बीच स्पष्ट डेटा ट्रांसफर की आवश्यकता होती है।

स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित