Tag: managed cuda

循环使用CUDA内核中的数据会导致应用程序中止

问题: 当我增加在CUDA内部循环内处理的数据量时 – 它会导致应用程序中止! 例外: ManagedCuda.CudaException:’ErrorLaunchFailed:执行内核时设备发生exception。 常见原因包括解除引用无效设备指针和访问超出范围的共享内存。 题: 如果有人可以了解我正在使用当前实现的限制以及究竟是什么导致应用程序崩溃,我将不胜感激。 或者,我附加了一个完整的内核代码,以便有人可以说如何在没有抛出exception的情况下以这种方式重新建模。 我们的想法是,内核正在接受combinations ,然后对同一组data执行计算(在循环中)。 因此,内部的循环计算应是顺序的。 执行内核本身的顺序无关紧要。 这是组合学问题。 欢迎任何建议。 代码(短版本,足以中止应用程序): extern “C” { __device__ __constant__ int arraySize; __global__ void myKernel( unsigned char* __restrict__ output, const int* __restrict__ in1, const int* __restrict__ in2, const double* __restrict__ in3, const unsigned char* __restrict__ in4) { for (int row = 0; row […]