• 5.cuBLAS开发指南中文版--cuBLAS中的Create()和Destroy()


    cuBLAS中的Create()和Destroy()

    在这里插入图片描述

    2.4.1. cublasCreate()

    cublasStatus_t
    cublasCreate(cublasHandle_t *handle)
    
    • 1
    • 2

    此函数初始化 cuBLAS 库并创建一个指向包含 cuBLAS 库上下文的不透明结构的句柄。 它在主机和设备上分配硬件资源,并且必须在进行任何其他 cuBLAS 库调用之前调用。 cuBLAS 库上下文与当前的 CUDA 设备相关联。 要在多个设备上使用该库,需要为每个设备创建一个 cuBLAS 句柄。 此外,对于给定的设备,可以创建具有不同配置的多个 cuBLAS 手柄。 因为 cublasCreate() 分配了一些内部资源,调用 cublasDestroy() 释放这些资源会隐式调用 cublasDeviceSynchronize(),建议尽量减少 cublasCreate()/cublasDestroy() 的出现次数。 对于从不同线程使用相同设备的多线程应用程序,推荐的编程模型是为每个线程创建一个 cuBLAS 句柄,并在线程的整个生命周期中使用该 cuBLAS 句柄。

    Return ValueMeaning
    CUBLAS_STATUS_SUCCESS初始化成功
    CUBLAS_STATUS_NOT_INITIALIZEDCUDA™ 运行时初始化失败
    CUBLAS_STATUS_ALLOC_FAILED资源无法分配
    CUBLAS_STATUS_INVALID_VALUEhandle == NULL

    2.4.2. cublasDestroy()

    cublasStatus_t
    cublasDestroy(cublasHandle_t handle)
    
    • 1
    • 2

    此函数释放 cuBLAS 库使用的硬件资源。 这个函数通常是最后一次调用 cuBLAS 库的特定句柄。 因为 cublasCreate() 分配了一些内部资源,调用 cublasDestroy() 释放这些资源会隐式调用 cublasDeviceSynchronize(),建议尽量减少 cublasCreate()/cublasDestroy() 的出现次数。

    Return ValueMeaning
    CUBLAS_STATUS_SUCCESS关闭成功
    CUBLAS_STATUS_NOT_INITIALIZED库未初始化
  • 相关阅读:
    Maleimide-PEG-DSPE 474922-22-0 磷脂-聚乙二醇-马来酰亚胺现货供应
    JVM 面试题总结
    Apollo 应用与源码分析:CyberRT-日志配置
    基于差值的图像超分辨率方法
    docker:已启动容器修改添加端口映射
    【Java】缓冲流、转换流、序列化流
    O3DE社区发布2310.0版本
    前端刷题记录
    神奇的javascript 语言
    图神经网络GNN
  • 原文地址:https://blog.csdn.net/kunhe0512/article/details/126189789