A estratégia é bastante simples.
Usando qconf -mc
você pode criar um recurso complexo chamado gpu
(ou qualquer nome que você queira nomear). A definição de recurso deve ser algo como:
#name shortcut type relop requestable consumable default urgency
#----------------------------------------------------------------------------------------------
gpu gpu INT <= YES YES 0 0
Em seguida, você deve editar suas definições de host exec com qconf -me
para definir o número de GPUs em hosts exec que as possuem:
hostname node001
load_scaling NONE
complex_values gpu=2
user_lists NONE
xuser_lists NONE
projects NONE
xprojects NONE
usage_scaling NONE
report_variables NONE
Agora que você configurou seus hosts exec, é possível solicitar recursos do gpu ao enviar tarefas. Por exemplo: qsub -l gpu=1
e gridengine manterão o controle de quantas GPUs estão disponíveis.
Se você tiver mais de um trabalho em execução por nó que usa uma GPU, poderá colocar suas GPUs no modo exclusivo. Você pode fazer isso com o utilitário nvidia-smi
.