Trong thế giới điện toán hiệu năng cao (HPC), khả năng di động hiệu suất là mục tiêu được nhiều nhà phát triển theo đuổi. Tuy nhiên, với sự đa dạng của các nền tảng điện toán, mục tiêu này đang phải đối mặt với nhiều thách thức. Khả năng di động về hiệu suất không chỉ là việc chạy ứng dụng trên các nền tảng phần cứng khác nhau mà quan trọng hơn là làm thế nào để duy trì khả năng tương thích mà không ảnh hưởng đến hiệu suất. Cho đến nay, vẫn chưa có tiêu chuẩn chung nào để định lượng và đánh giá khả năng di động về hiệu suất, điều này gây khó khăn cho các nhà phát triển khi thiết kế phần mềm.
Khả năng di động hiệu suất thể hiện giả định rằng cơ sở mã duy nhất của nhà phát triển sẽ hoạt động tốt trên các kiến trúc mới và duy trì giới hạn hiệu suất chấp nhận được trên nhiều kiến trúc hiện tại chưa được thử nghiệm.
Định nghĩa và cách đo lường khả năng di chuyển hiệu suất vẫn đang được tranh luận sôi nổi. Một số người cho rằng vấn đề chủ yếu là khả năng di động của ứng dụng, trong khi những người khác lại khẳng định khả năng di động của mã nguồn mới là chìa khóa. Đặc biệt trong tình hình hiện nay khi phần cứng thay đổi từng ngày, các nhà phát triển cần cân nhắc làm thế nào để sản phẩm của họ có thể tiếp tục chạy trên nhiều nền tảng. Chương trình Siêu máy tính (ECP) của Bộ Năng lượng Hoa Kỳ nhấn mạnh điểm này vì họ cần tạo ra một hệ sinh thái điện toán tương thích cho các kiến trúc phần cứng khác nhau.
Người ta thường cho rằng "một mã có thể chạy tốt trên nhiều kiến trúc, đó là khả năng di động về hiệu suất."
Khi đánh giá khả năng di động về hiệu suất, các nhà phát triển thường xem xét hai yếu tố: khả năng di động và hiệu suất. Tính di động có thể được đo bằng cách xem xét các dòng mã được sử dụng trên các kiến trúc khác nhau, trong khi hiệu suất có thể được xác định bằng cách so sánh các phiên bản được tối ưu hóa cho nền tảng với các phiên bản di động. Bất chấp những phương pháp đo lường này, ngành công nghiệp này vẫn thiếu các tiêu chuẩn minh bạch, khiến các nhà phát triển khó có thể hiểu rõ cách đạt được khả năng di động hiệu suất tốt nhất.
Tại Hội nghị về khả năng di động của DOE (Bộ Năng lượng Hoa Kỳ) năm 2016, những người tham gia đã tham gia vào một cuộc tranh luận sôi nổi về khả năng di động về hiệu suất. Nhiều nhà phát triển và nhà khoa học nổi tiếng đã tham dự cuộc họp để chia sẻ những hiểu biết và yêu cầu mới về khả năng di động hiệu suất. Điều đáng chú ý là có quan điểm cho rằng khả năng di động về hiệu suất do các mô hình lập trình song song trong tương lai mang lại sẽ quan trọng hơn những gì mà chính các ứng dụng có thể cung cấp.
Như đã đề cập trong cuộc họp, "Một mã có thể di động khi nhóm ứng dụng coi nó có thể di động."
Đối mặt với nhiều nền tảng phần cứng khác nhau, các nhà phát triển cần tìm một khuôn khổ phù hợp để hỗ trợ mã của họ. Các khuôn khổ nổi tiếng như OpenCL, SYCL và OpenMP tuyên bố có thể hỗ trợ tính di động của chức năng. Các khuôn khổ này hỗ trợ lập trình song song trên nhiều nền tảng, cho phép các nhà phát triển lập trình bằng nhiều ngôn ngữ. Tuy nhiên, ngoài các khuôn khổ, còn có các giải pháp không phải khuôn khổ, chẳng hạn như ngôn ngữ tự điều chỉnh và ngôn ngữ dành riêng cho miền, cũng có thể giúp cải thiện khả năng di động về hiệu suất.
Tóm lại, vấn đề về khả năng di động hiệu suất đang ngày càng trở nên quan trọng trong điện toán hiệu suất cao vì nó ảnh hưởng trực tiếp đến hiệu quả công việc của nhà phát triển và sự phát triển bền vững của các ứng dụng. Khi nhu cầu điện toán thay đổi trong tương lai và công nghệ điện toán tiến bộ nhanh chóng, các nhà phát triển nên thích ứng và đối mặt với những thách thức này như thế nào?