2016-01-27 55 views
0

CUDA中的全局內存和紋理有什麼區別? 要加快從主機到設備的內存複製,哪一個更好? 我打算將它們用於圖像處理。 我見過雙邊過濾的示例。 它使用紋理而不是全局內存。CUDA中的全局內存和紋理有什麼區別?

我想解釋一下。 謝謝。

+0

我認爲你的意思是「雙線性」插值,而不是「雙邊」? – njuffa

+0

@njuffa:既有雙線性濾波器又有雙邊濾波器。雙線性濾波器使用雙線性插值和雙邊濾波器是一個非線性濾波器。 – brano

+0

雙邊濾波器是一種濾除圖像噪聲的濾波器。 它被廣泛使用過濾但耗時的算法。 但我可以看到一些CUDA樣本,包括雙邊濾波器。 我想知道的是使用紋理而不是全局內存的好處。 –

回答

1

紋理內存是指映射到全局內存的硬件單元。
在主機內存和GPU內存之間執行復制總是在涉及全局內存的情況下完成,如果將紋理單元映射到全局內存塊上,則無關緊要。

你可以閱讀更多關於CUDA programming guide

雙邊濾波樣本紋理內存採用紋理單元,利用紋理單元緩存機制來提高內存吞吐量。

優勢利用紋理內存:

  • 啓用全局內存的緩存
  • 緩存數據的能力,以最大限度地提高2D空間局部性
  • 線性插值硬件
  • 處理出界外地址在硬件
+0

您能否告訴我們使用Texture而不是全局內存的好處? –

+0

我增加了使用紋理內存的好處。瞭解紋理單元的每個特徵都可以在只有全局內存的軟件(內核)中解決。 – brano

相關問題