1.查看显卡信息
由于测试环境使用的是NVIDIA的显卡,这里直接通过lspci命令即可查询具体显卡信息
“00:06.0”,这一个参数是总线编号,第二个是插槽编号,第三个是功能编号,它们都是十六进制的数字。
2.查看显存以及GPU的使用情况
Nvidia自带一个命令行工具可以查看显存的使用情况: nvidia-smi
参数解释:
Fan: 显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A;
Temp: 显卡内部的温度,单位是摄氏度;
Perf: 表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;
Pwr: 能耗表示;
Bus-Id: 涉及GPU总线的相关信息;
Disp.A: 是Display Active的意思,表示GPU的显示是否初始化;
Memory Usage: 显存的使用率;
Volatile GPU-Util: 浮动的GPU利用率;
Compute M: 计算模式;
下边的Processes显示每块GPU上每个进程所使用的显存情况,上述测试环境没有,可参考它图如下:
3.周期性的输出显卡的使用情况
可以参考如下命令:
命令行参数-n后边跟的是执行命令的周期,以s为单位。
1.列出所有可用的Nvidia设备
2.列出每个GPU卡的详细信息
3.查询某个GPU卡的详细信息 (指定GPU卡的id,只截图一部分)
4.要以1秒的更新间隔监控GPU的总体使用情况
5.要以1秒的更新间隔监视每个进程的GPU使用情况
6.加上-pm参数可设置持久模式:0/禁用,1/启用
7.加上-e参数可以切换ECC支持:0/禁用,1/启用
8. 加上-r参数可以重启某个GPU卡(0是GPU卡的序号)
由NVIDIA部分资助,Utah大学的研究人员正在进行一项如何利用GPU来加速linuxKernel的研究。此研究的目的是不仅仅让所有用户正常使用的应用程序(也就是用户空间)利用现代图形处理器(GPU)的强大功能,也让linux
内核的部分(也就是内核空间)能直接运行在GPU上。
在其项目主页上写到:KGPU(即kernel和GPU的合体)的想法是把GPU当成 *** 作系统的协同处理器,允许在linux内核中进行数据的并
行计算。这样允许我们使用SIMD(或者CUDA中的SIMT)风格的代码来加速linux内核功能,让之前认为太过于密集的计算功能进入内核。简单来
说,KGPU为内核增加了矢量运算功能,另外,它是linux内核真正地开始并行化,不仅仅是处理多个并发请求,而且将大的数据计算请求分割到开来,
将这些计算平铺到GPU上大量的核心中。
听起来是一个很新奇的概念,这目前仅是个研究项目,这个KGPU项目离可见的发规模应用还有一些限制因素。最大的问题是,目前linux
内核DRM(Direct
Rendering
Manager)子系统中的开源图形驱动都无法支持GPGPU。虽然目前有OpenCL
Gallium3D
state
tracker
+Clover的计划,但是还远远没有准备好。
因为目前研究使用的是Compute
Unified
Device
Architecture,而且使用NVIDIA最新的闭源专有驱动,故只支持Nvidia的硬件架构。所以更好的选择是拥抱工业标准OpenCL,这样
都对AMD和NVIDIA的GPUs都有很好的支持
在目前KGPU的研究进程中,研究人员已经用GPU-加速的AES密码来加密eCryptfs文件系统,展示了GPU可以用来处理加密技术。
这是KGPU的的Google
Code
page主页。当然还有GitHub。
总结:利用GPU加速linux内核肯定是件很有意义的事情,但是开源的内核图形驱动一定要改善和提高,能够处理OpenCL
和/或GPGPU.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)