
Vx heterogen yaddaş və topologiyanı tip sistemində təqdim edir
Vx hesablama üçün sistem proqramlaşdırma dilidir; CPU, GPU, NPU və sürətləndiricilərin yaddaşını tip yoxlamalarının bir hissəsinə çevirir, açıq köçürmələr və maşına uyğunlaşdırılmış yerləşdirmə ilə.
Yaddaşın yerləşməsi tipin bir hissəsidir
Vx heterogen hesablamaları dil səviyyəsində məsələ kimi götürür və sürətləndiricidə yerləşməni şəffaf runtime-a etibar etmir. NPU-nun yüksək ötürücülüklü yaddaşına bağlı tensoru hostun DRAM-ındakı eyni tensordan fərqli tipə malikdir və bu yerləşmələr arasında köçürmə açıq köçürmə tələb edir. Apple-ın birləşik yaddaşında bu köçürmə demək olar ki heç nəyə kompilyasiya olunmur, lakin mənbədə hələ də verilənlərin lokal olması binar profilləşməsi olmadan yoxlanmalıdır.
Kompilyator cihazın göstəricilərinə host tərəfindən səhv girişi, host ifadələrinə daxil olan bağlı NPU dəyərlərini və iş dəsti hədəf yaddaş sahəsini aşan yerləşmələri yoxlayır. Digər qaydalar asinxron köçürmənin görünənliyinə qədər oxunan buferləri, köçürmədən sonra istifadə xətalarını, yaddaş sahələri arasında açıq yol olmadan köçürməni və regionlarda müəyyən edilmiş adiungate olmadan fərqləndirməni əhatə edir. Asinxron köçürmə görünənliyi müqavilələri SMT proveri tərəfindən işlənir.
Maşın faylları avadanlıq limitlərini müəyyən edir
Dəyərin modelə sıx yerləşdirilməsinin əvəzinə Vx konkret hissənin yaddaş iyerarxiyasını və qarşılıqlı əlaqəni təsvir edən maşın faylını oxuyur. Kompilyator bu məlumatı yerləşmələrin icazə verilməsi və ya rədd edilməsi üçün istifadə edir. Vahidlərin çevrilməsi tam ədədlərdən istifadə edir: SI prefiksleri onluq, IEC prefiksleri isə ikilidir; bu, GB və GiB kimi ölçülərin mənasını saxlayır.
Repozitoriya H100, H200, B200, A100, MI300X, Apple M4 və bir çox GPU düyünləri üçün maşın fayllarını əhatə edir. Fayllar mənbələrini göstərir və təsdiqlənməmiş rəqəmləri ayırd edir.
Paralel frontend və bir çox backend
Vx-in verilənlərə yönəlmiş frontend-ində hər simvol, nominal tip və monomorfizləşmiş variant düz 256-bit identifikator ilə təmsil olunur. Nominal tipləri sistemi və rekursiv tiplər üçün məcburi boxing modullarını bir-birindən azad edir; bu, kompilyasiya pipeline-inə nüvələrdə query mühərriki və lock rəqabəti olmadan buraxılmağa imkan verir. Kompilyasiya düz massivlərə keçir, göstəricilərlə təsvir edilmiş ağaclarə deyil.
Test dəstləri təsdiqləyir ki, ardıcıl və paralel quruluşlar fərqli axın konfiqurasiyaları zamanı, benchmark miqyasında bayt-identik MLIR çıxarır. Bu zəmanət frontend nəticəsinə yayılır; qalan emal LLVM-a aiddir. Backend-lər x86-64 və arm64 CPU-ları, NVIDIA GPU-ları, Apple AMX və ANE-ni, həmçinin paylaşılan manifest ilə idarə olunan məsafəli regionları əhatə edir. İstehsalçılar kompilyatorın patch-lənməsi əvəzinə MLIR pass əlavələri ilə Vx-i genişləndirə bilər.
Sabit, verimliliyə həssas yükləmələr üçün yaradılıb
Vx müxtəlif növ silikonlarda dəqiq və sürətli olmalı olan proqram təminatı üçün nəzərdə tutulub. Layihə qəbul edir ki, onun ahead-of-time, verilənlərə yönəlmiş və statik regionlara bölünmüş dizaynı arxitekturanı dəyişən, tensor formalarını yoxlayan və bu qərarlar hələ də dəyişilərkən dinamik olaraq davam etdirən iş axınlarına az uyğundur. Onun quraşdırma variantları Apple Silicon-dakı macOS və Linux x86_64-ı əhatə edir; müvafiq təlimatlar isə dil, topologiyalar, yaddaş yerləşməsi və maşın fayllarını əhatə edir.
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.