2017-10-13 16 views
0

On peut lister les périphériques actuellement visibles à tensorflow avec:Comment lister les périphériques Tensorflow visibles sans allocation?

from tensorflow.python.client import device_lib 
LOCAL_DEVICES = device_lib.list_local_devices() 

(voir: How to get current available GPUs in tensorflow?)

Cependant, cela semble initialiser et affecter ces processeurs graphiques. Comment pouvons-nous lister les appareils sans les allouer?

+0

Pouvez-vous accéder au système d'exploitation et appeler quelque chose comme 'lspci'? –

+0

Qu'est-ce qui vous donne l'indication que les GPU listés ont été alloués après l'appel à device_lib? –

Répondre

1

Pour les appareils GPU, la fonction tensorflow list_local_devices() est une enveloppe autour des cuDeviceGetCount(), cuDeviceGet() et cuDeviceGetProperties() fonctions dans le CUDA API. (En outre, il existe généralement un «périphérique UC» qui utilise tous les cœurs du système local.)

La solution la plus simple consiste à appeler ces API CUDA directement. Ce script montre comment faire cela à partir de Python en utilisant ctypes.