Dois sistemas com GPUs idênticas têm desempenhos muito diferentes ao executar o script Tensorflow na GPU

4

Eu tenho dois computadores com o mesmo GPU (GTX 1080), instalei a mesma cópia do SO e dos softwares. Mas quando eu executo meu programa tensorflow (um modelo RNN), a velocidade é muito diferente. Um é cerca de 1,5x mais rápido que o outro.

Aqui estão as principais especificações dos dois:

SystemA: Asus Z170-P, 6700T i7, 32GB Ram, GTX 1080.
SystemB: Asus X99 E-WS, 5930K i7, 128G Ram, GTX 1080. (Problema um)

Ambos são instalados com (usando o mesmo método):

OS: Ubuntu 16.04
Versão do driver da GPU: 378.13
Versão Cuda: 8.0
versão cuDNN: 5.1
Tensorflow: instalado usando o método pip install tensorflow-gpu==1.0.1
Python: Anaconda 3.6

Código de amostra:

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})

O SystemA executa 75 iter / seg e o systemB tem apenas 50 iter / seg, mas o mais pobre é realmente mais rápido.

Observações chave:

  1. O SystemB possui uma falha de página muito maior durante a execução do programa.
  2. Monitorando o Volatile GPU-Util de nvidia-smi , o sistema A assenta de maneira estável em cerca de 40%, enquanto o sistema B é de aproximadamente 30%.

Coisas que tentei no systemB:

  1. Atualize o BIOS para a versão mais recente e redefina as configurações padrão.
  2. Ligue para o atendimento ao cliente da Asus para obter ajuda.
  3. Troque o cartão GPU pelo sistema A.
  4. Mude o slot PCI-e para garantir que ele esteja funcionando no x16 gen3.
  5. Injete o arquivo LD_PRELOAD="/usr/lib/libtcmalloc.so" to .bashrc .

As principais diferenças da saída de /usr/bin/time -v são:

# 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

Alguém pode me indicar como direcionar / depurar esse problema? Muito obrigado antecipadamente!

Atualização:

Meus carneiros são Corsair DDR4 3000MHz CMK32GBX4M2B3000C15 que parece não estar listado na lista de suporte da placa-mãe, pode ser esta a causa? Mas eu tenho usado esse computador há um ano, sem problemas.

ATUALIZAÇÃO:

Por dissociação com o usuário stackontflow wontonimo, descobrimos que é o BUS + CPU que causa o problema. Espero que alguém possa me apontar uma direção para consertar isso. E a postagem é aqui .

    
por Xer 08.05.2017 / 14:19

0 respostas