CUDA实践指南(三十四)-阿里云开发者社区

开发者社区> 开发与运维> 正文

CUDA实践指南(三十四)

简介:

可修改的状态:
ECC模式
启用和禁用ECC报告。
ECC重置
清除单位和双位ECC错误计数。 计算模式指示计算进程是否可以在GPU上运行,以及它们是否运行
完全或同时与其他计算过程。
持久性模式指示当没有应用程序连接到GPU时,NVIDIA驱动程序是否保持加载状态。 在大多数情况下最好启用此选项。
GPU重置
通过辅助总线重置重新初始化GPU硬件和软件状态。

NVML:
NVIDIA管理库(NVML)是一个基于C的界面,可以直接访问通过nvidia-smi公开的查询和命令,作为构建第三方系统管理应用程序的平台。 NVML API可通过NVIDIA开发人员网站作为Tesla Deployment Kit的一部分通过单个头文件提供,并附有PDF文档,存根库和示例应用程序; 请参阅http://developer.nvidia.com/tesla-deployment-kit。 每个新版本的NVML都是向后兼容的。
为NVML API提供了一组额外的Perl和Python绑定。 这些绑定公开了与基于C的接口相同的功能,并提供向后兼容性。 Perl绑定通过CPAN提供,并通过PyPI提供Python绑定。
所有这些产品(nvidia-smi,NVML和NVML语言绑定)都随每个新的CUDA版本而更新,并提供大致相同的功能。 有关更多信息,请参见http://developer.nvidia.com/nvidia-management-library-nvml
群集管理工具:
管理您的GPU集群将有助于实现最大的GPU利用率,并帮助您和您的用户获得最佳性能。 许多业界最受欢迎的集群管理工具现在都通过NVML支持CUDA GPU。 有关这些工具的列表,请参阅http://developer.nvidia.com/cluster-management
编译器JIT高速缓存管理工具:
应用程序在运行时加载的任何PTX设备代码都将由设备驱动程序进一步编译为二进制代码。 这就是所谓的即时编译(JIT)。 即时编译增加了应用程序加载时间,但允许应用程序从最新的编译器改进中受益。 它也是应用程序在编译应用程序时不存在的设备上运行的唯一方式。
当使用PTX设备代码的JIT编译时,NVIDIA驱动程序将产生的二进制代码缓存在磁盘上。 此行为的某些方面(如缓存位置和最大缓存大小)可以通过使用环境变量进行控制; 请参阅CUDA C编程指南的即时编译。
CUDA_VISIBLE_DEVICES:
通过CUDA_VISIBLE_DEVICES环境变量,可以重新排列安装的CUDA设备的集合,这些设备将在CUDA应用程序启动之前被CUDA应用程序显示并枚举。
对于应用程序可见的设备应该按照可枚举设备的系统范围列表包含在逗号分隔列表中。 例如,要仅使用来自系统范围设备列表的设备0和2,请在启动应用程序之前设置CUDA_VISIBLE_DEVICES = 0,2。 然后,应用程序将分别将这些设备列为设备0和设备1

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章