• 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 内存时出错
  • 相关阅读:
    LeetCode每日一题——30. 串联所有单词的子串
    再想一想GPT
    prometheus 原理(架构,promql表达式,描点原理)
    [vmware to openstack] 安装virtio驱动
    js利用split分割截取---1:1(整理)
    C++入门学习5-共用体,枚举类型,宏定义
    Redis缓冲区溢出及解决方案
    Linux学习之基础工具一
    css 计算函数属性:calc() 不起效 原因
    HTML <video> 标签
  • 原文地址:https://blog.csdn.net/kunhe0512/article/details/126205835