[Paraview] Hardware suggestions for volume rendering

Aashish Chaudhary aashish.chaudhary at kitware.com
Tue Mar 24 19:31:39 EDT 2015


Okay, I will talk to some folks here to see what we can do to address these
issues.

- Aashish

On Tue, Mar 24, 2015 at 6:34 PM, Burlen Loring <bloring at lbl.gov> wrote:

> I have the same issue with unstructured grids(not using the new opengl
> work yet). A while back I wanted to volume render a large image dataset
> after clipping it. The clip made it unstructured. This was on a few
> hundered nodes on edison, I couldn't get the unstructured volume rendering
> to work, it appeared to hang(took so long I couldn't tell) and it crashed a
> few times as well(may have ran out of memory).  I think I tried a couple of
> the various mappers before I gave up. Would be nice to have it working
> better.
>
>
> On 3/24/2015 8:43 AM, Armin Wehrfritz wrote:
>
>> 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
>>>
>>>  _______________________________________________
>> 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
>>
>
>


-- 



*| Aashish Chaudhary | Technical Leader         | Kitware Inc.            *
*| http://www.kitware.com/company/team/chaudhary.html
<http://www.kitware.com/company/team/chaudhary.html>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20150324/e478e19b/attachment.html>


More information about the ParaView mailing list