Vx هي لغة برمجة أنظمة للحوسبة غير المتجانسة حيث تكون ذاكرة وحدة المعالجة المركزية، ووحدة معالجة الرسومات، ووحدة معالجة الشبكات العصبية، والتسارعات جزءًا من نظام الأنواع. خيط المضيف الذي يلغي إشارة مؤشر الجهاز هو خطأ ترجمة، وليس خطأ تجزئة. إنها متوفرة لنظام macOS على شرائح أبل ولينكس x86_64. الانتماء غير المتجانس يجب أن يكون في نظام الأنواع، وليس في وقت التشغيل. مكان وجود البيانات هو جزء من نوعها. معظم اللغات تعامل المسرع كهيكل تحتية: تكتب الرياضيات، ويقرر وقت تشغيل كبير ومعتم كيفية إرساله. Vx تتعامل معه كدلالة.텐sor مثبت في ذاكرة NPU عالية النطاق الترددي له نوع مختلف عن واحد في ذاكرة DRAM للمضيف، والانتقال بينهما يتطلب استدعاءً صريحًا لـ transfer() — حتى عندما تكون الحدود hardware حرة. على الذاكرة الموحدة لأبل، يترجم هذا الاستدعاء إلى تقريبًا لا شيء. ومع ذلك، لا يزال يُكتب، لأن محلية البيانات يجب أن تكون قابلة للإثبات من خلال قراءة المصدر وليس من خلال تحليل الثنائي.
يقوم المترجم باستبعاد كتابة عناوين الفضاء، وقبول السعة، وعقود الوصل، والأنواع الخطية، وقابلية الوصول إلى topology، ومشاكل الاشتقاق التلقائي. يتم الإعلان عن الآلة، وليس افتراضها. معظم المترجمات تُشفّر نموذج تكلفة ثابتًا. Vx تقرأ واحدًا. ملف الآلة يصف تسلسل الذاكرة والاتصال interconnect لجزء حقيقي، والمترجم يقبل أو يرفض التوزيعات ضده. الوحدات هي تحويلات عددية صحيحة دقيقة، nunca floats: البادئات SI هي عشرية (GB = 10^9)، و IEC هي ثنائية (GiB = 2^30). رقم تم نسخه من ورقة بيانات المورد يعني ما قصدته الورقة. يحتوي المستودع على ملفات آلة لـ H100، H200، B200، A100، MI300X، Apple M4 وعقد GPU متعددة — كل منها يذكر مصادره، ويشير إلى الأرقام غير المُتحقق منها بأنها غير مُتحققة.
كيف يتم التجميع: واجهة أمامية متوازية موجهة نحو البيانات. كل رمز، ونوع اسمي، ومتغير أحادي الشكل هو معرّف مسطّح من 256 بت. نظام الأنواع الاسمي بالإضافة إلى التعبئة الإلزامية للأنواع المتكررة يفصل الوحدات، بحيث يعمل خط الأنابيب بالتوازي عبر النوى دون محرك استعلامات وبدون منافسة على القفل. يمر التجميع عبر المصفوفات المسطحة بدلاً من الأشجار التي تتبع المؤشرات. نفس المصدر يُترجم إلى MLIR متطابق على مستوى البايت سواء تم بناؤه تسلسليًا أو متوازيًا. هذا يُؤكد في مجموعة الاختبارات بدلًا من أن يكون مجرد أمل — على مقياس المعيار، في خيط واحد، وفي أربعة خيوط، ومع إزالة مجموعة الخيوط تمامًا من المسار، بالإضافة إلى إعادة ترجمة corpus في عمليات جديدة بحيث يحصل كل تشغيل على بذرة hash الخاصة به.
الأسئلة الشائعة: ما هو Vx وما الذي يجعله فريدًا؟
Vx هي لغة برمجة أنظمة للحوسبة غير المتجانسة حيث تكون أنواع الذاكرة لوحدة المعالجة المركزية، ووحدة معالجة الرسومات، ووحدة معالجة الشبكات العصبية، والتسارعات جزءًا من نظام الأنواع. هذا يمنع أخطاء وقت التشغيل مثل أعطال التجزئة من خلال التقاط إلغاء إشارة مؤشرات الجهاز في وقت الترجمة. إنه يتعامل مع المسرعات كعناصر دلالية وليس كبنية تحتية، ويتطلب نقلات بيانات صريحة بين مساحات الذاكرة حتى عندما تكون حدود hardware حرة.
المصدر: Hacker News · لخّصه HeadlinesBriefing