在
device
亞程式中宣告的變數可以有以下幾種屬性
(device,managed, constant, shared
和pinned)
:device
資料儲存在
device
全域性儲存器中,可以通過以下方式宣告:
real
::a(10)
attributes(device)::a 或
real
,device
::b(10)
managed
可用於host
和device
**,可以在
host
和device
之間遷移,取決於最初讀取位置。可以被
host
讀寫,但在
device
上只能不
kernels
讀取,在
device
上,mannaged
變數有點類似於
device
變數,但沒有分配到
device
上。constant 稱為
device constant
變數,分配在
device constant
記憶體空間,
device constant
變數不能被
device
子程式設定和修改,可以被
host
子程式修改,
device constant
不可以是動態分配的。
shared 稱為
(device) shared
變數,僅被
device
子程式宣告和訪問,或者被其他
device
子程式通過傳遞變數訪問,分配位置在
thread
塊的device shared
記憶體,變數壽命為
thread
塊的壽命,可以被
thread
塊中任何乙個執行緒讀寫。
pinned
pinned
變數必須是動態可分配陣列,分配時在
host
頁面鎖定記憶體,因而從頁面鎖定記憶體到
device
記憶體是比
host
正常記憶體拷貝要快的,作業系統和裝置對其使用和大小可能有限制,若是得不到頁面鎖定記憶體,將被非同步分配到
host
正常記憶體中。
texture
f90指標,real
或者integer
資料,僅在
device
子程式讀,不可以寫。通過分量的快取在裝置中,提高**效能。
**:
cuda的內建變數
thread 執行緒 乙個執行緒可作為乙個運算單元,多個thread可組成乙個block 塊 threadidx.x block中當前thread在x方向上的id.threadidx.y block中當前thread在y方向上的id.block 塊 乙個block中可包含多個thread,多個blo...
CUDA程式設計 列印顯示卡屬性
列印顯示卡屬性 2017 11 8 includeusing namespace std int main int devicecount cudagetdevicecount devicecount returns in devicecount the number of devices cout...
C 中的變數 字段 域 屬性 屬性過程
在c 中 域 表示與物件或類相關聯的變數,修飾符不論是不是public。與字段類似 字段 表示與物件或類相關聯的變數。通常來講修飾符是public的成員變數稱為字段,而private更適合說是區域性變數。與域類似 屬性 表示域或字段的自然擴充套件,使得在保證封裝性的基礎上實現了訪問私有成員的便捷性。...