4

У меня два компьютера с одинаковым графическим процессором (GTX 1080), установлены одинаковые копии ОС и программного обеспечения. Но когда я запускаю свою программу tenorflow (модель RNN), скорость сильно отличается. Один примерно в 1,5 раза быстрее другого.

Вот ключевые характеристики двух:

Система A: Asus Z170-P, i7 6700T, 32 ГБ Ram, GTX 1080.
SystemB: Asus X99 E-WS, i7 5930K, 128G Ram, GTX 1080. (Проблема первая)

Оба установлены с (используя тот же метод):

ОС: Ubuntu 16.04
Версия драйвера графического процессора: 378.13
Cuda версия: 8.0
версия cuDNN: 5.1
Tensorflow: устанавливается с помощью метода pip install tensorflow-gpu==1.0.1
Питон: Анаконда 3.6

Образец кода:

import tensorflow as tf
import numpy as np
from tqdm import trange

np.random.seed(111)
h,w = 3000, 2000
steps = 1000

x = tf.placeholder(dtype=tf.float32, shape=[h, w], name='x')
t = tf.constant(np.random.random(size=[w, w]), dtype=tf.float32)
m = tf.matmul(x,t)

x0 = np.random.random(size=[h, w])
sess = tf.Session()
for i in trange(steps):
    x0 = sess.run(m, feed_dict={x: x0})

SystemA выполняет 75 iter/sec, а systemB имеет только 50 iter/sec, да, на самом деле, худший на самом деле быстрее.

Основные наблюдения:

  1. SystemB имеет гораздо большую ошибку страницы при запуске программы.
  2. Благодаря мониторингу Volatile GPU-Util от nvidia-smi smi, systemA стабильно занимает около 40%, а systemB - около 30%.

Вещи, которые я пробовал на systemB:

  1. Обновите BIOS до последней версии и сбросьте настройки по умолчанию.
  2. Обратитесь в службу поддержки Asus за помощью.
  3. Поменяйте местами карту GPU с системой А.
  4. Измените слот PCI-e, чтобы он работал на x16 gen3.
  5. Вставьте LD_PRELOAD="/usr/lib/libtcmalloc.so" в файл .bashrc .

Основные отличия вывода /usr/bin/time -v :

# The first value is for systemB and the second is for systemA.
System time (seconds): 7.28  2.95
Percent of CPU this job got: 85%  106%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:22.41  0:14.89
Minor (reclaiming a frame) page faults: 684695  97853
Involuntary context switches: 164  91063
File system inputs: 0  24
File system outputs: 8  0

Кто-нибудь может указать мне направление, как профилировать / отладить эту проблему? Спасибо заранее!

Обновить:

У меня есть оперативная память Corsair DDR4 3000MHz CMK32GBX4M2B3000C15, которая, кажется, не указана в списке поддерживаемых материнских плат, может быть в этом причина? Но я пользуюсь этим компьютером уже год, никаких проблем, как никогда.

ОБНОВИТЬ:

Разобравшись с пользователем stackoverflow пользователя wontonimo, мы обнаружили, что проблема связана с процессором BUS+. Надеюсь, кто-то здесь может указать мне направление, чтобы это исправить. И пост здесь.

0