G和C类型在nvidia-smi中意味着什么?

时间:2019-02-18 15:34:48

标签: process cuda gpu cpu nvidia

我有一个未解决的问题,因为我认为自己的cuda代码未在我的GPU(here)中运行。我想这是因为当我使用nvidia-smi时,我在进程的类型字段中得到一个C,但是我看到我的代码在运行时会增长,因此现在我不知道它是否在cpu中运行或gpu。有人可以告诉我C或G类型的含义是什么吗?我发现了这一点:“对于Compute Process,显示为“ C”,对于Graphics Process,显示为“ G”,对于同时具有Compute和Graphics上下文的过程,显示为“ C + G”。但是我不知道这是否意味着C是用于CPU的,而G是用于GPU的,因为我不知道什么是“计算过程”和“图形过程”,或者它们之间有什么区别。

2 个答案:

答案 0 :(得分:1)

它们都适用于GPU。

  • C =计算= CUDA或OpenCL
  • G =图形= DirectX或OpenGL

答案 1 :(得分:1)

根据此处定义的Ubuntu手册页:https://manpages.ubuntu.com/manpages/precise/man1/alt-nvidia-current-smi.1.html

  • C = Compute,定义使用Nvidia GPU的计算模式的进程,这些GPU使用CUDA库,用于使用Tensorflow-GPU,Pytorch等进行深度学习训练和推理
  • G =图形,它定义了使用专业3D图形,gnome-shell(Ubuntu的GUI环境),游戏等用于渲染图形或视频的Nvidia GPU图形模式的过程
  • C + G =计算+图形,它定义了使用上述两个上下文的过程。

如果您想更深入地了解Nvidia Turing GPU的架构组件,请查看白皮书@ https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/technologies/turing-architecture/NVIDIA-Turing-Architecture-Whitepaper.pdf

作为一般规则,在像ML一样广泛的软件堆栈上工作的每个人都应对其工作的硬件组件有很好的了解。