Dự án Bend phát triển ngôn ngữ cấp cao để tính toán song song trên GPU

Các bản phát hành đầu tiên của dự án Bend đã được xuất bản, phát triển ngôn ngữ lập trình cấp cao cho tính toán song song, được định vị là ngôn ngữ thay thế cho các ngôn ngữ cấp thấp như CUDA và Metal, với cú pháp biểu đạt và khả năng phát triển của ngôn ngữ ​​chẳng hạn như Python và Haskell. Mã dự án được viết bằng Rust và được phân phối theo giấy phép Apache 2.0.

Các tính năng của ngôn ngữ Bend bao gồm phân phối đối tượng nhanh, khả năng sử dụng các hàm bậc cao hơn, đóng, tiếp tục, đệ quy không giới hạn, khớp mẫu, so sánh đệ quy (gấp) và vòng lặp (uốn cong), kiểu số nguyên, chuỗi và danh sách. Hai tùy chọn cú pháp được hỗ trợ: kiểu Python và kiểu Haskell. Các chương trình không yêu cầu chỉ định các chú thích kiểm soát việc song song hóa, tạo các luồng hoặc cài đặt khóa một cách rõ ràng. Việc song song hóa được thực hiện tự động, ví dụ khi tính biểu thức “((1 + 2) + (3 + 4))”, các phép toán “1 + 2” và “3 + 4” sẽ được thực hiện song song.

Các chương trình Bend có thể chạy trên phần cứng song song lớn, chẳng hạn như GPU, với mức tăng hiệu suất gần như tuyến tính theo hàm số của số lõi. Mã Bend được biên dịch thành biểu diễn trung gian HVM2 (Máy ảo bậc cao 2) cấp thấp, sau đó được biên dịch thành biểu diễn C và CUDA. Hiện tại dự án chỉ hỗ trợ thực thi trên GPU NVIDIA.

Về hiệu suất, ứng dụng thử nghiệm với việc triển khai phân loại bitonic, khi được thực thi trên một luồng của CPU Apple M3 Max, đã hoàn thành trong 12.15 giây, khi sử dụng 16 luồng - trong 0.96 giây và khi sử dụng GPU NVIDIA RTX 4090 với Chủ đề 16k - trong 0.21 giây. def sắp xếp(d, s, cây): switch d: case 0: trả về trường hợp cây _: (x,y) = cây lft = sắp xếp(d-1, 0, x) rgt = sắp xếp(d-1, 1, y) return rots(d, s, lft, rgt) def rots(d, s, tree): switch d: case 0: return tree case _: (x,y) = tree return down(d, s, warp( d-1, s, x, y))…

Nguồn: opennet.ru

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster