cude的__ldg使用
生活随笔
收集整理的這篇文章主要介紹了
cude的__ldg使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?一般使用__ldg是更好的選擇。通過constant緩存存儲的數據必須相對較小而且必須獲取同一個地址以便獲取最佳性能,相反,只讀緩存則可以存放較大的數據,且不必地址一致。
__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]);} }運行速度對比:
很顯然const momery 通過__ldg修飾可以提高訪問效率
總結
以上是生活随笔為你收集整理的cude的__ldg使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用IntelliJ IDEA导入 Fl
- 下一篇: HugeGraphServer 部署安装