- Infos im HLRS Wiki sind nicht rechtsverbindlich und ohne Gewähr -
- Information contained in the HLRS Wiki is not legally binding and HLRS is not responsible for any damages that might result from its use -
CRAY XC40 Graphic Environment
Building Paraview
To build ParaView on hww machines first of all download the source package of the version to be build from http://www.paraview.org/download and extract it to your home directory.
The second step would be to create an empty build directory outside the source directory since an out of source build is the recomended way to compile ParaView.
To build ParaView certain recent dependencies have to be satisfied. For an OpenGL build these are:
- Autotools
- Cmake
- Qt 4
If you plan to build a ParaView server suitable for the Hornet compute nodes also recent versions of
- LLVM with CLang
- libclc and
- Mesa
have to be available.
All of these dependencies are installed on Hornet. Currently the following versions are available:
- m4-1.4.17
- autoconf-2.69
- automake-1.14
- libtool-2.4.2
- pkg-config-0.28
- llvm-3.4.2
- libclc-0.1.5
- Mesa-10.2.2
- Qt-4.8.6
- Cmake-3.0.2
Environment setup
To modify your environment in a way that these dependencies are usable simply source the following bash-script.
setenv-pv.sh
#!/bin/bash # # Setup modules ####################################### module load tools/autotools module load tools/cmake module unload PrgEnv-cray module load PrgEnv-gnu module swap gcc/4.9.1 gcc/4.8.1 # # LLVM ############################################### export LD_LIBRARY_PATH=/sw/hornet/hlrs/tools/paraview/4.1.0/aux/llvm/lib:$LD_LIBRARY_PATH export PATH=/sw/hornet/hlrs/tools/paraview/4.1.0/aux/llvm/bin:$PATH # # MESA ############################################### export LD_LIBRARY_PATH=/sw/hornet/hlrs/tools/paraview/4.1.0/aux/mesa/lib:$LD_LIBRARY_PATH # # QT ################################################# export LD_LIBRARY_PATH=/sw/hornet/hlrs/tools/paraview/4.1.0/aux/qt/lib:$LD_LIBRARY_PATH export PATH=/sw/hornet/hlrs/tools/paraview/4.1.0/aux/qt/bin:$PATH #
This means copying the statements above to a file named setenv-pv.sh and executing
source setenv-pv.sh
will make your environment ready to build ParaView.
Configuration
To configure and afterwards build ParaView enter your empty build directory and execute ccmake
cd <your_build_directory> ccmake -Wno-dev <paraview_source_directory>
Press c for intial configuration. After cmake has done the initial configuration change the build parameters according to your needs. For the installation
BUILD_DOCUMENTATION : OFF BUILD_EXAMPLES : OFF BUILD_SHARED_LIBS : ON BUILD_TESTING : OFF CMAKE_BUILD_TYPE : Release PARAVIEW_ENABLE_PYTHON : ON PARAVIEW_INSTALL_DEVELOPMENT_F : ON PARAVIEW_USE_MPI : ON
Depending whether the OpenGL-Client or the Mesa-Server should be build the prefix is:
CMAKE_INSTALL_PREFIX : /opt/hlrs/tools/paraview/4.1.0/OpenGL
or
CMAKE_INSTALL_PREFIX : /opt/hlrs/tools/paraview/4.1.0/Mesa
Press c for configuration. After the configuration has finished you should encounter the following error:
CMake Error at VTK/CMake/vtkTestingMPISupport.cmake:31 (message): MPIEXEC was empty. Call Stack (most recent call first): VTK/Parallel/MPI/CMakeLists.txt:4 (include)
Press e to exit the error display, press t to toogle advanced options and change the following build parameters.
MPIEXEC : aprun MPIEXEC_MAX_NUMPROCS : 24 MPI_Fortran_COMPILER : /opt/cray/craype/2.2.0/bin/ftn Module_vtkFiltersParallelGeome : ON Module_vtkFiltersSelection : ON Module_vtkIOMPIParallel : ON Module_vtkImagingMath : ON Module_vtkImagingStatistics : ON Module_vtkImagingStencil : ON VTK_Group_Imaging : ON VTK_Group_MPI : ON CMAKE_SHARED_LINKER_FLAGS : -z muldefs
After changing these parameters you have to press c two times. After two configuration runs you will get a new option [g] to generate.
Press g to generate the makefiles an exit cmake.
If you want to build the Mesa-Server another non interactive configuration has to be done by executing the following command. To build the OpenGL-Client you have to skip this step.
cmake \ <paraview_source_directory> \ -DPARAVIEW_BUILD_QT_GUI=OFF \ -DVTK_USE_X=OFF \ -DOPENGL_INCLUDE_DIR=/sw/hornet/hlrs/tools/paraview/4.1.0/aux/mesa/include \ -DOPENGL_gl_LIBRARY=/sw/hornet/hlrs/tools/paraview/4.1.0/aux/mesa/lib/libOSMesa.so \ -DOPENGL_glu_LIBRARY=/usr/lib/libGLU.so \ -DVTK_OPENGL_HAS_OSMESA=ON \ -DOSMESA_INCLUDE_DIR=/sw/hornet/hlrs/tools/paraview/4.1.0/aux/mesa/include \ -DOSMESA_LIBRARY=/sw/hornet/hlrs/tools/paraview/4.1.0/aux/mesa/lib/libOSMesa.so
Build
To build, login to a mom node e.g.
ssh mom12
Then compile and install with
make make install