Grave no desempenho do CUDA vs Windows, faça Intel GPU principal?

1

Eu passei pela instalação do tensorflow de GPU em um sistema de dualboot ( Windows 10 e Ubuntu 16.04.x )

ambos os sistemas operacionais têm aproximadamente as mesmas versões de drivers

Lenovo P50 laptop with Nvidia Quadro M1000M    

Windows 376.51 nvidia driver version
Ubuntu  375.66 nvidia driver version

Eu treino um Modelo de Aprendizado Profundo, cada conjunto de treinamento leva um tempo muito diferente

Windows 10   + Tensorflow 1.3 GPU + CUDA =  8 min. per epoch
Ubuntu 16.04 + Tensorflow 1.3 GPU + CUDA = 45 min. per epoch

A instalação do Ubuntu foi feita por meio de todos os padrões de apt-get (não de instalação de fontes) e pip

Meu único pensamento até agora ... é que eu devo estar usando a GPU NVIDIA para pintar os gráficos .. e não conseguir utilizar TODO o GPU para computação .. existe uma maneira de verificar isso? Eu instalei tudo em ambos os mesmos .. incluindo os patches para CUDA 8.x

Nem estou claro qual é o problema, mas parece que os drivers estão configurados para usar o Optimus. Talvez eu precise mudá-lo para um perfil diferente?

IdeaOne:Eupoderiatentaramanhãérecompilarotensorflowdefontes..comtodasasotimizaçõesdeCPUdentrodoUbuntu16.x..talvezainstalaçãopipsejamaisdolorosaqueainstalaçãobinárianoWindows...

Idéiadois:Seacimanãofizernada,entrareinoBIOSeforçareiosgráficosintegradosdaIntel.façaumareinstalaçãoetenteinstalarosgráficosdonoveua..maisoumenosassim:

Parecequeesteéumlaptop"Optimus" ativado. Não consigo desligar completamente o nvidia gpu para renderização, apenas habilite o modo híbrido. Talvez eu faça uma nova instalação .. remover todos os drivers da nvidia e ver se consigo fazer o X funcionar desse jeito ..?

link

"So I went to BIOS and set the integrated graphics as default and 
restart. Remember to switch the HDMI from the port on GTX1080 to that 
on the motherboard. Now the display works well. I successfully 
installed Ubuntu following its prompt guides."

link

When installing the NVIDIA display driver, be sure to:

1. not install the openGL libs (there are command line options with 
driver runfile installers or CUDA runfile installers to allow this)
2. make sure not to make any changes to the xorg.conf configuration.
    
por Erik 03.09.2017 / 18:21

1 resposta

2

Depois de muita caça, pesquisando .. surgindo .. Eu encontrei o problema com sucesso e consertei! Sim, a Intel GPU no Windows estava se acostumando enquanto no Linux ela não estava sendo utilizada ... forçando a GPU NVIDIA a desenhar a tela e perder recursos.

Eu reinstalei um novo Ubuntu 16.04 USB Stick em cima do meu sistema anterior ..

During reinstallation choose updates, but don't use 3rd party libraries

Uma vez instalado, você deve verificar se está no modo de driver intel nouveau ... em vez do driver proprietário da Nvidia.

Agora veio a (s) parte (s) estranha (s)

Um usuário aqui apontou o mesmo problema ... mas para implantações de desktop

link

basicamente ...

Em resumo, para que isso funcione, você precisa

1. make sure you have enabled onboard graphics in the BIOS settings (or set it as primary)

Eu fiz o modo híbrido .. desde que não há opção única intel

2. install both xorg intel driver and nvidia/cuda drivers

aqui, você precisa passar as bandeiras

--no-opengl-files //for the driver install I choose latest (384)

--no-openfl-libs // cuda 8.0 + patch here ..

certifique-se de desativar o nouveau .. e todas as etapas descritas nas instruções.

principal maneira de saber que você é bom .. instale glmark2 e sempre garanta que ele esteja produzindo intel

3. start nvidia-settings, and go to the PRIME settings page, set Intel (Power Saving Mode) as default
4. modify your .bashrc and set LD_LIBRARY_PATH to at least contain /usr/local/cuda/lib64:/usr/lib/nvidia-XXX where XXX in my case is 375.

esta pasta não existia para mim. Ainda adicionei o padrão LD_LIBRARY_PATH e PATH descritos nas instruções de instruções pós-instalação

4. logout to restart X or reboot
5. run glmark2 to confirm GL status

desde que você deveria ter instalado sem instalar arquivos opengl ... isso talvez seja desnecessário

<strike>6. (update) if the libGL printed from step 5 points to nvidia's driver folder, you need to remove/rename the libGL.so*/libGLX.so*/libGLdispatch.so* under nvidia driver folder so that your OS can pick up the mesa libGL library.</strike>


7. run nvidia-smi to list your dedicated NVIDIA GPU, and run your CUDA program, you should not see any errors.

isso não funcionou para mim até que eu executei nvidia-modprobe uma vez. Então, de repente, tudo funcionou.

update: infelizmente uma reinicialização quebrou a configuração. não sei como consertar ainda ...

    
por Erik 05.09.2017 / 18:11