[Paraview] Hardware suggestions for volume rendering

Armin Wehrfritz dkxls23 at gmail.com
Tue Mar 24 11:43:08 EDT 2015


Hey Kevin and Aashish,

I found this discussion rather interesting, especially since I'm 
basically facing the same problem as Kevin.

In almost all cases, we are dealing here with large unstructured grids 
(e.g. 12M cells) and the volume rendering is performance is extremely 
bad, not to say unusable, for these cases.

I only tested it with ParaView 4.3.1 and older versions, i.e. with the 
old OpenGL algorithms, but the performance is barely influenced by the 
actual volume renderer (i.e. GPU vs. CPU based).

For an unstructured grid the volume rendering seems to be CPU limited in 
any case, at least my CPU is at 100% for quite some time and the GPU 
load is negligible. ParaView's status bar indicates that it's busy with
"OpenGLProjectedTetrahedraMapper".

This can be easily reproduced with the wavelet source (with e.g. 125k 
points) and tessellation filter.

So far I have resorted to resampling the data onto a structured grid. 
This has the clear drawback that a structured grid with the same 
resolution has about 70M grid points compared to the 12M points of the 
unstructured grid.
The volume rendering performance of a 70M unstructured grid is however 
already decent with the old OpenGL algorithms.

So is there a way to improve the rendering of unstructured grids to 
avoid the resampling?

Best regards,
Armin




