当我跑;
require 'cutorch'
Run Code Online (Sandbox Code Playgroud)
在lua中,它会自动为GPU中的两个核心分配两个进程.例如,我得到以下输出nvidia-smi;
---------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 Not Supported |
| 1 6091 C /home/msmith/torch/install/bin/qlua 98MiB |
| 2 6091 C /home/msmith/torch/install/bin/qlua 99MiB |
+-----------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
我希望能够控制进程中的GPU.我试过了;
cutorch.setDevice(<Device Number>)
Run Code Online (Sandbox Code Playgroud)
但这只会在GPU上创建更多进程.
谢谢.
在使用CUDA_VISIBLE_DEVICES环境变量启动进程之前,您可以控制进程将运行的GPU ,例如,仅在CPU 0上运行:
export CUDA_VISIBLE_DEVICES=0
luajit your-script.lua
Run Code Online (Sandbox Code Playgroud)