CNTK中GPU信息的获取

简介: # CNTK中GPU信息的获取 ## device接口 CNTK提供了device接口,可以访问gpu的几个基本参数。 ### 获取所有的设备 首先可以通过cntk.device.all_devices方法来获取当前的设备 ```python >>> C.device.all_devices() (GPU[0] GeForce GTX 960M, CPU) ``

CNTK中GPU信息的获取

device接口

CNTK提供了device接口,可以访问gpu的几个基本参数。

获取所有的设备

首先可以通过cntk.device.all_devices方法来获取当前的设备

>>> C.device.all_devices()
(GPU[0] GeForce GTX 960M, CPU)

获取GPU

知道了系统里有多少设备了之后,就可以通过设备号来通过device.gpu来访问GPU设备了。
例:

>>> C.device.gpu(0)
GPU[0] GeForce GTX 960M

GPU属性

通过device.gpu(id)获取了gpu的引用之后,我们就可以通过device.get_gpu_properties函数来获取属性:

>>> prop = C.device.get_gpu_properties(C.device.gpu(0))
>>> prop
<cntk.cntk_py.GPUProperties; proxy of <Swig Object of type 'CNTK::GPUProperties *' at 0x000001A1195C3420> >

属性有:

  • device_id: 设备号
  • name: 名字
  • version_major: 主版本号
  • version_minor: 副版本号
  • cuda_cores: CUDA核
  • total_memory: 显存大小

例:

>>> prop.name
'GeForce GTX 960M'
>>> prop.version_major
5
>>> prop.version_minor
0
>>> prop.cuda_cores
960
>>> prop.total_memory
2048
>>> prop.device_id
0

如何监控GPU内存的分配与释放

如果想要监控内存使用情况的话,上面的简单的API是不够用的,我们使用trace功能吧:

C.cntk_py.set_gpumemory_allocation_trace_level(1)

例,运行时打印出来的效果是这样的:

