• 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库未初始化
  • 相关阅读:
    关于 : vue路由的运用-route
    游戏心理学Day16
    IO DAY2
    大型Bat面试知识总结分享—AMS在Android起到什么作用?简单的分析下Android的源码
    C语言实现printf同行输出(刷新显示)
    rust声明式宏
    程序员如何提升自己写代码的能力?
    C++ 模板进阶使用
    15-4 创建运行时类的对象和获、调用运行时类的完整结构
    js 事件循环
  • 原文地址:https://blog.csdn.net/kunhe0512/article/details/126189789