Skip to content

[ParaView] [package list]

ParaView/5.13.3-cpeGNU-24.03 (ParaView-5.13.3-cpeGNU-24.03.eb)

Install with the EasyBuild-user module:

eb ParaView-5.13.3-cpeGNU-24.03.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider ParaView/5.13.3-cpeGNU-24.03.

EasyConfig:

easyblock = 'CMakeMake'

local_ParaView_version              = '5.13.3'

# Central stack
local_Boost_version =        '1.83.0'        # https://www.boost.org/
local_bzip2_version =        '1.0.8'         # http://www.bzip.org/downloads.html
local_FFmpeg_version =       '6.1.1'         # https://ffmpeg.org/download.html#releases
local_libpng_version =       '1.6.40'        # http://www.libpng.org/pub/png/libpng.html
local_expat_version =        '2.6.2'         # https://github.com/libexpat/libexpat/releases
local_freetype_version =     '2.13.2'        # https://download.savannah.gnu.org/releases/freetype/
local_libjpegturbo_version = '3.0.1'         # https://github.com/libjpeg-turbo/libjpeg-turbo/releases
local_libxml2_version =      '2.11.5'        # http://xmlsoft.org/sources/
local_libtiff_version =      '4.6.0'         # https://download.osgeo.org/libtiff/
local_zlib_version =         '1.3.1'         # https://zlib.net/
local_nlohmannjson_version = '3.11.3'        # https://github.com/nlohmann/json/releases
local_double_conv_version =  '3.3.0'         # https://github.com/google/double-conversion/releases
local_oneTBB_version =       '2021.13.0'     # https://github.com/uxlfoundation/oneTBB/releases
local_IntelRenderingToolkit_version = '1.10.0'  # https://github.com/RenderKit/superbuild/tags
local_Eigen_version =        '3.4.0'         # https://gitlab.com/libeigen/eigen/-/releases
local_CUDA_version =         '12.2.2'
local_Qt5_version =          '5.15.15'       # https://download.qt.io/official_releases/qt/
# Contrib
local_ADIOS2_version =       '2.10.1'        # https://github.com/ornladios/ADIOS2/releases
local_Conduit_version =      '0.9.2'         # https://github.com/LLNL/conduit/releases
local_Catalyst_version =     '2.0.0'         # https://gitlab.kitware.com/paraview/catalyst/-/tags
local_Silo_version =         '4.11.1'        # https://github.com/LLNL/Silo/releases
local_VisRTX_version =       '0.9.0'         # https://github.com/NVIDIA/VisRTX/releases
local_zfp_version =          '1.0.1'         # https://github.com/LLNL/zfp/releases


name = 'ParaView'
version = local_ParaView_version

homepage = 'https://www.paraview.org/'

whatis = ['Description: ParaView is a open source post-processing visualization engine.']

description = """
ParaView is a scientific parallel visualizer. The core features of ParaView are:

  - Displaying Data: You can create different views to visualize data
    simultaneously and easily identify corresponding data elements. These views
    can also be customized (e.g. creating C++ plugins to add new types of
    views).

  - Filtering Data: Querying Data Besides selecting data in various views
    interactively, ParaView provides a way to inspect the data by querying for
    elements that satisfy certain criteria. The UI makes it easy to build simple
    queries to find matching elements. Complex queries are also possible using a
    Python-based syntax.

  - Animations: When a file with multiple timesteps is opened, ParaView
    automatically sets up an animation. You can use the “Animation View” to set
    up complex animations involving changes to parameters of filters or sources,
    and you can move the camera to orbit around the dataset, along an arbitrary
    path, or follow data as it moves over time. Generated animations can be
    exported in common video formats (e.g. AVI, OGG, etc.) or as a series of PNG
    or JPEG image files.

  - Exporting Scenes: You can export rendered scenes from ParaView in formats
    used by 3D rendering tools (e.g. VRML, X3D, and GEO). They can then be
    imported into other rendering tools or saved as a self-contained HTML page
    that uses WebGL to do the rendering in a Web browser.
"""

toolchain = {'name': 'cpeGNU', 'version': '24.03'}

local_download_suffix = 'download.php?submit=Download&version=v%(version_major_minor)s&type=source&os=all&downloadFile='

source_urls = ['https://www.paraview.org/paraview-downloads/%s' % local_download_suffix]
sources = ["%(name)s-v%(version)s.tar.gz"]
#checksums = ['2225de08ec3cb7ccf06519f7b7d488ba6cd1691a4d26608b003b077539d5ba16']

