• 8.cuBLAS开发指南中文版--cuBLAS中的cublasGetMatrix()和cublasSetMatrix()


    cuBLAS中的cublasGetMatrix()和cublasSetMatrix()

    在这里插入图片描述

    2.4.14. cublasSetMatrix()

    cublasStatus_t
    cublasSetMatrix(int rows, int cols, int elemSize,
                    const void *A, int lda, void *B, int ldb)
    
    • 1
    • 2
    • 3

    此函数将主机内存空间中的矩阵 A 中的行 x cols 元素复制到 GPU 内存空间中的矩阵 B。 假设每个元素都需要存储 elemSize 字节,并且两个矩阵都以列优先格式存储,源矩阵 A 和目标矩阵 B 的前导维度分别在 lda 和 ldb 中给出。 前导维度指示分配矩阵的行数,即使仅使用它的子矩阵。

    Return ValueMeaning
    CUBLAS_STATUS_SUCCESS操作成功完成
    CUBLAS_STATUS_INVALID_VALUE参数 rows, cols<0 或 elemSize, lda, ldb<=0
    CUBLAS_STATUS_MAPPING_ERROR访问 GPU 内存时出错

    2.4.15. cublasGetMatrix()

    cublasStatus_t
    cublasGetMatrix(int rows, int cols, int elemSize,
                    const void *A, int lda, void *B, int ldb)
    
    • 1
    • 2
    • 3

    此函数将 GPU 内存空间中的矩阵 A 中的行 x cols 元素复制到主机内存空间中的矩阵 B。 假设每个元素都需要存储 elemSize 字节,并且两个矩阵都以列优先格式存储,源矩阵 A 和目标矩阵 B 的前导维度分别在 lda 和 ldb 中给出。 前导维度指示分配矩阵的行数,即使仅使用它的子矩阵。

    Return ValueMeaning
    CUBLAS_STATUS_SUCCESS操作成功完成
    CUBLAS_STATUS_INVALID_VALUE参数 rows, cols<0 或 elemSize, lda, ldb<=0
    CUBLAS_STATUS_MAPPING_ERROR访问 GPU 内存时出错

    2.4.16. cublasSetVectorAsync()

    cublasStatus_t
    cublasSetVectorAsync(int n, int elemSize, const void *hostPtr, int incx,
                         void *devicePtr, int incy, cudaStream_t stream)
    
    • 1
    • 2
    • 3

    此函数具有与 cublasSetVector() 相同的功能,不同之处在于数据传输是使用给定的 CUDA™ 流参数异步完成的(相对于主机)。

    Return ValueMeaning
    CUBLAS_STATUS_SUCCESS操作成功完成
    CUBLAS_STATUS_INVALID_VALUE参数 incx, incy, elemSize<=0
    CUBLAS_STATUS_MAPPING_ERROR访问 GPU 内存时出错

    2.4.17. cublasGetVectorAsync()

    cublasStatus_t
    cublasGetVectorAsync(int n, int elemSize, const void *devicePtr, int incx,
                         void *hostPtr, int incy, cudaStream_t stream)
    
    • 1
    • 2
    • 3

    此函数具有与 cublasGetVector() 相同的功能,不同之处在于数据传输是使用给定的 CUDA™ 流参数异步完成的(相对于主机)。

    Return ValueMeaning
    CUBLAS_STATUS_SUCCESS操作成功完成
    CUBLAS_STATUS_INVALID_VALUE参数 incx, incy, elemSize<=0
    CUBLAS_STATUS_MAPPING_ERROR访问 GPU 内存时出错

    2.4.18. cublasSetMatrixAsync()

    cublasStatus_t
    cublasSetMatrixAsync(int rows, int cols, int elemSize, const void *A,
                         int lda, void *B, int ldb, cudaStream_t stream)
    
    • 1
    • 2
    • 3

    此函数具有与 cublasSetMatrix() 相同的功能,不同之处在于数据传输是使用给定的 CUDA™ 流参数异步完成的(相对于主机)。

    Return ValueMeaning
    CUBLAS_STATUS_SUCCESS操作成功完成
    CUBLAS_STATUS_INVALID_VALUE参数 rows, cols<0 或 elemSize, lda, ldb<=0
    CUBLAS_STATUS_MAPPING_ERROR访问 GPU 内存时出错

    2.4.19. cublasGetMatrixAsync()

    cublasStatus_t
    cublasGetMatrixAsync(int rows, int cols, int elemSize, const void *A,
                         int lda, void *B, int ldb, cudaStream_t stream)
    
    • 1
    • 2
    • 3

    此函数具有与 cublasGetMatrix() 相同的功能,不同之处在于数据传输是使用给定的 CUDA™ 流参数异步完成的(相对于主机)。

    Return ValueMeaning
    CUBLAS_STATUS_SUCCESS操作成功完成
    CUBLAS_STATUS_INVALID_VALUE参数 rows, cols<0 或 elemSize, lda, ldb<=0
    CUBLAS_STATUS_MAPPING_ERROR访问 GPU 内存时出错
  • 相关阅读:
    米诺地尔行业分析:预计2029年将达到14亿美元
    宝贝详情页制作的7个步骤,一看就懂
    【JAVA】【刷题子】1108.IP 地址无效化
    java家庭理财收支管理系统
    从Docker初识K8S
    PXE高效批量网络装机(补充) 实验部分
    Cmake
    npm——整理前端包管理工具(cnpm、yarn、pnpm)
    什么是跨站脚本攻击(XSS)?
    【牛客网】OR59 字符串中找出连续最长的数字串
  • 原文地址:https://blog.csdn.net/kunhe0512/article/details/126205835