相关疑难解决方法(0)

cudaMemcpyToSymbol与cudaMemcpy为何仍然存在(cudaMemcpyToSymbol)

如其他问题所述并根据链接,您不能再使用此功能的符号名称.现在该功能已经消失,什么时候才能使用它cudaMemCpy?你什么时候想要使用它?什么是权衡或利益?

http://developer.download.nvidia.com/compute/cuda/4_1/rel/toolkit/docs/online/group_ CUDART _MEMORY_gf268fa2004636b6926fdcd3189152a14.html

cuda

10
推荐指数
1
解决办法
1万
查看次数

cudaMemcpy()vs cudaMemcpyFromSymbol()

我想弄明白为什么cudaMemcpyFromSymbol()存在.似乎'符号'func可以做的一切,nonSymbol cmds可以做到.

符号func似乎可以轻松移动数组或索引的一部分,但这可以很容易地使用nonSymbol函数完成.我怀疑nonSymbol方法会运行得更快,因为不需要符号查找.(目前尚不清楚符号查找计算是在编译还是运行时完成.)

我为什么要用cudaMemcpyFromSymbol()vs cudaMemcpy()?

cuda

9
推荐指数
1
解决办法
3131
查看次数

在CUDA中使用全局与常量内存

嘿那里,我有以下代码:

#if USE_CONST == 1
    __constant__ double PNT[ SIZE ];    
#else
    __device__ double *PNT;
#endif
Run Code Online (Sandbox Code Playgroud)

稍后我有:

#if USE_CONST == 0
    cudaMalloc((void **)&PNT, sizeof(double)*SIZE);
    cudaMemcpy(PNT, point, sizeof(double)*SIZE, cudaMemcpyHostToDevice);
#else
    cudaMemcpyToSymbol(PNT, point, sizeof(double)*SIZE);
#endif
Run Code Online (Sandbox Code Playgroud)

point在之前的代码中定义的地方.当处理USE_CONST=1所有事情按预期工作时,但在没有它的情况下工作,而不是工作.我通过我的内核函数访问数组

PNT[ index ]

这两种变体之间的问题在哪里?谢谢!

memory cuda

5
推荐指数
1
解决办法
4503
查看次数

__device__变量上的cudaMemcpyFromSymbol

我正在尝试对__device__变量应用内核函数,根据规范,它位于"全局内存"中

#include <stdio.h>
#include "sys_data.h"
#include "my_helper.cuh"
#include "helper_cuda.h"
#include <cuda_runtime.h>


double X[10] = {1,-2,3,-4,5,-6,7,-8,9,-10};
double Y[10] = {0};
__device__ double DEV_X[10];


int main(void) {
    checkCudaErrors(cudaMemcpyToSymbol(DEV_X, X,10*sizeof(double)));
    vector_projection<double><<<1,10>>>(DEV_X, 10);
    getLastCudaError("oops");
    checkCudaErrors(cudaMemcpyFromSymbol(Y, DEV_X, 10*sizeof(double)));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

内核函数vector_projection定义my_helper.cuh如下:

template<typename T> __global__ void vector_projection(T *dx, int n) {
    int tid;
    tid = threadIdx.x + blockIdx.x * blockDim.x;
    if (tid < n) {
        if (dx[tid] < 0)
            dx[tid] = (T) 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我用cudaMemcpyToSymbolcudaMemcpyFromSymbol …

cuda gpu gpgpu

3
推荐指数
1
解决办法
2789
查看次数

标签 统计

cuda ×4

gpgpu ×1

gpu ×1

memory ×1