builddependencies = [
    ('buildtools',        '%(toolchain_version)s', '', True),
    ('craype-accel-host', EXTERNAL_MODULE),
]

dependencies = [
    ('cray-hdf5-parallel',       EXTERNAL_MODULE),
    ('cray-netcdf-hdf5parallel', EXTERNAL_MODULE),
    ('cray-parallel-netcdf',     EXTERNAL_MODULE),
    ('cray-python',              EXTERNAL_MODULE),
    ('Eigen',                    local_Eigen_version, '', True),
    ('CUDA',                     local_CUDA_version,  '', True),
    ('X11',                      '%(toolchain_version)s'),
    ('OpenGL',                   '%(toolchain_version)s'),
    ('Boost',                    local_Boost_version),
    ('bzip2',                    local_bzip2_version),
    ('FFmpeg',                   local_FFmpeg_version),
    ('libpng',                   local_libpng_version),
    ('expat',                    local_expat_version),
    ('freetype',                 local_freetype_version),
    ('libjpeg-turbo',            local_libjpegturbo_version),
    ('libxml2',                  local_libxml2_version),
    ('LibTIFF',                  local_libtiff_version),
    ('zlib',                     local_zlib_version),
    ('nlohmann-json',            local_nlohmannjson_version),
    ('double-conversion',        local_double_conv_version),
    ('zfp',                      local_zfp_version),
    ('ADIOS2',                   local_ADIOS2_version,               '-hdf5-parallel'),
    ('Silo',                     local_Silo_version),
    ('Conduit',                  local_Conduit_version),
    ('Catalyst',                 local_Catalyst_version),
    ('oneTBB',                   local_oneTBB_version),
    ('IntelRenderingToolkit',    local_IntelRenderingToolkit_version),
    ('VisRTX',                   local_VisRTX_version),
    ('Qt5',                      local_Qt5_version),
]

preconfigopts = ' && '.join([
    'module unload cray-libsci rocm',
    'export __EGL_VENDOR_LIBRARY_FILENAMES=${EBROOTOPENGL}/share/glvnd/egl_vendor.d/50_mesa.json',
]) + ' && '

prebuildopts = preconfigopts

# Workaround for HDF5 detection failure in VTK-m
preconfigopts += 'sed -i "s/ COMPONENTS HL//" %(builddir)s/ParaView-v%(version)s/VTK/ThirdParty/vtkm/vtkvtkm/vtk-m/CMakeLists.txt && '

