# pvserver or pvpython in docker cannot use GPU

**URL:** https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030
**Category:** ParaView Support
**Created:** [May 6, 2023, 11:22am UTC](https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030 "2023-05-06T11:22:31Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![bjdaijun](https://discourse.paraview.org/user_avatar/discourse.paraview.org/bjdaijun/32/11530_2.png) [@bjdaijun](https://discourse.paraview.org/u/bjdaijun)
#### Post date: [May 6, 2023, 11:22am UTC](https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030/1 "2023-05-06T11:22:31Z")

</div>

I download headless version of paraview, and build it into docker.

My host machine installed nvidia driver properly, and configured navidia-docker2 successfully.

And I Use nvidia/cuda:11.7.1-cudnn8-devel-ubuntu22.04 as my docker base image, and with opengl installed in docker.

But when I start pvpython or pvserver in docker , and try to connect it with outside paraviewclient or chrome, and check nvdia-smi, It’s shows that no GPU is in use.

I also download another python module like numba in docker , and write some python code to test it , and in this condition, nvidia-smi shows GPU usage. So it seems like my docker image is ok to support GPU. But why pvserver can’t use it?

I also tried pvserver in my host ubuntu machine, and nvidia-smi shows success GPU usage.

So is there any way to check why pvserver not use GPU in docker?

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [May 6, 2023, 5:33pm UTC](https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030/2 "2023-05-06T17:33:51Z")

</div>

Did you use the EGL version of ParaView?

---

<div class="post-metadata">

### Author: ![bjdaijun](https://discourse.paraview.org/user_avatar/discourse.paraview.org/bjdaijun/32/11530_2.png) [@bjdaijun](https://discourse.paraview.org/u/bjdaijun)
#### Post date: [May 7, 2023, 12:58am UTC](https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030/3 "2023-05-07T00:58:57Z")

</div>

yes, both egl and mesa version tried, and they are the same result.

But when I run these code

> > > from paraview.simple import \*  
> > > openGLInfo = GetOpenGLInformation()  
> > > openGLInfo.GetVendor()

It’s got Mesa/X.org . And I checked it twice that the package is Paraview-5.11.1-egl-MPI-Linux-Python3.9-x86\_64

---

<div class="post-metadata">

### Author: ![bjdaijun](https://discourse.paraview.org/user_avatar/discourse.paraview.org/bjdaijun/32/11530_2.png) [@bjdaijun](https://discourse.paraview.org/u/bjdaijun)
#### Post date: [May 8, 2023, 2:55am UTC](https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030/4 "2023-05-08T02:55:50Z")

</div>

Solved by replace base image:

```auto
#FROM nvidia/cuda:11.7.1-cudnn8-devel-ubuntu22.04
FROM nvidia/opengl:1.2-glvnd-devel-ubuntu20.04

```

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [May 8, 2023, 2:15pm UTC](https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030/5 "2023-05-08T14:15:28Z")

</div>

Thanks for reporting back your solution. Indeed, using the `nvidia/opengl` image ensure the EGL library from nvidia to be available.

---

<div class="post-metadata">

### Author: ![bjdaijun](https://discourse.paraview.org/user_avatar/discourse.paraview.org/bjdaijun/32/11530_2.png) [@bjdaijun](https://discourse.paraview.org/u/bjdaijun)
#### Post date: [May 11, 2023, 6:41am UTC](https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030/6 "2023-05-11T06:41:41Z")

</div>

> [@bjdaijun](#):
>
> `vidia/opengl`

After build and test this docker image on ubuntu successfully. I copied the image to another centos7 server, but on centos7 server, container from this docker image faild to use GPU.  
pvpython strart with error `error: gl_primitiveiD undeclared`  
But nvidia-smi in this container runs successfully.  
And this time openGLInfo.GetVendor() returns Mesa/X.org

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [May 11, 2023, 2:02pm UTC](https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030/7 "2023-05-11T14:02:48Z")

</div>

Does that centos7 server has the nvidia-runtime for its docker?

---

<div class="post-metadata">

### Author: ![bjdaijun](https://discourse.paraview.org/user_avatar/discourse.paraview.org/bjdaijun/32/11530_2.png) [@bjdaijun](https://discourse.paraview.org/u/bjdaijun)
#### Post date: [May 12, 2023, 12:52am UTC](https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030/8 "2023-05-12T00:52:28Z")

</div>

Yes, but not sure if it’s nvidia-runtime is ok. I tested in the container with nvidia-smi command , and it’s shows success info as in the host. I guess this may means gpu is successfully mounted to container.

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [May 12, 2023, 4:17pm UTC](https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030/9 "2023-05-12T16:17:12Z")

</div>

Yes that’s the way to validate that part.

Are the supported driver version the same between your working ubuntu host and your centos?

Normally having a working image on one host should work on another one…

Did you reuse the same image (save/load) or did you rebuild it from your centos?

---

<div class="post-metadata">

### Author: ![bjdaijun](https://discourse.paraview.org/user_avatar/discourse.paraview.org/bjdaijun/32/11530_2.png) [@bjdaijun](https://discourse.paraview.org/u/bjdaijun)
#### Post date: [May 14, 2023, 7:17am UTC](https://discourse.paraview.org/t/pvserver-or-pvpython-in-docker-cannot-use-gpu/12030/10 "2023-05-14T07:17:14Z")

</div>

Yes, you are right. I just installed another version nvidia driver and it ok now. Thank you very much.
