Ý tưởng Boltzmann cho phép card màn hình AMD tương thích CUDA

Với ý tưởng của Boltzmann đã cho phép card màn hình AMD tương thích CUDA bằng cách tạo ra 1 lớp tương thích thông qua 1 công cụ lập trình có tên Heterogeneous Compute Compiler (HCC)

Tags: card màn hình AMD

Ý tưởng Boltzmann cho phép card màn hình AMD tương thích CUDA

Ý tưởng Boltzmann cho phép card màn hình AMD tương thích CUDA

AMD là người đề nghị lớn nhất sử dụng OpenCL như là sự lựa chọn của ngôn ngữ lập trình của họ, 1 trong những lí do đó là tính linh hoạt của OpenCL trong bất kỳ môi trường lập trình nào so với những giải pháp độc quyền của đối thủ. AMD cũng nhận ra thấy những lợi thế mà CUDA đang nắm giữ trong môi trường tính toán, nó là 1 ngôn ngữ tính toán rất tốt. Chính vì thế với ý tưởng Boltzmann tạo ra trình biên dịch mới của họ tức Heterogeneous Compute Compiler (HCC), họ đã thêm 1 cái gì đó gọi là Heterogeneous-Compute Interface for Portability (HIP), 1 công cụ có thể chuyển API CUDA runtime trực tiếp sang C++. Khi chuyển sang C++ thì các lập trình viên dễ dàng tiếp cận hơn rất nhiều so với OpenCL hay CUDA. Nó sẽ tạo ra 1 lập trình song song cho nhiều đối tượng rộng lớn hơn cho các nhà phát triển và tăng tính tương thích tốt hơn cho các nền tảng GPU của các nhà cung cấp khác nhau.

AMD giới thiệu: "Thử nghiệm của AMD cho biết trong nhiều trường hợp thì 90% hoặc hơn nữa số mã CUDA có thể tự động được chuyển sang mã C++ của HIP so với con số 10% mã được chuyển bằng tay trong ngôn ngữ C++".

Mô tả cách AMD làm

Mô tả cách AMD làm

Đây là 1 nỗ lực rất lớn của AMD để nắm bắt lại thị phần lớn từ thị trường HPC mà họ đang có xu hướng sử dụng CUDA rất nhiều. Mặc dù mã tự biên dịch sẽ không thể hoàn toàn tốt nhưng sẽ cung cấp 1 cơ sơ dễ dàng cho bạn tiếp cận hơn khi bạn chưa quen thuộc trong C++ nhưng lại muốn được lập trình với OpenCL. Điều quan trọng bạn cần lưu ý là card màn hình AMD sẽ không thể chạy mà CUDA hoàn chỉnh được và với công cụ nầy cũng sẽ không có 1 chút hi vọng nào về việc đó xảy ra. Đây chỉ là 1 lớp tương thích cho phép các nhà phát triển viết mã theo cách mà họ đang sử dụng để chuyển CUDA sang GPU AMD. Hiện tại AMD cũng không có giấy phép sử dụng CUDA mặc dù NVIDIA đã cho phép các bên thứ 3 sử dụng CUDA từ năm 2013.

Từ những gì chúng tôi viết ở trên, AMD chắc chắn đã có cái nhìn sâu sắc về vấn đề nầy dù hiện tại họ chưa có giấy phép dùng. Google cũng là 1 trong những ví dụ đáng xem xét, họ cũng cố dịch chuyển CUDA với trình biên dịch nội bộ của họ là GPUCC vào LLVM mà họ cũng đã có những thành công nhất định khi so sánh với việc dùng mà NVCC của NVIDIA. Google đã làm điều nầy mà không cần giấy phép từ NVIDIA và cố gắng tạo ra 1 trình biên dịch CUDA thành 1 nguồn mở. Điều nầy có ý nghĩa trong tương lai của điện toán? Nó có nghĩ là CUDA sẽ không phải là độc quyền. Dễ dàng kết nối và biên dịch CUDA khiến nó mất độc quyền.