cublas

    7热度

    2回答

    CUDA运行时具有便利功能cudaGetErrorString(cudaError_t error),它将错误枚举转换为可读的字符串。 cudaGetErrorString用于许多人用于CUDA错误处理的宏CUDA_SAFE_CALL(someCudaFunction())。 我与CUBLAS现在熟悉自己,我想创建一个宏类似于CUDA_SAFE_CALL的CUBLAS。为了使我的宏的打印输出有用,

    1热度

    1回答

    我试图使用preconditoned共轭梯度来解析Ax = b。 所以我举了cuda-sdk的例子。 有时,当我调用函数cusparseScsrsv_analysis时,它将返回“执行失败”的错误6。有时候,它可以工作。 矩阵A是对称正定的。 此外,共轭梯度在相同的数据上正常工作。 这是我的代码: /* Get handle to the CUSPARSE context */ cusparse

    0热度

    1回答

    我知道,由“cudaHostAlloc”分配的固定内存可以比“malloc”'ed memory更有效地传输到设备。但是,我认为“cudaHostAlloc”只能由cuda编译器编译。我的场景是使用没有cuda编译器的cublas API,并且似乎cublas不提供从手册固定内存分配的功能,或者我错过了某些东西...

    0热度

    1回答

    这是一个说明问题的最小程序。我使用的是GTS 250与128个CUDA核心,CUDA 5.0在Windows 7 void cuda_ops_test(int N, float* R) { //Values of input matrix in CPU fprintf(stderr, "\nValues of R: \n"); for (int i=0; i<N;

    1热度

    1回答

    我使用cublasDgemm来乘以两个矩阵。 我写了一个方法,使用cublasDgemm并返回指向输出的指针。 它似乎在我的单元测试中运行良好,但它在我的应用程序代码中失败(返回代码CUBLAS_STATUS_EXECUTION_FAILED)。 我多次阅读了代码,现在一切都看起来没问题..有无论如何得到一个更好的错误解释吗? 更新:好像每个第二个cublasDgemm调用都起作用。第一个我得到这

    15热度

    2回答

    我知道它听起来很奇怪,但这里是我的场景: 我需要做矩阵矩阵乘法(A(n * k)* B(k * n)),但我只需要对角线元素对输出矩阵进行评估。我搜索cublas图书馆并没有发现任何可以做到这一点的2级或3级功能。 因此,我决定将A的每一行和B的每一列分配到CUDA线程中。对于每个线程(idx),我需要计算点积“A [idx,:] * B [:,idx]”并将其保存为相应的对角线输出。现在因为这个

    9热度

    1回答

    我想异步调用cuBLAS例程。可能吗?如果是的话,我该怎么做到呢?

    7热度

    3回答

    如何有效标准化CUDA中的矩阵列? 我的矩阵存储在主要专栏中,典型大小为2000x200。 该操作可以用下面的matlab代码表示。 A = rand(2000,200); A = exp(A); A = A./repmat(sum(A,1), [size(A,1) 1]); 这可以通过推力,cuBLAS和/或cuNPP有效地完成吗? 包含4个内核的快速实现如下所示。 想知道如果这些可以

    3热度

    1回答

    因此,我正在研究一个项目,这个项目经过一些研究后发现问题出在cublas库之后。 所以现在我有以下的“最低限度”的问题: 我打开simpleCUBLAS例子出来的NVIDIA CUDA SDK(4.2),以测试是否能重现该问题。 自己的作品,但VS2010给了我一个类似的输出PROGRAMM: Eine Ausnahme (erste Chance) bei 0x75e3c41f in simpl

    4热度

    1回答

    只是关于cublas的一般问题。对于单线程,如果没有从GPU到CPU的内存传输(例如cublasGetVector),cublas内核函数(例如cublasDgemm)是否会自动与主机同步? cublasDgemm(); //cublasGetVector(); host_functions() 此外,在两个相邻的内核调用之间呢? cublasDgemm(); cublasDge