Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CUDA中的系统时间和文件时间 我使用下面的代码计算C++ COCE 中的时间 SYSTEMTIME sm; FILETIME fm; GetSystemTime(&sm); SystemTimeToFileTime(&sm,&fm); *time = (double)(fm.dwLowDateTime / 10000000.0);_C++_Visual C++_Cuda - Fatal编程技术网

CUDA中的系统时间和文件时间 我使用下面的代码计算C++ COCE 中的时间 SYSTEMTIME sm; FILETIME fm; GetSystemTime(&sm); SystemTimeToFileTime(&sm,&fm); *time = (double)(fm.dwLowDateTime / 10000000.0);

CUDA中的系统时间和文件时间 我使用下面的代码计算C++ COCE 中的时间 SYSTEMTIME sm; FILETIME fm; GetSystemTime(&sm); SystemTimeToFileTime(&sm,&fm); *time = (double)(fm.dwLowDateTime / 10000000.0);,c++,visual-c++,cuda,C++,Visual C++,Cuda,现在我想计算一下,当我实现CUDA版本时,这个函数在CUDA内核函数之间被调用的时间。任何想法或帮助我如何做到这一点。我对cuda编程相当陌生,对它了解不多。 还有谁能告诉我如何在我尝试过的\uuu设备\uuu功能中使用新运算符 maxY = new int[m_imgWidth*m_imgHeight]; cudaMalloc((void **)&m_labelBuf , m_imgWidth*m_imgHeight); 但它给了我错误 calling a __host__ f

现在我想计算一下,当我实现CUDA版本时,这个函数在CUDA内核函数之间被调用的时间。任何想法或帮助我如何做到这一点。我对cuda编程相当陌生,对它了解不多。 还有谁能告诉我如何在我尝试过的
\uuu设备\uuu
功能中使用新运算符

maxY = new int[m_imgWidth*m_imgHeight]; 

cudaMalloc((void **)&m_labelBuf , m_imgWidth*m_imgHeight);
但它给了我错误

 calling a __host__ function("cudaMalloc") from a __global__ function("kernel_Labeling") is not allowed

您可以通过寄存器(每个线程专用)和共享内存(每个块专用)进行一点动态或伪动态内存分配,但看起来这不是您想要做的

从设备侧代码中分配堆上的内存,可以使用C++新运算符或可以使用。这只适用于费米和更新的GPU

使用是最无故障的cuda代码计时方法


编辑:我已将罗伯特·克罗维拉的评论合并到这个答案中。如果他将自己的评论作为答案发表,请投他的票,而不是这一条。

您可以从设备代码中动态分配堆内存。一种已经表明的方法是使用C++新操作符。或者你可以使用。这里的限制是它适用于费米或更高版本,即计算能力2.0或更高版本。这一限制并非开普勒独有。使用是最无故障的cuda代码计时方法。对于compute capability 2.0及更高版本(费米及更高版本)的设备,您可以使用与在主机上类似的方法。@RobertCrovella:谢谢您的更正和额外链接。想把它们作为答案贴出来,这样你就可以得到他们的信任了?