configopts = ' '.join([
    '-D CMAKE_CXX_STANDARD=11',
    '-D CMAKE_INSTALL_RPATH="${CRAY_PYTHON_PREFIX}/lib"',
    '-D CMAKE_CUDA_ARCHITECTURES=80',
    '-D CMAKE_CUDA_FLAGS="-I${CRAY_MPICH_PREFIX}/include"',
    '-D PARAVIEW_BUILD_LEGACY_SILENT=ON',
    '-D PARAVIEW_BUILD_EDITION=CANONICAL',
    '-D PARAVIEW_BUILD_WITH_KITS=OFF',
    '-D PARAVIEW_USE_QT=ON',
    '-D PARAVIEW_ENABLE_WEB=ON',
    '-D PARAVIEW_USE_MPI=ON',
    '-D PARAVIEW_USE_CUDA=ON',
    '-D PARAVIEW_USE_PYTHON=ON',
    '-D PARAVIEW_USE_VTKM=ON',
    '-D PARAVIEW_ENABLE_XDMF3=ON',
    '-D PARAVIEW_ENABLE_ADIOS2=ON',
    '-D PARAVIEW_ENABLE_RAYTRACING=ON',
    '-D PARAVIEW_ENABLE_FFMPEG=ON',
    '-D PARAVIEW_PLUGIN_ENABLE_pvNVIDIAIndeX=YES',
    '-D PARAVIEW_INSTALL_DEVELOPMENT_FILES=ON',
    '-D PARAVIEW_BUILD_DEVELOPER_DOCUMENTATION=OFF',
    '-D PARAVIEW_ENABLE_EXAMPLES=OFF',
    '-D PARAVIEW_BUILD_TESTING=OFF',
    '-D PARAVIEW_BUILD_VTK_TESTING=OFF',
    '-D PARAVIEW_ENABLE_VISITBRIDGE=ON',
    '-D PARAVIEW_ENABLE_CATALYST=ON',
    '-D OPENGL_INCLUDE_DIR=${EBROOTOPENGL}/include',
    '-D OPENGL_GLX_INCLUDE_DIR=${EBROOTOPENGL}/include',
    '-D OPENGL_EGL_INCLUDE_DIR=${EBROOTOPENGL}/include',
    '-D OPENGL_opengl_LIBRARY=${EBROOTOPENGL}/lib/libOpenGL.so.0',
    '-D OPENGL_gl_LIBRARY=${EBROOTOPENGL}/lib/libGL.so',
    '-D OPENGL_glx_LIBRARY=${EBROOTOPENGL}/lib/libGLX.so.0',
    '-D OPENGL_glu_LIBRARY=${EBROOTOPENGL}/lib/libGLU.so',
    '-D OPENGL_egl_LIBRARY=${EBROOTOPENGL}/lib/libEGL.so.1',
    '-D OpenGL_GL_PREFERENCE=GLVND',
    '-D VTK_PYTHON_VERSION=3',
    '-D VTK_NO_PYTHON_THREADS=OFF',
    '-D VTK_PYTHON_FULL_THREADSAFE=OFF',
    '-D VTK_SMP_IMPLEMENTATION_TYPE=OpenMP',
    '-D VTK_MAX_THREADS=128',
    '-D VTK_USE_64BIT_IDS=ON',
    '-D VTK_REPORT_OPENGL_ERRORS_IN_RELEASE_BUILDS=OFF',
    '-D VTK_OPENGL_HAS_EGL=ON',
    '-D VTK_OPENGL_HAS_OSMESA=OFF',
    '-D VTK_USE_X=ON',
    '-D VTK_DEFAULT_EGL_DEVICE_INDEX=0',
    '-D VTK_ENABLE_OSPRAY=ON',
    '-D VTKOSPRAY_ENABLE_DENOISER=ON',
    '-D VTK_MODULE_ENABLE_VTK_IOFFMPEG=YES',
    '-D VTK_MODULE_ENABLE_VTK_IOVideo=YES',
    '-D VTK_MODULE_ENABLE_VTK_DICOMParser=YES',
    '-D VTK_MODULE_ENABLE_VTK_FiltersReebGraph=YES',
    '-D VTK_MODULE_ENABLE_VTK_FiltersSMP=YES',
    '-D VTK_MODULE_ENABLE_VTK_FiltersSelection=YES',
    '-D VTK_MODULE_ENABLE_VTK_FiltersTopology=YES',
    '-D VTK_MODULE_ENABLE_VTK_FiltersTexture=YES',
    '-D VTK_MODULE_ENABLE_VTK_AcceleratorsVTKmCore=YES',
    '-D VTK_MODULE_ENABLE_VTK_AcceleratorsVTKmDataModel=YES',
    '-D VTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters=YES',
    '-D VTK_MODULE_ENABLE_VTK_RenderingAnari=YES',
    '-D VTK_MODULE_ENABLE_ParaView_InSitu=YES',
    '-D VTK_MODULE_ENABLE_ParaView_PVWebPython=YES',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_expat=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_freetype=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_mpi4py=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_png=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_tiff=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_zlib=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_eigen=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_nlohmannjson=ON',
    '-D VTK_MODULE_USE_EXTERNAL_VTK_glew=ON',
    '-D VTK_MODULE_ENABLE_ParaView_IOVisItBridge=YES',
    '-D VTKm_Vectorization=AVX2',
    '-D VTKm_ENABLE_CUDA=ON',
    '-D VTKm_ENABLE_OPENMP=ON',
    '-D VTKm_ENABLE_MPI=ON',
    '-D VTKm_ENABLE_HDF5_IO=ON',
    '-D XDMF_BUILD_MPI=ON',
    '-D XDMF_USE_BZIP2=ON',
    '-D XDMF_USE_GZIP=ON',
    '-D VISIT_BUILD_READER_Silo=ON',
])

postinstallcmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cd ../%(name)s-v%(version)s && cp CONTRIBUTING.md Copyright.txt README.md %(installdir)s/share/licenses/%(name)s',   
]

sanity_check_paths = {
    'files': ['bin/pvserver', 'bin/pvpython'],
    'dirs':  ['include/paraview-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'],
}

sanity_check_commands = ['python -c "import paraview"']

modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}

moduleclass = 'vis'

[ParaView] [package list]