Trình biên dịch sử dụng mã C để viết một lần và tăng tốc CPU

Cập nhật: ngày 6 tháng 2023 năm XNUMX
Trình biên dịch sử dụng mã C để viết một lần và tăng tốc CPU

Người dùng có thể tạo mã cho các bộ xử lý đa lõi trên cùng một kiến ​​trúc hoặc khác nhau và sử dụng điểm chuẩn với các biến thời gian chạy. Phần cứng, mức sử dụng năng lượng hoặc số lõi có thể được điều chỉnh và các quy trình khác có thể được phân bổ để tối ưu hóa hiệu suất / W.

Clay Johnson, Giám đốc điều hành của CacheQ Systems, đã mô tả trình biên dịch này như một công cụ thay đổi cuộc chơi. Ông nói: “Các nhà phát triển phần mềm có thể“ tận dụng tối đa sức mạnh xử lý song song mà không cần mất nhiều năm học viết mã với OpenMP hoặc MPI. “Họ có thể tăng tốc thuật toán đơn luồng bằng các công cụ của chúng tôi để nhanh chóng biên dịch và nhắm mục tiêu bất kỳ CPU nào có từ hai lõi trở lên”.

Các công cụ trong Bộ sưu tập trình biên dịch CacheQ cho phép các nhà phát triển phần mềm tạo và triển khai các trình tăng tốc phần cứng tùy chỉnh cho các hệ thống máy tính không đồng nhất bao gồm FPGAS, CPU và GPU. bộ này được mô phỏng theo bộ công cụ GNU Compiler Collection (GCC), bao gồm giao diện người dùng tương tự như các trình biên dịch mã nguồn mở thông thường. Công ty giải thích rằng nó yêu cầu sửa đổi mã hạn chế để rút ngắn thời gian phát triển.

Bộ công cụ cho phép biên dịch, vẽ sơ đồ và phát hiện lỗi, dự đoán hiệu suất, lập hồ sơ, gỡ lỗi và trực quan hóa công cụ ảo được tạo. Bộ sưu tập trình biên dịch CacheQ hỗ trợ mã C và C ++ thông qua truy cập kết hợp của một lệnh gọi hàm đã xuất.

Công ty cung cấp điểm chuẩn cho các máy chủ cao cấp và thiết bị điện tử tiêu dùng, chẳng hạn như mô phỏng bộ vi xử lý Apple M1 với hai lõi hoạt động tốt hơn chip x86 với 11 lõi và bộ xử lý M1 với bốn lõi có hiệu suất nhanh hơn 210% so với x86 với 12 lõi. . Nhìn chung, trình biên dịch hoạt động nhanh hơn 1,476% so với GCC đơn luồng chạy trên x86 bằng cách sử dụng Bộ sưu tập trình biên dịch CacheQ được thực hiện trên cùng một mã.

Các công cụ biên dịch hiện đang được vận chuyển thông qua một chương trình truy cập hạn chế.