On 03/24/2015 04:48 PM, Aashish Chaudhary wrote:
> Hey Kevin,
>
>
>
> On Fri, Mar 20, 2015 at 2:33 PM, Kevin Lau <kevin.d.lau at gmail.com
> <mailto:kevin.d.lau at gmail.com>> wrote:
>
>     Dear Aashish,
>
>     Thanks for your reply.
>
>     (1)
>
>     We tried testing it with 2 different data sets of simulation data,
>     one medium sized and one very large:
>
>     Medium
>     Cells: 1309489
>     Points: 247984
>     Memory [MB]: 119.179
>     Geometry [MB]: 8.201
>
>     Very Large
>     Cells: 51937191
>     Points: 11019274
>     Memory [MB]: 4709.731
>     Geometry [MB]: 776.237
>
>     These datasets are unstructured grids (tetrahedral meshes) read into
>     ParaView using the Phasta data reader.
>
> I see. Most of the performance improvements we have achieved is with GPU
> RayCast Volume mapper (uses image data). If you can sample your data
> into a strucuted grid then you will be able to use the new mapper.
>
> Thanks,
>
>     (2)
>
>     The OS used was Ubuntu
>
>     (3)
>
>     The graphics card was a NVIDIA Quatro K6000 running the NVIDIA
>     drivers from the Ubuntu Repos (v 331.113)
>
>     (4)
>
>     We configured ParaView using the default CMake options, changing
>     VTK_RENDERING_BACKEND=OpenGL2 and disabling all the plug-ins. These
>     tests were run in serial, as building with MPI was throwing errors.
>
>     (5)
>
>     We expected that the OpenGL2 version of ParaView would be able to
>     volume render faster than the standard OpenGL version. However the
>     reported frame rates were the same in both builds when clicking and
>     dragging (~2 FPS).
>
>     This is a problem because we're mainly interested in visualising our
>     data and having users able to rotate the model and interact with it.
>     At these frame rates the response is a bit sluggish.
>
>     Also I've done serial test using an OpenGL2 build on Windows using
>     an old GeForce 8800 with the same medium sized data. On this machine
>     the frame rate was similar at around ~1.5 FPS.
>
>     (6)
>
>     ParaView was built by checking out the master from git. Sadly I'm
>     not on that test machine now, so I can't check the SHA
>
>     Many thanks for your help again.
>
>     Kevin
>
>
>     On 20 March 2015 at 10:33, Aashish Chaudhary
>     <aashish.chaudhary at kitware.com
>     <mailto:aashish.chaudhary at kitware.com>> wrote:
>
>         Hey Kevin,
>
>         On Thu, Mar 19, 2015 at 5:33 PM, Kevin Lau
>         <kevin.d.lau at gmail.com <mailto:kevin.d.lau at gmail.com>> wrote:
>
>             Dear Aashish,
>
>             Thanks for your reply, I've now managed to build ParaView
>             from the Master branch with VTK_RENDERING_BACKEND set to
>             OpenGL2 and I have noticed a visible difference in the
>             rendering.
>
>             However comparison of the rendering performance in the
>             interactive mode of builds with the standard OpenGL backend
>             vs the OpenGL2 backend, both show similar frame rates.
>
>
>         Depending on the card and features you are using you may not see
>         a huge bump in performance. On some systems we have seen 300
>         times performance improvements and on others there were close
>         specially when you have VSync on. Said that, can you provide
>         more infromation on
>
>         1) Data size
>         2) OS
>         3) Graphics card
>         4) Features you have enabled?
>         5) You expectation and problem
>         6) What SHA of ParaView you are using?
>
>             Are there other build options that I'm missing? Should I be
>             building the VTK libraries themselves?
>
>
>         Just make sure that you built from a clean state other than that
>         you should be good.
>         Thanks,
>
>
>             Many thanks,
>
>             Kevin
>
>
>             On 3 March 2015 at 14:53, Aashish Chaudhary
>             <aashish.chaudhary at kitware.com
>             <mailto:aashish.chaudhary at kitware.com>> wrote:
>
>                 On Tue, Mar 3, 2015 at 2:43 PM, Kevin Lau
>                 <kevin.d.lau at gmail.com <mailto:kevin.d.lau at gmail.com>>
>                 wrote:
>
>                     Dear Aashish,
>
>                     Thank you very much for your reply. The latest work
>                     you're doing on volume rendering is very impressive.
>
>
>                 Thanks.
>
>
>                     In order to access the latest VTK rendering in
>                     ParaView would we have to compile both the latest
>                     VTK and ParaView from source? Is it possible to link
>                     ParaView to specific VTK builds?
>
>
>                 Latest ParaView from source should be fine. Just make
>                 sure that you select VTK_RENDERING_BACKEND to OpenGL2
>
>
>                     Also do you know if it is preferential to have a
>                     single GPU (i.e. a workstation graphics card) or
>                     multiple GPU (i.e. gaming graphics card) when using
>                     ParaView?
>
>
>                 If I remember correctly, we don't explicitly assign
>                 tasks to GPU in ParaView if running a single process.
>                 You can find more information here:
>                 http://www.paraview.org/Wiki/Setting_up_a_ParaView_Server#Multiple_GPUs_Per_Node
>
>                 Hope it helps.
>
>
>                     Many thanks,
>
>                     Kevin
>
>
>                     On 27 February 2015 at 08:15, Aashish Chaudhary
>                     <aashish.chaudhary at kitware.com
>                     <mailto:aashish.chaudhary at kitware.com>> wrote:
>
>                         Dear Kevin,
>
>                         First, I would like to mention that we have been
>                         working hard to improve rendering in VTK that
>                         includes volume rendering as well. You may want
>                         to read this source article:
>                         http://www.kitware.com/source/home/post/154.
>                         Most of the changes related to this work is now
>                         available in VTK github repository in master
>                         branch. If you are targetting current VTK, I
>                         would suggest that any card that can support
>                         OpenGL2.1 or higher would be great. The higher
>                         the GPU memory the better. While these newer
>                         card will work with the previous version of
>                         volume rendering, it may not scale very well (in
>                         our testing that's what we have observed).
>                         Current the default in ParaView is OpenGL Volume
>                         Rendering but that is going to change sometime
>                         soon and once that happens you will have OpenGL2
>                         backend for everything.
>
>                         Hope this helps.
>                         - Aashish
>
>
>
>                         On Thu, Feb 26, 2015 at 5:41 PM, Kevin Lau
>                         <kevin.d.lau at gmail.com
>                         <mailto:kevin.d.lau at gmail.com>> wrote:
>
>                             Hi,
>
>                             I'm looking to putting together a
>                             workstation to perform realtime volume
>                             rendering of our simulation data.
>
>                             Are there any particular GPU features I
>                             should look for?
>
>                             If there are multiple GPUs will Paraview be
>                             able to take advantage of each GPU for
>                             volume rendering?
>
>                             Many thanks
>
>                             Kevin
>
>
>
>                             _______________________________________________
>                             Powered by www.kitware.com
>                             <http://www.kitware.com>
>
>                             Visit other Kitware open-source projects at
>                             http://www.kitware.com/opensource/opensource.html
>
>                             Please keep messages on-topic and check the
>                             ParaView Wiki at:
>                             http://paraview.org/Wiki/ParaView
>
>                             Search the list archives at:
>                             http://markmail.org/search/?q=ParaView
>
>                             Follow this link to subscribe/unsubscribe:
>                             http://public.kitware.com/mailman/listinfo/paraview
>
>
>
>
>                         --
>                         /| Aashish Chaudhary
>                         | Technical Leader
>                         | Kitware Inc.
>                         /
>                         /|
>                         http://www.kitware.com/company/team/chaudhary.html/
>
>
>
>
>
>                 --
>                 /| Aashish Chaudhary
>                 | Technical Leader
>                 | Kitware Inc.
>                 /
>                 /| http://www.kitware.com/company/team/chaudhary.html/
>
>
>
>
>
>         --
>         /| Aashish Chaudhary
>         | Technical Leader
>         | Kitware Inc.
>         /
>         /| http://www.kitware.com/company/team/chaudhary.html/
>
>
>
>
>
> --
> /| Aashish Chaudhary
> | Technical Leader
> | Kitware Inc.
> /
> /| http://www.kitware.com/company/team/chaudhary.html/
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
>
> Search the list archives at: http://markmail.org/search/?q=ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/paraview
>


More information about the ParaView mailing list