小编Lan*_*ane的帖子

cublasSgemm 行优先乘法

我正在尝试使用 cublasSgemm 来乘以两个以行主序存储的非方阵。我知道这个函数有一个参数,您可以在其中指定是否要转置矩阵(CUBLAS_OP_T),但结果以列优先顺序存储,我也需要以行优先顺序存储。

另外,我的代码无法将非方阵与参数 CUBLAS_OP_T 相乘。仅具有 CUBLAS_OP_N 的方形或非方形。

此外,我知道可以选择按列顺序声明矩阵

define IDX2C(i,j,ld) (((j)*(ld))+(i)) 
Run Code Online (Sandbox Code Playgroud)

但这不是一个选项,因为我必须使用的矩阵将在其他程序中设置。

我想互联网上有很多信息,但我无法找到我的问题的任何答案。

我的代码如下:


    int m = 2;
    int k = 3;
    int n = 4;
    int print = 1;
    cudaError_t cudaStat; // cudaMalloc status
    cublasStatus_t stat; // CUBLAS functions status
    cublasHandle_t handle; // CUBLAS context

    int i,j;

    float *a, *b,*c;

    //malloc for a,b,c...

    // define a mxk matrix a row by row
    int ind =11;                               
    for(j=0;j<m*k;j++){                     
        a[j]=(float)ind++;                                    
    }                                        

    // define a kxn matrix b column by column
    ind …
Run Code Online (Sandbox Code Playgroud)

cuda matrix cublas

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

标签 统计

cublas ×1

cuda ×1

matrix ×1