- 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

From HLRS Platforms
Jump to navigationJump to search

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 als 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 gegerate.

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