Мы хотим расширить нашу пакетную систему для поддержки вычислений на GPU.
Проблема в том, что с точки зрения пакетной системы, GPU является ресурсом.Мы можем легко подсчитать используемые ресурсы, но нам также нужно ограничить доступ к ним.
Для графических процессоров это означает, что для каждого задания требуется только графический процессор (когда запрашивается графический процессор).
ОтКак мне сказали, совместное использование графических процессоров между заданиями - очень плохая идея (поскольку часть заданий в графическом процессоре может быть уничтожена случайным образом).
Итак, мне нужен какой-то способ ограничения доступа к графическим процессорам для CUDA иOpenCL.Пакетная система имеет привилегии root.Я могу ограничить доступ к устройствам в /dev/
с помощью cgroups
, но я решил, что в этом случае этого будет недостаточно.
В идеальном случае, если задание будет видеть столько графических процессоров, сколько онозапрошено, и к ним не может получить доступ никакая другая работа.