[Paraview] Building ParaView v5.1.2 on Linux from source with support for GPU and SWR.

Chuck Atkins chuck.atkins at kitware.com
Wed Sep 28 15:17:49 EDT 2016


>
> > My intention is to compile paraview without GUI to run it in batch on
> > our cluster. This is the main reason why I am using a specific test
> > suite to check the performance of mesa-llvm vs. mesa-swr vs. GPU. At
> > the moment, on CPUs supporting AVX2 instruction set, mesa-swr shows a
> > very decent performance. Hence, my interest also to try out the latest
> > mesa 12.0.3 version, which I have downloaded today and started
> > compiling. In this regard, do you have any configuration options you
> > can share for use in offscreen mode? If this is handled already by the
> > latest superbuild version, then please disregard the questions above.
>
> Chuck (Cc'd) does this quite a bit. There are scripts he has committed
> which are used to build for specific platforms which you may be able to
> start using, but he's the best source of instructions for those.
>

Hi Frank,

The updated superbuild uses a common shared set of packages that we use for
several different projects and then the top level project which is ParaView
specific. To use this, you'll want to check out the current master branch
in the paraview-superbuild, run "git submodule init", and then "git
submodule update".  This will put you at the current state of things.

You can browse the build script I have committed in Scripts/sites for linux
clusters and Cray systems at Los Alamos National Labs and the DoD HPC
network.  They but they're a bit complicated though as I use them in a very
generic fashion with lots of options for a lot of different build
configurations.  The gist of it though is to encode all of the options you
would need to turn on in a pre-configured CMake cache script. Note that
this is actually a CMake script that sets the initial cache values and not
and not just a list of variables like in CMakeCache.txt .  See cmake/sites
for a few examples.  Doing this simplifies your build to just:

cd /path/to/build/location
cmake -C /path/to/MySystem-Cache.cmake /path/to/superbuild/source

# no -j here but don't worry, the subprojects will build in parallel
make

# Make the resulting ParaView package
ctest -R cpack-paraview-TGZ


The end result is ParaView-5.1.2-OpenGL2-MPI-Linux-64bit.tar.gz that you
can extract anywhere to install.  Using ctest to drive the packaging is a
bit weird, I know, but trust me that there were various reasons for that
which could warrant it's own separate thread.

This allows you to keep MySystem-Cache.cmake under source control to
maintain a consistent build.  For your configuration, the specific options
of interest to run on are ENABLE_osmesa and ENABLE_ospray.  Our default
configuration of osmesa will enable SWR.  What you'll end up with is a
pvserver / pvbatch that uses OSMesa for off-screen CPU based rendering
without X but with both llvmpipe and swr drivers built.  You can switch
between the by setting the GALLIUM_DRIVER env var to either llvmpipe or
swr.

Hope that gives you a good place to get started.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20160928/890296bd/attachment.html>


More information about the ParaView mailing list