cude的__ldg使用
生活随笔
收集整理的這篇文章主要介紹了
cude的__ldg使用
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?一般使用__ldg是更好的選擇。通過(guò)constant緩存存儲(chǔ)的數(shù)據(jù)必須相對(duì)較小而且必須獲取同一個(gè)地址以便獲取最佳性能,相反,只讀緩存則可以存放較大的數(shù)據(jù),且不必地址一致。
__global__ void transpose2(const real* A, real* B, const int N) {const int nx = blockIdx.x * blockDim.x + threadIdx.x;const int ny = blockIdx.y * blockDim.y + threadIdx.y;if (nx < N && ny < N){B[ny * N + nx] = A[nx * N + ny];} }__global__ void transpose3(const real* A, real* B, const int N) {const int nx = blockIdx.x * blockDim.x + threadIdx.x;const int ny = blockIdx.y * blockDim.y + threadIdx.y;if (nx < N && ny < N){B[ny * N + nx] = __ldg(&A[nx * N + ny]);} }運(yùn)行速度對(duì)比:
很顯然const momery 通過(guò)__ldg修飾可以提高訪問(wèn)效率
總結(jié)
以上是生活随笔為你收集整理的cude的__ldg使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用IntelliJ IDEA导入 Fl
- 下一篇: HugeGraphServer 部署安装