С Dask тензор потока может обнаружить только 1 графический процессор с компьютера, на котором установлено 2 графических процессора. - PullRequest
0 голосов
/ 11 января 2020

Наш узел HP C имеет 2 графических процессора K80. Когда я запускаю следующий код на узле HP C, используя python, код обнаружит 2 графических процессора и отобразит «типы устройств gpu: ['TeslaK80', 'TeslaK80']"

Но когда я запускаю тот же код с DASK, он может обнаружить только 1 GPU. Он отображает «типы устройств gpu: ['TeslaK80']»

Ниже приведен код для определения тензорного потока импорта графического процессора в виде tf

def init_gpu()
    print("\n\n\n ... tensorflow version = ", tf.__version__)
    from tensorflow.python.client import device_lib

    local_device_protos = device_lib.list_local_devices()
    print("local device protos:{0}".format(local_device_protos))
    _gpu_raw_info =  [(x.name,x.physical_device_desc) for x in local_device_protos if x.device_type == 'GPU']
    print("gpu raw info:{0}".format(_gpu_raw_info))
    _gpu_names =  [x[0] for x in _gpu_raw_info]
    _gpu_devices =  [x[1] for x in _gpu_raw_info]
    _gpu_device_types =  [x.split(':')[2].split(',')[0].replace(' ','') for x in _gpu_devices]
     print("gpu device types:{0}".format(_gpu_device_types))

Ниже приведен код кластера DASK LSF для запуска задания. кластер:

cluster = LSFCluster(queue=queue_name, project=hpc_project, alltime='80:00', cores=1, processes=1, local_directory='dask-worker-space', memory='250GB', job_extra=['-gpu "num=2"'], log_directory='scheduler_log', dashboard_address=':8787'))
cluster.scale(1* 1)
client = Client(cluster.scheduler_address, timeout=60)
wbsd_results = []
r = dask.delayed(init_gpu)()
wbsd_results.append(r)
client.compute(wbsd, sync=True)

Пожалуйста, помогите. Спасибо.

...