Theo "CUDA C Programming Guide", quyền truy cập bộ nhớ không đổi chỉ có lợi nếu bộ nhớ cache liên bộ đa bộ được nhấn (Mục 5.3.2.4) . Nếu không, có thể có nhiều yêu cầu bộ nhớ hơn cho một nửa sợi dọc hơn trong trường hợp đọc bộ nhớ toàn cầu kết hợp. Vậy tại sao kích thước bộ nhớ không đổi được giới hạn ở 64 KB?Tại sao kích thước bộ nhớ không đổi bị hạn chế trong CUDA?
Một câu hỏi khác để không hỏi hai lần. Theo như tôi hiểu, trong kiến trúc Fermi, cache kết cấu được kết hợp với bộ đệm L2. Việc sử dụng kết cấu vẫn có ý nghĩa hay đọc bộ nhớ toàn cục được lưu trữ theo cùng một cách?
liên tục Memory (Mục 5.3.2.4)
Không gian bộ nhớ liên tục nằm trong bộ nhớ điện thoại và được lưu trữ trong bộ nhớ cache liên tục đề cập tại mục F.3.1 và F. 4.1.
Đối với các thiết bị có khả năng tính toán 1.x, yêu cầu bộ nhớ liên tục cho một sợi dọc được chia thành hai yêu cầu, một cho mỗi nửa dọc, được phát hành độc lập.
Yêu cầu sau đó được chia thành nhiều yêu cầu riêng biệt vì có các địa chỉ bộ nhớ khác nhau trong yêu cầu ban đầu, giảm thông lượng theo hệ số bằng số yêu cầu riêng biệt.
Các yêu cầu kết quả sau đó được phục vụ tại thông lượng của bộ đệm không đổi trong trường hợp có lần truy cập bộ nhớ cache hoặc thông lượng bộ nhớ thiết bị khác.
Greg, tôi xin lỗi vì có thể không đủ rõ ràng. Tôi biết cách sử dụng bộ nhớ liên tục. Trong câu hỏi tôi tự hỏi tại sao kích thước của bộ nhớ liên tục được giới hạn đến 64 KB nếu chỉ lưu trữ 8 KB thực sự cung cấp hiệu suất tốt hơn so với bộ nhớ toàn cầu. Trong cùng một cách thức bộ nhớ toàn cầu có thể được truy cập thông qua bộ nhớ cache L1. Vì vậy, từ quan điểm lập trình xem sự khác nhau giữa việc sử dụng bộ nhớ toàn cục hoặc bộ nhớ không đổi là cả hai đều được lưu trữ theo cùng một cách? – AdelNick
Bộ nhớ cache không đổi có kích thước tối ưu cho đồ họa và bóng đổ tính toán. API CUDA hiển thị bộ nhớ cache liên tục để các nhà phát triển có thể tận dụng bộ nhớ cache bổ sung. Bộ đệm không đổi có hiệu suất tối ưu khi tất cả các luồng truy cập cùng một địa chỉ.Số lần truy cập rất nhanh. Misses có thể có hiệu suất tương tự của một miss L1. Bộ nhớ đệm liên tục có thể được sử dụng để giảm sự va đập của L1. Khả năng tính toán 1.x thiết bị không có bộ nhớ cache L1 hoặc L2 để bộ nhớ cache liên tục được sử dụng để tối ưu hóa một số truy cập. –