Mã CUDA chạy trên GPU Apple M3 Pro với tốc độ tăng 10 lần

icon MarsBit
Chia sẻ
AI summary iconTóm tắt
Báo cáo tin tức trên chuỗi cho biết một chương trình tính toán dựa trên CUDA đã được chạy thành công trên thiết bị Apple M3 Pro với ít thay đổi mã. Chương trình, xử lý mô phỏng chất lỏng 3D thực tế, chạy nhanh hơn khoảng 10 lần trên GPU Metal của Apple so với CPU. Thiết lập sử dụng quy trình chuyển đổi bao gồm Clang/HIP, SPIR-V, Vulkan và MoltenVK, tránh các API đặc thù của Metal. GPT-5.6 Sol đã giúp khắc phục các vấn đề tương thích. Bài kiểm tra cho thấy mức sử dụng GPU cao và độ chính xác, chứng minh các thuật toán kiểu CUDA/HIP có thể hoạt động trên Apple Silicon. Tin tức về tài sản thực tế (RWA) nhấn mạnh tiềm năng của các công cụ tính toán đa nền tảng.

Một chương trình tính toán ban đầu được thiết kế cho CUDA của NVIDIA đã chạy trực tiếp trên một thiết bị Apple trang bị M3 Pro mà gần như không cần sửa đổi mã kernel.

CUDA

Đây là một tiến bộ do người dùng X @Abhinav công bố hôm qua. Điều khiến người ta bất ngờ hơn là, nó không chỉ là một bài trình diễn đơn giản về “cộng, trừ, nhân, chia vector”, mà còn đạt được tốc độ tăng khoảng 10 lần trong nhiệm vụ mô phỏng chất lỏng ba chiều thực tế.

CUDA

Đằng sau sự việc này, có một người tham gia đặc biệt — GPT-5.6 Sol.

Sự việc xảy ra trên nền tảng tính toán khoa học mã nguồn mở OpenFPM. Các nhà nghiên cứu đã đang thực hiện một việc mà nhiều người cho là "không khả thi": làm cho các chương trình tính toán hiệu năng cao được thiết kế ban đầu cho GPU CUDA/HIP có thể chạy vượt qua rào cản nền tảng trên kiến trúc GPU Metal riêng của Apple.

Tại sao điều này lại khó? Trong hơn một thập kỷ qua, lĩnh vực tính toán GPU đã cực kỳ phân mảnh — NVIDIA có CUDA, AMD có HIP, Apple có Metal. Các hệ sinh thái này giống như những ngôn ngữ khác nhau, không tương thích với nhau. Một chương trình được viết bằng CUDA thường cần được viết lại hoàn toàn để chạy trên các nền tảng khác.

Nhưng lần này, các nhà phát triển không chọn phát triển lại một phiên bản Metal, mà thay vào đó đã xây dựng một kênh chuyển đổi: chương trình được xử lý qua Clang/HIP trước, sau đó thông qua các lớp trung gian như SPIR-V, Vulkan và MoltenVK, cuối cùng giúp GPU Metal của Apple có thể hiểu và thực thi hiệu quả.

Quan trọng hơn, họ hoàn toàn không thêm bất kỳ API hạt nào dành riêng cho Metal. Lớp ứng dụng vẫn giữ nguyên các lời gọi kernel phong cách CUDA/HIP, đạt được tính minh bạch phần cứng thực sự.

Trong quá trình này, GPT-5.6 Sol đã đóng vai trò then chốt. Nó giúp hoàn thành việc xây dựng bố trí bộ nhớ trên thiết bị, phát hiện các vấn đề tương thích trong MoltenVK và SPIR-V trong khoảng 6 giờ, đồng thời thiết kế các giải pháp thay thế tương ứng.

CUDA

Liên kết dự án: https://github.com/mosaic-group/openfpm/pull/18

Thử thách thực sự cho công việc này là một trường hợp kiểm tra phức tạp — mô phỏng vỡ đập SPH ba chiều. Nhiệm vụ này yêu cầu đồng thời xử lý nhiều module phức tạp như quét, sắp xếp và tái sắp xếp, xây dựng ô và danh sách lân cận, trao đổi hạt ghost, các phép toán giảm và các phép toán nguyên tử; bất kỳ khâu nào gặp sự cố đều dẫn đến giảm hiệu suất hoặc sai lệch kết quả vật lý.

Tuy nhiên, kết quả kiểm tra vượt ngoài dự kiến. Trên thiết bị Apple trang bị chip M3 Pro, khi chạy bằng Metal GPU, thời gian hoàn thành khoảng 6 giây; khi tính toán tuần tự bằng CPU, thời gian hoàn thành khoảng 60 giây. Nói cách khác, cùng một chương trình, chỉ cần thay đổi phần cứng tính toán, đã đạt được tốc độ tăng khoảng 10 lần, và tỷ lệ sử dụng GPU gần 100% (cho thấy hiệu suất chuyển đổi rất cao).

Quan trọng hơn, việc tăng tốc độ không đi kèm với sự hy sinh độ chính xác. Các nhà phát triển đã kiểm tra kỹ hơn các kết quả mô phỏng và phát hiện ra rằng các kết quả vật lý cuối cùng từ phiên bản GPU của Apple và phiên bản tính toán gốc là nhất quán, với các tham số quan trọng và quỹ đạo mô phỏng cực kỳ gần nhau. Điều này có nghĩa là GPU của Apple không chỉ chạy được, mà còn thực sự hoàn thành các nhiệm vụ tính toán khoa học.

