Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Permissions 防止在单节点slurm设置中直接使用GPU_Permissions_Slurm - Fatal编程技术网

Permissions 防止在单节点slurm设置中直接使用GPU

Permissions 防止在单节点slurm设置中直接使用GPU,permissions,slurm,Permissions,Slurm,场景:我在一台Ubuntu机器上安装了slurm。用户可以登录到此计算机以执行某些GPU和非GPU任务 目标:我想阻止那些用户直接使用GPU。只有以slurm启动的作业才能使用GPU 我所做的:为了防止直接使用gpu,我更改了/dev/nvidiaN(chown root.gpu/dev/nvidia*)的所有者,现在只有组gpu中的用户才能使用它们。这很有效。问题是:slurm作业当然是以开始时使用的同一用户的身份运行的,因此这些提交的作业也不能使用任何GPU 有什么方法可以实现这个目标吗?我

场景:我在一台Ubuntu机器上安装了slurm。用户可以登录到此计算机以执行某些GPU和非GPU任务

目标:我想阻止那些用户直接使用GPU。只有以slurm启动的作业才能使用GPU

我所做的:为了防止直接使用gpu,我更改了/dev/nvidiaN(
chown root.gpu/dev/nvidia*
)的所有者,现在只有组
gpu
中的用户才能使用它们。这很有效。问题是:slurm作业当然是以开始时使用的同一用户的身份运行的,因此这些提交的作业也不能使用任何GPU


有什么方法可以实现这个目标吗?我考虑使用镜像用户(
user
->
user slurm
在组内
gpu
但不登录),sudo和一些
sbatch--uid=uid--guid=GID…
白名单命令,但这似乎非常复杂。

我会考虑创建另一台虚拟Ubuntu机器,作为头节点,将用户移动到这台机器上。使用普通的slurm PAM插件只允许通过slurm从虚拟头节点访问原始机器。我认为您可以将
sshd
限制在
cgroup
中,该cgroup拒绝通过systemd的
服务
访问
/dev/nvidia*