終極旗艦降臨!NV黑版TITAN首發(fā)測試
Kepler的內存層次結構與Fermi類似。Kepler架構支持統(tǒng)一內存加載和存儲的請求路徑,每個SMX 多處理器有一個L1緩存。Kepler GK110 還使編譯器指示為只讀數(shù)據增設一個新的緩存,如下所述。
64KB可配置共享內存和L1緩存
在 Kepler GK110 架構(如在上一代 Fermi 架構)中,每個 SMX 有 64 KB 的片上存儲器,可配置為 48 KB 的 共享存儲器和 16 KB 的 L1 緩存,或配置為 16 KB 的共享存儲器和 48 KB 的 L1 緩存。Kepler 目前在配置共享存儲器的分配和 L1 緩存方面的靈活性更大,允許共享存儲器和 L1 緩存之間以 32KB/32KB 劃分。為了支持 SMX 單元增加的吞吐量,用于 64 位或更大負載運算的共享存儲器帶寬相對 Fermi SM 也增加一倍,到每主頻 256B。
48KB只讀‐數(shù)據緩存
除 L1 緩存之外,Kepler 為只讀數(shù)據引入 48 KB 緩存為了函數(shù)的持續(xù)時間。在 Fermi 時代,該緩存只能由紋理單元訪問。專家程序員通常發(fā)現(xiàn)它的優(yōu)勢是通過將數(shù)據映射為紋理來加載數(shù)據,但這種方法有很多局限性。
在 Kepler 中,除了大大提高了該緩存的容量之外,還伴隨著紋理功力的提高,我們決定讓緩存為一般負載運算直接訪問 SM 。使用只讀的路徑好處極大,因為它使負載和工作組的影響遠離共享/L1緩存路徑。此外,其他情況下,只讀數(shù)據緩存更高的標簽帶寬支持全速非對齊內存訪問模式。
該路徑的使用是由編譯器自動管理(通過參數(shù) C99 訪問任何變量或稱為常量的數(shù)據結構)。標準關鍵字 “const_restrict” 將被編譯器標記以通過只讀數(shù)據緩存加載。
改進的L2緩存
Kepler GK110 GPU 具有 1536KB 的專用 L2 緩存內存,是 Fermi 架構中 L2 的 2 倍。L2 緩存是SMX 單元之間主要數(shù)據統(tǒng)一點,處理所有加載、存儲和紋理請求并提供跨 GPU 之間有效、高速的數(shù)據共享。Kepler 上的 L2 緩存提供的每時鐘帶寬是 Fermi 中的 2 倍。之前不知道數(shù)據地址的算法,如物理求解器、光線追蹤以及稀疏矩陣乘法,從高速緩存層次結構中獲益匪淺。需要多個SM讀取相同數(shù)據過濾和卷積內核也從中受益。
內存保護支持
與 Fermi 相同,Kepler的注冊文件、共享內存、L1 緩存、L2 緩存和 DRAM 內存受單錯糾正雙錯檢測 (SECDED) ECC 代碼保護。此外,只讀的數(shù)據緩存‐通過奇偶校驗支持單錯糾正,在奇偶校驗錯誤的情況下,緩存單元自動使失效,迫使從 L2 讀取正確的數(shù)據。
ECC 校驗位從 DRAM 獲取必定消耗一定量的帶寬,這會導致啟用 ECC和停用 ECC的運算之間的差異,尤其對于內存帶寬敏感的應用程序?;?Fermi 的經驗,Kepler GK110 對 ECC 校驗位獲取處理進行了幾項優(yōu)化。結果,經內部的計算應用測試套件測量,開啟和關閉 ECC 的性能三角洲已經平均降低 66%。
關注我們
