当前位置:网站首页>9.cuBLAS开发指南中文版--cuBLAS中的原子模式的配置
9.cuBLAS开发指南中文版--cuBLAS中的原子模式的配置
2022-08-08 16:01:00 【扫地的小何尚】
cuBLAS中的原子模式的配置
2.4.20. cublasSetAtomicsMode()
cublasStatus_t cublasSetAtomicsMode(cublasHandlet handle, cublasAtomicsMode_t mode)
一些方法,如 cublas<t>symv
和 cublas<t>hemv
具有使用原子来累积结果的替代实现。 这种实现通常要快得多,但可以生成从一次运行到另一次运行的结果并不完全相同。 从数学上讲,这些不同的结果并不显着,但在调试这些差异时可能会产生偏见。
此函数允许或禁止在 cuBLAS 库中对所有具有替代实现的例程使用原子。 如果没有在任何 cuBLAS 例程的文档中明确指定,则意味着该例程没有使用原子的替代实现。 当原子模式被禁用时,当在同一硬件上使用相同的参数调用时,每个 cuBLAS 例程应该从一次运行到另一次运行产生相同的结果。
默认初始化的 cublasHandle_t
对象的默认原子模式是 CUBLAS_ATOMICS_NOT_ALLOWED
。 有关详细信息,请参阅有关类型的部分。
Return Value | Meaning |
---|---|
CUBLAS_STATUS_SUCCESS | 原子模式设置成功 |
CUBLAS_STATUS_NOT_INITIALIZED | 库未初始化 |
2.4.21. cublasGetAtomicsMode()
cublasStatus_t cublasGetAtomicsMode(cublasHandle_t handle, cublasAtomicsMode_t *mode)
此函数查询特定 cuBLAS 上下文的原子模式。
默认初始化的 cublasHandle_t
对象的默认原子模式是 CUBLAS_ATOMICS_NOT_ALLOWED。
有关详细信息,请参阅有关类型的部分。
Return Value | Meaning |
---|---|
CUBLAS_STATUS_SUCCESS | 原子模式设置成功 |
CUBLAS_STATUS_NOT_INITIALIZED | 库未初始化 |
CUBLAS_STATUS_INVALID_VALUE | 参数模式是一个 NULL 指针 |
2.4.22. cublasSetMathMode()
cublasStatus_t cublasSetMathMode(cublasHandle_t handle, cublasMath_t mode)
cublasSetMathMode
函数使您能够选择由 cublasMath_t
定义的计算精度模式(请参阅 cublasMath_t)。 允许用户将计算精度模式设置为它们的逻辑组合(不推荐使用的 CUBLAS_TENSOR_OP_MATH
除外)。 例如,cublasSetMathMode(handle, CUBLAS_DEFAULT_MATH | CUBLAS_MATH_DISALLOW_REDUCED_PRECISION_REDUCTION)
。 请注意,默认的数学模式是 CUBLAS_DEFAULT_MATH
。
有关 cublasGemmEx()
和 cublasLtMatmul()
API 及其跨步变体允许的矩阵和计算精度,请参阅:cublasGemmEx()、cublasGemmBatchedEx()、cublasGemmStridedBatchedEx() 和 cublasLtMatmul()。
Return Value | Meaning |
---|---|
CUBLAS_STATUS_SUCCESS | 原子模式设置成功 |
CUBLAS_STATUS_NOT_INITIALIZED | 库未初始化 |
CUBLAS_STATUS_INVALID_VALUE | 指定了无效的模式值。 |
2.4.23. cublasGetMathMode()
cublasStatus_t cublasGetMathMode(cublasHandle_t handle, cublasMath_t *mode)
此函数返回库例程使用的数学模式。
Return Value | Meaning |
---|---|
CUBLAS_STATUS_SUCCESS | 数学类型成功返回。 |
CUBLAS_STATUS_NOT_INITIALIZED | 库未初始化 |
CUBLAS_STATUS_INVALID_VALUE | 模式为 NULL。 |
2.4.24. cublasSetSmCountTarget()
cublasStatus_t cublasSetSmCountTarget(cublasHandle_t handle, int smCountTarget)
cublasSetSmCountTarget
函数允许在内核执行期间覆盖库可用的多处理器数量。
当已知 cuBLAS 例程与不同 CUDA 流上的其他工作同时运行时,此选项可用于提高库性能。 例如。 NVIDIA A100 GPU
有 108 个 SM,并且有一个并发 kenrel 运行,网格大小为 8,可以使用值为 100 的 cublasSetSmCountTarget
来覆盖库启发式算法,以优化在 100 个多处理器上运行。
当设置为 0 时,库将返回其默认行为。 输入值不应超过设备的多处理器计数,可使用 cudaDeviceGetAttribute
获取。 不接受负值。
用户在使用此例程修改库句柄时必须确保线程安全,类似于使用 cublasSetStream
时。
Return Value | Meaning |
---|---|
CUBLAS_STATUS_SUCCESS | SM 计数目标已成功设置。 |
CUBLAS_STATUS_NOT_INITIALIZED | 库未初始化 |
CUBLAS_STATUS_INVALID_VALUE | smCountTarget 的值超出允许范围。 |
2.4.25. cublasGetSmCountTarget()
cublasStatus_t cublasGetSmCountTarget(cublasHandle_t handle, int *smCountTarget)
此函数获取先前编程到库句柄的值。
Return Value | Meaning |
---|---|
CUBLAS_STATUS_SUCCESS | SM 计数目标已成功设置。 |
CUBLAS_STATUS_NOT_INITIALIZED | 库未初始化 |
CUBLAS_STATUS_INVALID_VALUE | smCountTarget 的值为NULL。 |
边栏推荐
- 【Unity入门计划】Unity实例-C#如何通过封装实现对数据成员的保护
- Take you to play with the "Super Cup" ECS features and experiment on the pit [HUAWEI CLOUD is simple and far]
- 【有奖征文 第13期】至简致远,“云”响世界,大胆秀出你的华为云技术主张,高额激励等你拿
- 大佬们,这个测试demo只能获取到全量数据,不能获取增量,我的mysql 已经开启了row模式的bi
- [Unity entry plan] Unity instance - how to protect data members through encapsulation in C#
- UTF-8 BOM文件导致配置文件无法读取
- hdu2475 Box
- Thoroughly understand the volatile keyword and application scenarios, and it is a must for interviews, and Xiaobai can understand it!
- 消除游戏中宝石下落的原理和实现
- leetcode/number of palindromic substrings
猜你喜欢
Streamsets Data Collector 3.12
【Unity入门计划】用双血条方法控制伤害区域减血速度
2022年8月中国数据库排行榜:openGauss重夺榜眼,PolarDB反超人大金仓
The origin and creation of Smobiler's complex controls
Dry goods: design high concurrency architecture from scratch
mmdetection最新版食用教程(一):安装并运行demo及开始训练coco
EMQ畅谈IoT数据基础软件开源版图,引领本土开源走向全球
sqoop连接MySQL跟本机不一致是为什么
Take you to play with the "Super Cup" ECS features and experiment on the pit [HUAWEI CLOUD is simple and far]
web-sql注入
随机推荐
json根据条件存入数据库
hdu2475 Box
Mysql的分布式事务原理理解
抓住时代趋势,网赚新逻辑:平台+个人模式超清晰解读(附产品评测)
Nuxt - 网站接入 51LA 网站统计(详细教程)
Streamsets Data Collector 3.12
egg(二十):fs读取本地的txt文件
Metamask插件中-添加网络和切换网络
腾讯云产品可观测最佳实践 (Function)
C#/VB.NET 将PDF转为PDF/X-1a:2001
Kubernetes-Basics-Common Commands
是时候展现真正实力了!揭秘2022华为开发者大赛背后的技术能力
groovy基础学习
All volunteers V853 chip Tina RTSP environment set up
bzoj2816 [ZJOI2012] Network
全志V853芯片Tina下RTSP环境搭建方法
腾讯又一长达 8 年的服务下架。。。
【愚公系列】华为云云数据库MySQL的体验流程|【华为云至简致远】
分享这些2022设计师们决不能错过的Blender新插件
分布式服务治理