小编Eug*_*nio的帖子

处理CUDA中的矩阵:理解基本概念

我正在构建一个CUDA内核来计算函数的数字N*Njacobian,使用有限差分; 在我提供的示例中,它是平方函数(向量的每个条目是平方的).主机编码在线性内存中分配,而我在内核中使用二维索引.

我的问题是,我还没有找到一种方法来对矩阵cudaMalloc编辑的对角线求和.我的尝试一直是使用该语句threadIdx.x == blockIdx.x作为对角线的条件,但它只评估true它们的两个0.

这是内核和编辑:我发布了整个代码作为答案,基于评论中的建议(main()基本相同,而内核不是)

template <typename T>
__global__ void jacobian_kernel (
                T * J,
                const T t0, 
                const T tn,
                const T h,
                const T * u0, 
                const T * un, 
                const T * un_old)
{
    T cgamma = 2 - sqrtf(2);
    const unsigned int t = threadIdx.x;
    const unsigned int b = blockIdx.x;
    const unsigned int tid = t …
Run Code Online (Sandbox Code Playgroud)

cuda matrix

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

标签 统计

cuda ×1

matrix ×1