小编Ern*_*run的帖子

我应该如何以及何时使用cuda API使用倾斜指针?

我对如何使用cudaMalloc()和分配和复制线性内存有很好的理解cudaMemcpy().但是,当我想使用CUDA函数来分配和复制2D或3D矩阵时,我常常会被各种参数所迷惑,特别是关于在处理2D/3D数组时总是存在的倾斜指针.文档很适合提供一些如何使用它们的例子,但它假设我熟悉填充和音高的概念,我不是.

我通常最终会调整我在文档中或网络上其他地方找到的各种示例,但后面的盲目调试非常痛苦,所以我的问题是:

什么是球场?我该如何使用它?如何在CUDA中分配和复制2D和3D阵列?

c++ cuda

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

为什么(何时?) event.target 可以为 null?

我想一切都在标题中:何时 event.target null,如其类型定义所允许的?

我认为我从未遇到过这种情况,也无法在文档中找到解释,无论是在 MDN ( https://developer.mozilla.org/en-US/docs/Web/API/Event ) 上还是在 typescript 上打字代码本身(https://github.com/Microsoft/TypeScript/blob/master/lib/lib.dom.d.ts#L4992

typescript

7
推荐指数
1
解决办法
1304
查看次数

(如何)我可以在Windows上执行单个.cmake文件吗?

我正在使用visual studio 2010在Windows 7上工作.

我有一个cmake建筑环境,它不能像我希望的那样工作.特别是,它在某个点处执行.cmake文件,该文件处理除了一个之外的所有正确文件.我想手动运行它来处理最后一个文件,可以吗?怎么样 ?

(详细信息:我尝试编译的程序是opencv,尤其是ocl模块.我想执行的.cmake脚本是cl2cpp.cmake)

windows cmake

6
推荐指数
1
解决办法
9467
查看次数

从 cuda 3D 内存复制到线性内存:复制的数据不是我预期的

这是我的问题:

我的设备上有一个 3D 数组float3

int size[3] = {416,464,512};
cudaExtent extent = make_cudaExtent(size[0]*sizeof(float3),size[1],size[2]);
cudaPitchedPtr renderedVolume;
int ret = cudaMalloc3D(&renderedVolume, extent);
size_t pitch = renderedVolume.pitch; //pitch = 5,120
size_t slicePitch = pitch * size[1]; //slicePitch = 2,375,680
Run Code Online (Sandbox Code Playgroud)

然后我使用它并让它充满出色的数据。

之后,我希望将其复制到主机上的一维线性内存中:

float *host_memory = (float*)malloc(size[0]*size[1]*size[2]*sizeof(float3));
cudaMemcpy3DParms p = {0};
p.srcPtr = renderedVolume;
p.dstPtr = make_cudaPitchedPtr(host_memory,size[0]*sizeof(float3),size[0],size[1]); 
p.extent = make_cudaExtent(size[0]*sizeof(float3),size[1],size[2]);
p.srcPos = make_cudaPos(0,0,0);
p.dstPos = make_cudaPos(0,0,0);
p.kind=cudaMemcpyDeviceToHost;
cudaMemcpy3D(&p);
Run Code Online (Sandbox Code Playgroud)

我正在将 host_memory 中的结果与我最初写入 tu renderedVolume( my_data) 的数据以及我在我的 中读取的数据3Dmemory逐片进行比较:

float* test1 = (float*)malloc(size[0]*size[1]*sizeof(float3)); …
Run Code Online (Sandbox Code Playgroud)

c++ cuda

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

标签 统计

c++ ×2

cuda ×2

cmake ×1

typescript ×1

windows ×1