Để cải thiện hiệu năng thi hành của CUDA, rất nhiều hoạt động đã
được tiến hành. Tuy nhiên, mỗi kỹ thuật này đều chỉ mang hiệu quả đơn lẻ
chứ chưa có tính tổng quát hóa. Các đoạn mã nguồn CUDA chưa tối ưu luôn mang tới sự thắt nút cổ chai về hiệu năng. Bởi vậy, cần phải có sự quan tâm
đặc biệt với những vấn đề này. NVidia đã định nghĩa ba chiến lược đáng quan tâm cho tối ưu hóa hiệu năng:
1) Chiến lược đầu tiên đạt được thông lượng tốt hơn từ việc thực thi song song một cách tối đa hóa. Các bài toán phải được biến đổi thành cấu trúc song song dữ liệu.
41 2) Chiến lược thứ hai sử dụng băng thông một cách có hiệu quả. Chiến lược này cực tiểu hóa việc truyền dữ liệu giữa host và thiết bị và sử
dụng các bộ nhớ thiết bị một cách thích hợp. Nếu có thể, bộ nhớ
chia sẻ hoặc bộ nhớ kết cấu truy nhập nhanh hiệu năng cao cần được lựa chọn thay cho bộ nhớ toàn cục.
3) Chiến lược thứ ba là tối ưu hóa thông qua sử dụng dòng lệnh. Chiến lược này bao gồm việc lựa chọn các cách tiếp cận khác nhau để đạt
được hiệu năng cao. Việc tối ưu hóa mức độ dòng lệnh cũng cực tiểu hóa việc rẽ nhánh bên trong một warp. Điều này đảm bảo rằng mọi luồng đều được thực thi trên cùng một đường và tài nguyên tính toán
được sử dụng một cách có hiệu quả. CUDA cũng cung cấp vài hàm toán học để nâng cao hiệu năng, và chúng được sử dụng bất cứ khi nào có thể. Hiệu năng toàn diện tăng lên đáng kể khi việc tối ưu hóa
ở cấp độ dòng lệnh được sử dụng với một lượng rất lớn các đặc tính.