Ngôn ngữ lập trình hàm mới có thể phát sinh ra code của C, Python cho các ứng dụng

Ngoc Huynh

Mã nguồn mở Futhak giúp việc lập trình các GPU dễ dàng hơn nhằm tăng tốc độ máy học (machine learning) và các ứng dụng.

Các nhà nghiên cứu tại đại học Copenhagen mới đây đã công bố về Futhark – một ngôn ngữ lập trình hàm mã nguồn mở được thiết kế để tạo ra code chạy trên các GPU, sử dụng ở máy học và các ứng dụng hướng đến hiệu suất cao khác.

Futhark được đánh giá là thuận tiện trong việc sử dụng hơn nhiều so với các C/C++ framework chuẩn dùng để lập trình các GPU. Nó có thể tự động phát sinh (generate) cả code của C và Python để có thể tích hợp với các ứng dụng hiện có.

Hầu hết lập trình GPU hiện nay đều đang sử dụng các framework như OpenCL và CUDA, cả hai framework này sử dụng các biến đổi (variation) của C hoặc C++ để phát sinh code chạy trên GPU. Và các nhà nghiên cứu cho hay bản thân Futhark được viết bằng Haskell.

Theo các nghiên cứu thì điều tuyệt vời nhất của ngôn ngữ mới là dễ dàng mô tả các hoạt động phức tạp có sử dụng cấu trúc song song (parallelism). Điều này bao gồm khả năng hỗ trợ các nested parallelization (tức là các hoạt động song song bên trong các hoat động song song khác).

Bộ công cụ (toolchain) Futhark hiện tại có thể phát sinh ra code mà có khả năng chạy trên cả CPU hoặc GPU, với nhiều mục tiêu khác nhau. Ban đầu, nó phát sinh ra code của C được biên dịch bởi GCC; về sau nó phát sinh ra code của C có sử dụng nền tảng OpenCL. Như vậy, code giống nhau có thể chạy trên bất kỳ phần cứng nào có hỗ trợ nó.

Người dùng của Python muốn tăng tốc có thể phát sinh ra code bằng Futhark đã được đính kèm tự động trong mô đun của Python.

Và hiện tại Futhark vẫn còn là một dự án nghiên cứu, nên nó vẫn chưa hoàn thiện như các ngôn ngữ khác.

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com/