Linux / amd64
This ParaView container is enabled with the NVIDIA IndeX plugin and the OptiX ray-tracing backend.
It can be used in tandem with an official ParaView 5.9.0 client or standalone as ParaView Web. The following instructions will describe how to run ParaView Server and ParaView Web and how to use the IndeX plugin and the OptiX path tracing backend. At the end, there will be a FAQ section.
The container is built with EGL.
First, please make sure that you have the right credentials set up to pull the
containers. When using NGC you can run docker login nvcr.io
and provide
$oauthtoken
as username and your api key as password.
Please note that pulling from different repositories ("AWS Marketplace" for example) will require different credentials.
This is the simplest way to start the ParaView Server on one node with GPUs enabled:
docker run --gpus all -p 11111:11111 \
nvcr.io/nvidia-hpcvis/paraview:egl-py3-5.9.0 ./bin/pvserver
The output should be:
By loading the 'pvNVIDIAIndeX' plugin you have accepted the EULA shipped with it.
If that is not acceptable, please restart the application without loading
the 'pvNVIDIAIndeX' plugin.
-----------------------------------------------------
Waiting for client...
Connection URL: cs://HOST:11111
Accepting connection(s): HOST:11111
Now you can connect with ParaView client either directly from the UI or by starting via the command line:
./bin/paraview --server-url=cs://HOST:11111
This is the simplest way to start ParaView Web on one node with GPUs enabled:
docker run --gpus all -p 8080:8080 -v /host_data_dir:/data \
nvcr.io/nvidia-hpcvis/paraview:egl-py3-5.9.0 \
./bin/pvpython share/paraview-5.9/web/visualizer/server/pvw-visualizer.py \
--content share/paraview-5.9/web/visualizer/www/ \
--port 8080 \
--data /data
ParaView Web will start with the data directry mounted onto /data
.
The output should be:
By loading the 'pvNVIDIAIndeX' plugin you have accepted the EULA shipped with it.
If that is not acceptable, please restart the application without loading
the 'pvNVIDIAIndeX' plugin.
-----------------------------------------------------
wslink: Starting factory
Now you can connect to the host where the container is running directly with
your web browser on port http://HOST:8080
.
ParaView is designed to work well in client/server mode. In this way, users can have the full advantage of using a shared remote high-performance rendering cluster through the client application.
Start the client by specifying the url direcly from the command line:
./bin/paraview --server-url=cs://HOST:11111
Or using the UI:
The Pipeline Browser window should now show the address of the server that you connected to.
Please note that only the client and server have to be of the same version (5.9.0) for the connection to work.
The plugin needs to be loaded first:
pvNVIDIAIndeX
plugin.Now NVIDIA IndeX can be run on some synthetic data:
You should see a volume rendered wavelet source. Try editing the transfer function via "Properties" > "Coloring" > "Edit".
Here's how to enable the NVIDIA OptiX pathtracing backend and test it with some synthetic data.
You should see a ray traced Wavelet source with proper illumination and shadows. Try enabling/disabling ray tracing a few times for comparison.
The Visualizer Web application provides a ParaView-like, experience inside the Web browser. The ParaViewWeb library contains all the components needed to build the UI and the data access (I/O) routines to communicate to the ParaView server using WebSocket connectivity. Visualizer is simply connecting all the components together in a meaningful way.
The big advantage of ParaView Web is that it allows users to use ParaView without installing the client.
Once the container is started, navigate to http://HOST:8080
, where hostname is
the machine where the container image is running. To check that IndeX works,
here are the steps to render a generated volume with Index:
After NVIDIA IndeX initializes you should see the volume.
Q: Can I use Infiniband?
A: Yes Mellanox Infiniband interfaces are supported. For docker, you will have
to add --device=/dev/infiniband --cap-add=IPC_LOCK --net=host
when
running the container.
Q: The ParaView web container shuts down after 5 minutes of inactivity. A: This behaviour comes from pvpython.
Q: How can I use my own license for the ParaView IndeX plugin?
A: You can do that by configuring the vendor and secret keys via the environment
variables NVINDEX_VENDOR_KEY
and NVINDEX_SECRET_KEY
.
Q: When creating a Wavelet, ParaView crashes with the following error:
vtkSIProxy.cxx:422 ERR| vtkSISourceProxy (0x2296bb70): Failed to create 'vtknvindex_representation'. This typically means that ParaView does not know about the request class to create an instance of if. Ensure that it has been correctly wrapped using the client-server wrappers and the wrapping has been initialized. Note class names are case-sensitive. Check for typos. Aborting for debugging purposes.
A: This is an indication that the NVIDIA IndeX plugin has been loaded remotely but not locally. Please load it on both sides, as mentioned in the pre-requisites section.
For additional information on NVIDIA IndeX and multi node support please contact us.