2012-10-28 32 views
7

Làm cho nó có ý nghĩa để viết lại mã để nó tải dữ liệu kết cấu trough cache (giả sử rằng tôi không cần lọc và các tùy chọn đơn vị kết cấu khác) hoặc là nó giống nhau không? Làm thế nào về tải một số dữ liệu máng L1 cache và một số đơn vị textured máng? tôi có một mã mà tôi có thể sử dụng chiến lược như vậy nhưng nó có ý nghĩa gì cả?CUDA: Bộ đệm kết cấu trên FERMI có tách biệt với bộ đệm L1 không?

Để làm cho nó rõ ràng, ý tôi là, "là bộ đệm kết cấu trên FERMI một phần cứng riêng biệt từ phần cứng bộ nhớ cache L1" - nói cách khác, tôi có thể khéo léo nhận được tổng khối lượng cache L1 + cho mã của tôi không?

Trả lời

11

Nó là riêng biệt. Tải kết cấu không đi qua L1. Đối với các ứng dụng không kết cấu (ví dụ: bạn không sử dụng các tính năng như nội suy và kẹp), lợi ích chính của việc tạo họa tiết là nó cho phép bạn chọn lọc thêm một lượng lớn bộ nhớ toàn cục có khả năng được lưu trữ (giả định địa phương và tái sử dụng) mà không bị gián đoạn những gì đang xảy ra trong L1. Đối với các tập dữ liệu nhỏ, texturing sẽ không mang lại sự hoàn hảo hơn L1. Đối với các tập dữ liệu lớn, nơi có một số địa phương và tái sử dụng, nhưng các tải từ khu vực được che phủ bởi bộ nhớ đệm kết cấu có thể làm hỏng L1 (có thể nhỏ đến 16KB trên SM trên Fermi, tùy thuộc vào cấu hình bộ nhớ cache), bộ đệm kết cấu có thể cung cấp một lợi ích cho ứng dụng tổng thể. Nó không phải là không phổ biến cho người dùng kinh nghiệm sử dụng kết cấu không phải là khá nhanh như nếu mọi thứ có thể được lưu trữ trong L1, nhưng nhanh hơn rất nhiều so với tải uncached, hoặc tải rải rác mà thrash L1. Rất nhiều sẽ phụ thuộc vào mô hình truy cập và kích thước của dữ liệu liên quan. Kích thước của bộ đệm kết cấu là theo thứ tự 8KB cho mỗi SM. Bạn có thể cache một khu vực lớn hơn nhiều, nhưng mức độ tái sử dụng và địa phương cao sẽ chắc chắn cải thiện hiệu năng của cache kết cấu. Cũng lưu ý rằng bộ nhớ kết cấu là chỉ đọc. Bạn có thể quan tâm đến điều này webinar.

+0

Chính xác câu trả lời tôi đang tìm kiếm, cảm ơn bạn. –

Các vấn đề liên quan