Allocating Matrix<float> (Rows = 1, Cols = 5416) buffer on DeviceId = 0; GPU Memory Free = 29 MB of 2048 MB
Allocated DeviceData = 000000050323AA00
Allocating Matrix<float> (Rows = 1, Cols = 8124) buffer on DeviceId = 0; GPU Memory Free = 29 MB of 2048 MB
Allocated DeviceData = 0000000504E17A00
Allocating Matrix<float> (Rows = 1, Cols = 5416) buffer on DeviceId = 0; GPU Memory Free = 29 MB of 2048 MB
Allocated DeviceData = 0000000502A38E00
Freed buffer<float> DeviceData = 0000000502A38E00 on DeviceId = 0; GPU Memory Free = 29 MB of 2048 MB
Freed buffer<float> DeviceData = 0000000504E17A00 on DeviceId = 0; GPU Memory Free = 29 MB of 2048 MB
Freed buffer<float> DeviceData = 000000050323AA00 on DeviceId = 0; GPU Memory Free = 29 MB of 2048 MB
Freed buffer<float> DeviceData = 0000000567440000 on DeviceId = 0; GPU Memory Free = 98 MB of 2048 MB
Allocating Matrix<float> (Rows = 650, Cols = 8124) buffer on DeviceId = 0; GPU Memory Free = 98 MB of 2048 MB
Allocated DeviceData = 0000000541BC0000
Freed buffer<char> DeviceData = 0000000502B3E600 on DeviceId = 0; GPU Memory Free = 78 MB of 2048 MB
Allocating Matrix<float> (Rows = 650, Cols = 5416) buffer on DeviceId = 0; GPU Memory Free = 78 MB of 2048 MB
Allocated DeviceData = 0000000543000000
Allocating Matrix<float> (Rows = 1, Cols = 5416) buffer on DeviceId = 0; GPU Memory Free = 65 MB of 2048 MB
Allocated DeviceData = 000000050323AA00
Freed buffer<float> DeviceData = 000000050323AA00 on DeviceId = 0; GPU Memory Free = 65 MB of 2048 MB
Freed buffer<float> DeviceData = 0000000543000000 on DeviceId = 0; GPU Memory Free = 78 MB of 2048 MB
Allocating Matrix<char> (Rows = 1, Cols = 5416) buffer on DeviceId = 0; GPU Memory Free = 78 MB of 2048 MB
Allocated DeviceData = 0000000502B3E600
Freed buffer<float> DeviceData = 0000000541BC0000 on DeviceId = 0; GPU Memory Free = 98 MB of 2048 MB
Allocating Matrix<float> (Rows = 650, Cols = 8066) buffer on DeviceId = 0; GPU Memory Free = 98 MB of 2048 MB
Allocated DeviceData = 0000000541BC0000
Allocating Matrix<float> (Rows = 1, Cols = 8066) buffer on DeviceId = 0; GPU Memory Free = 78 MB of 2048 MB
Allocated DeviceData = 0000000504E17A00
Freed buffer<float> DeviceData = 0000000504E17A00 on DeviceId = 0; GPU Memory Free = 78 MB of 2048 MB
Freed buffer<float> DeviceData = 0000000541BC0000 on DeviceId = 0; GPU Memory Free = 98 MB of 2048 MB
Allocating Matrix<float> (Rows = 3377, Cols = 1) buffer on DeviceId = 0; GPU Memory Free = 98 MB of 2048 MB
Allocated DeviceData = 00000005050DCA00
Freed buffer<float> DeviceData = 00000005050DCA00 on DeviceId = 0; GPU Memory Free = 98 MB of 2048 MB
Allocating Matrix<float> (Rows = 3377, Cols = 8066) buffer on DeviceId = 0; GPU Memory Free = 98 MB of 2048 MB
相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
1月前
|
机器学习/深度学习 TensorFlow API
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
|
8月前
|
开发框架 Prometheus 监控
Windows监控:基于Prometheus+Grafana监控CPU、内存、磁盘、网络、GPU信息
Windows监控:基于Prometheus+Grafana监控CPU、内存、磁盘、网络、GPU信息
2829 0
Windows监控:基于Prometheus+Grafana监控CPU、内存、磁盘、网络、GPU信息
|
Web App开发 异构计算 数据格式
|
4天前
|
机器学习/深度学习 编解码 人工智能
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
随着人工智能、大数据和深度学习等领域的快速发展,GPU服务器的需求日益增长。阿里云的GPU服务器凭借强大的计算能力和灵活的资源配置,成为众多用户的首选。很多用户比较关心gpu云服务器的收费标准与活动价格情况,目前计算型gn6v实例云服务器一周价格为2138.27元/1周起,月付价格为3830.00元/1个月起;计算型gn7i实例云服务器一周价格为1793.30元/1周起,月付价格为3213.99元/1个月起;计算型 gn6i实例云服务器一周价格为942.11元/1周起,月付价格为1694.00元/1个月起。本文为大家整理汇总了gpu云服务器的最新收费标准与活动价格情况,以供参考。
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
|
13天前
|
编解码 分布式计算 Linux
最新阿里云服务器、轻量应用服务器、GPU云服务器活动价格参考
阿里云服务器产品包含云服务器、轻量应用服务器、GPU云服务器等,本文汇总了这些云服务器当下最新的实时活动价格情况,包含经济型e实例云服务器价格、通用算力型u1实例云服务器价格、第七代云服务器价格、轻量应用服务器最新价格、GPU云服务器价格,以供大家参考。
最新阿里云服务器、轻量应用服务器、GPU云服务器活动价格参考
|
5天前
|
机器学习/深度学习 人工智能 调度
显著提升深度学习 GPU 利用率,阿里云拿下国际网络顶会优胜奖!
显著提升深度学习 GPU 利用率,阿里云拿下国际网络顶会优胜奖!
22 0
|
2月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU云服务器介绍_GPU租用费用_GPU优势和使用场景说明
阿里云GPU云服务器提供NVIDIA A10、V100、T4、P4、P100等GPU卡,结合高性能CPU,单实例计算性能高达5PFLOPS。支持多种实例规格,如A10卡GN7i、V100-16G卡GN6v等,应用于深度学习、科学计算等场景。GPU服务器租用费用因实例规格而异,如A10卡GN7i每月3213.99元起。阿里云还提供GPU加速软件如AIACC-Training、AIACC-Inference等。网络性能强大,VPC支持2400万PPS和160Gbps内网带宽。购买方式灵活,包括包年包月、按量付费等。客户案例包括深势科技、流利说和小牛翻译等。
|
2月前
|
Kubernetes Cloud Native 调度
《阿里云产品四月刊》—GPU Device-Plugin 相关操作(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
2月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器租用费用_GPU服务器详解_A10、V100、T4、P4、P100
阿里云GPU云服务器提供NVIDIA A10、V100、T4、P4、P100等多种GPU卡,适合深度学习、科学计算等场景。实例性能强劲,单实例可达5PFLOPS混合精度计算,VPC网络支持2400万PPS和160Gbps内网带宽。GPU实例包括A10卡GN7i(3213.99元/月起)、V100-16G卡GN6v(3830.00元/月起)等,价格因配置而异。阿里云还提供GPU加速软件如AIACC-Training和AIACC-Inference,以及弹性计算实例EAIS。客户案例包括深势科技、流利说和小牛翻译等。

热门文章

最新文章