Realicé la instalación de GPU tensorflow en un sistema de arranque dual ( Windows 10
y Ubuntu 16.04.x
)
Ambos sistemas operativos tienen aproximadamente las mismas versiones de controladores.
Lenovo P50 laptop with Nvidia Quadro M1000M
Windows 376.51 nvidia driver version
Ubuntu 375.66 nvidia driver version
Entreno un modelo de aprendizaje profundo, cada conjunto de entrenamiento requiere una cantidad de tiempo muy diferente
Windows 10 + Tensorflow 1.3 GPU + CUDA = 8 min. per epoch
Ubuntu 16.04 + Tensorflow 1.3 GPU + CUDA = 45 min. per epoch
La instalación de Ubuntu se realizó a través de todos los valores predeterminados apt-get
(no la instalación de fuentes), ypip
Mi único pensamiento hasta ahora... es que debo usar la GPU NVIDIA para pintar los gráficos... y no poder utilizar TODA la GPU para la computación... ¿hay alguna manera de verificar esto? He instalado todo en ambos iguales... incluyendo los parches paraCUDA 8.x
Ni siquiera tengo claro cuál es el problema, pero parece que los controladores están configurados para usar Optimus... ¿tal vez necesito cambiarlo a un perfil diferente?
Idea uno: Podría intentar mañana volver a compilar tensorflow desde las fuentes... con todas las optimizaciones de CPU dentro de Ubuntu 16.x... tal vez la instalación de pip sea más dolorosa que la instalación binaria en Windows...
Idea dos: si lo anterior no hace nada, ingresaré al BIOS y forzaré los gráficos integrados de Intel... haré una reinstalación e intentaré instalar los gráficos noveua... algo así:
Parece que esta es una computadora portátil habilitada para "Optimus". No puedo apagar completamente la GPU nvidia para renderizar, solo habilito el modo híbrido. Quizás haga una instalación nueva... elimine todos los controladores de nvidia y vea si puedo hacer que X funcione de esa manera...
"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."
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.
Respuesta1
Después de mucha caza, búsqueda... unión... ¡Encontré el problema con éxito y lo solucioné! Sí, la GPU Intel en Windows se estaba usando mientras que en Linux no se utilizaba... obligando a la GPU NVIDIA a dibujar la pantalla y perder recursos.
Reinstalé una memoria USB Ubuntu 16.04 nueva encima de mi sistema anterior.
During reinstallation choose updates, but don't use 3rd party libraries
Una vez instalado, debes verificar que estás en el modo de controlador Intel Nouveau... en lugar del controlador propietario de Nvidia.
Ahora vino la(s) parte(s) rara(s)
Un usuario aquí había señalado el mismo problema... pero para implementaciones de escritorio
básicamente...
En resumen, para que esto funcione, es necesario
1. make sure you have enabled onboard graphics in the BIOS settings (or set it as primary)
Hice el modo híbrido... ya que no hay opción de solo inteligencia
2. install both xorg intel driver and nvidia/cuda drivers
Aquí tienes que pasar las banderas.
--no-opengl-files //for the driver install I choose latest (384)
--no-openfl-libs // cuda 8.0 + patch here ..
asegúrese de desactivar nouveau... y todos los pasos descritos en las instrucciones...
forma principal de saber que estás bien... instálalo glmark2
y asegúrate siempre de que esté generando información
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 carpeta no existía para mí en absoluto. Todavía agregué el valor predeterminado LD_LIBRARY_PATH
y PATH
lo describí en las instrucciones de cuda posteriores a la instalación.
4. logout to restart X or reboot
5. run glmark2 to confirm GL status
ya que debería haberlo instalado sin instalar archivos opengl... esto quizás sea innecesario
<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.
Esto no funcionó para mí hasta que lo ejecuté nvidia-modprobe
una vez... y de repente todo funcionó.
actualización: lamentablemente un reinicio rompió la configuración. Aún no estoy seguro de cómo solucionarlo...