Các nhà phát triển chỉ thêm rằng bộ nhớ hạt tăng tuyến tính theo số lượng hạt N, trong khi các công việc như tìm kiếm hàng xóm có độ phức tạp khoảng O(N・k) (k là số hàng xóm ở mật độ cố định). Tốc độ tăng 10 lần hiện tại là kết quả so sánh trên nền tảng một máy chủ. Trong tương lai, nhờ công nghệ RDMA được hỗ trợ bởi Apple Thunderbolt, có thể thực hiện cân bằng tải động giữa nhiều máy, cho phép mô phỏng mở rộng trên nhiều thiết bị.

Tất nhiên, bước đột phá này vẫn còn xa mới có thể thay đổi toàn bộ ngành công nghiệp GPU. Hiện nay, một trong những hạn chế lớn nhất của GPU Metal của Apple là khả năng hỗ trợ tính toán dấu phẩy động độ chính xác cao còn yếu, trong khi nhiều lĩnh vực tính toán khoa học chuyên sâu phụ thuộc vào phép tính đôi. Do đó, trong các tình huống siêu tính toán như dự báo thời tiết và mô phỏng hàng không - vũ trụ, GPU chuyên dụng của NVIDIA vẫn giữ lợi thế.

Tuy nhiên, cũng có người đặt câu hỏi về ý nghĩa của việc khám phá này, một người dùng mạng cho biết: “Trên thị trường rõ ràng có rất nhiều hệ thống phù hợp hơn, vậy chạy mô phỏng nhỏ này trên Mac thì có ích gì?” Ngụ ý của họ là, dù GPU của MacBook có nhanh đến đâu, thì cuối cùng nó cũng không được thiết kế cho tính toán khoa học, và việc này nghe có vẻ giống như một màn trình diễn kỹ thuật.

Phản hồi của nhà phát triển rất thẳng thắn: “Lợi ích lớn nhất là vui và làm việc thuận tiện hơn.” Anh giải thích rằng, việc mô phỏng quy mô lớn của nhóm vốn đã chạy trên cụm máy chủ, và việc lần này chạy được trên kiến trúc của Apple chính là minh chứng cho thiết kế lớp trừu tượng thiết bị là hợp lý. Lý do thực tế hơn nằm trong quy trình phát triển hàng ngày — trước khi chạy mô phỏng lớn, luôn cần kiểm thử bằng mô phỏng nhỏ; nhưng việc gỡ lỗi cục bộ bằng CPU thì quá chậm; kết quả mô phỏng thường lên tới vài GB, SSH không thể truyền về được, còn desktop từ xa thì nặng nề và khó sử dụng, nên tốt hơn hết là chạy trực tiếp trên máy本地. Điều tuyệt vời nhất là mã đã được gỡ lỗi thành công trên laptop có thể được đưa nguyên vẹn lên cụm GPU và tự động mở rộng quy mô.

CUDA

Cuộc khám phá này còn chứng minh rằng: cùng một bộ thuật toán phong cách CUDA/HIP có thể chạy tương đối minh bạch trên các nền tảng phần cứng khác nhau như Apple Silicon. Trong tương lai, các nhà phát triển phần mềm có thể không còn bị ràng buộc bởi một hệ sinh thái GPU duy nhất.

CUDA

Ngoài ra, điều này cũng cho thấy AI (GPT-5.6 Sol) đang bước sang giai đoạn mới – từ “hỗ trợ viết mã” sang “tham gia vào thiết kế hệ thống cơ bản, tối ưu hóa và gỡ lỗi kỹ thuật đa nền tảng”.

GPU của Apple lần này đã vượt qua khoảng cách CUDA, có thể chỉ mới là khởi đầu.

Liên kết tham khảo: https://x.com/Abhinavsns/status/2079774018748694696

Bài viết này đến từ tài khoản WeChat “Machine Heart” (ID: almosthuman2014), tác giả: Machine Heart

Tuyên bố miễn trừ trách nhiệm: Thông tin trên trang này có thể được lấy từ bên thứ ba và không nhất thiết phản ánh quan điểm hoặc ý kiến của KuCoin. Nội dung này chỉ được cung cấp cho mục đích thông tin chung, không có bất kỳ đại diện hay bảo đảm nào dưới bất kỳ hình thức nào và cũng không được hiểu là lời khuyên tài chính hay đầu tư. KuCoin sẽ không chịu trách nhiệm về bất kỳ sai sót hoặc thiếu sót nào hoặc về bất kỳ kết quả nào phát sinh từ việc sử dụng thông tin này. Việc đầu tư vào tài sản kỹ thuật số có thể tiềm ẩn nhiều rủi ro. Vui lòng đánh giá cẩn thận rủi ro của sản phẩm và khả năng chấp nhận rủi ro của bạn dựa trên hoàn cảnh tài chính của chính bạn. Để biết thêm thông tin, vui lòng tham khảo Điều khoản sử dụngTiết lộ rủi ro của chúng tôi.