可修改的状态:
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