Les applications CUDA indexent les GPU de la machine par défaut dans l'ordre de performance supposée, alors que dans nvidia-smi le listing est donné par ordre PCI.
On peut changer le comportement dans les applications avec CUDA_DEVICE_ORDER=PCI_BUS_ID dans l'environnement.
Si l'on a soudainement envie de diminuer le nombre de CPUs que boinc utilise (même si en pratique il est sensé s'écraser quand d'autres processus ont besoin de passer), on peut le faire en live :
Dans /etc/boinc-client/cc_config.xml mettre (par exemple)
<options>
<ncpus>120</ncpus>
</options>
Puis recharger la config :
boinccmd --read_cc_config
On voit alors avec boinccmd --get_host_info que #CPUS est modifié, le nombre de task en état "run" passe à 120 et les logs disent :
Number of usable CPUs has changed from 128 to 120.
Envie de tester boinc à fond ? Avec les paramètres par défaut apparemment il y a une sorte de throttling à 60% ! Donc les process tournent à fond un moment, puis sont suspendus, etc. en permanence. Ça se remarque bien dans boinctui par exemple.
En cherchant, sur la page ci-liée on tombe sur une option "Use at most N % CPU time", qui, dans la liste d'options ici (http://boinc.berkeley.edu/wiki/Global_prefs_override.xml) pourrait correspondre à cpu_usage_limit.
On tente donc de mettre
<cpu_usage_limit>100.0</cpu_usage_limit>
dans /etc/boinc-client/global_prefs_override.xml puis de voir si ça change quelque chose : boinccmd --read_global_prefs_override
Et pouf, plus jamais de pause saugrenue.
Je me demande un peu pourquoi ils font ça par défaut, si on veut calculer, on y va… le seul intérêt que je vois serait pour pas qu'un laptop chauffe trop.