ParaView/VRPN with MS-MPI

From KitwarePublic
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

ParaView with MS-MPI and VRPN

  • Download and install the following support packages:
    • MS Visual C++ 2017 Express Edition:
    • MS-MPI 2008
    • Git for Windows:
    • CMake (v3.12.0):
    • Qt 5.9 (msvc2015_64)
    • Python 2.7.3, x64
    • Ninja build system.
      • You can download the exe, or build from source
      • Exe: https://github.com/ninja-build/ninja/releases
      • Build from Source
        • Install MSVC++ (link above)
        • Download and install Python 2.7 (link above)
        • Download and install Git for Windows (link above)
        • Open “Git Bash” and run the following to checkout ninja’s source code:
        • Open “Visual Studio 2017 Command Prompt (x64)” from the start menu and run the following:
          • cd \src\ninja
          • C:\Python27\python.exe bootstrap.py
          • (if this doesn't work, try C:\Python27\python.exe configure.py --bootstrap)
          • This should generate ninja.exe
          • The note about Windows file locking can be safely ignored.
      • Add C:\src\ninja to the system PATH:
        • Open Start menu
        • Right click on “My Computer”, select “Properties”
        • “Advanced System Settings”
        • “Environment Variables”
        • Select “Path” in “System variables”
        • Add “;C:\src\ninja” to the variable value string.
        • Close and reopen any open command prompts for this to take effect.
    • VRPN
        • In Git Bash, do:
        • Then in the MSVC 2017 (x64) command prompt, do
          • cd \src\vrpn
          • cmake-gui .
            • Note: CMake must be launched from the MSVC shell for cmake to detect the compilers correctly.
        • In the CMake GUI:
          • Set source dir to C:/src/vrpn
          • Set binary dir to C:/src/vrpn-bin
          • Click “Configure”, use ninja and default compiler
          • Make to set the CMAKE_BUILD_TYPE appropriately (Release)
          • “Configure” again if needed, then “Generate”. You can close CMake GUI after it is done generating
        • In the MSVC 2017 (x64) command prompt, do
          • cd \src\vrpn-bin
          • ninja
        • If any errors about python27_d.lib appear, re-run cmake-gui, check the “advanced” option, filter to variables containing “python”, and uncheck all python variables. configure, generate, and build again.
  • Checkout ParaView source code
  • Configure ParaView
    • Run “cmake-gui” from a (MSVC 2017 x64) command prompt
    • Click “Browse source”, select “C:/src/ParaView”
    • Click “Browse build”, create and select “C:/src/ParaView-build”
    • Click “Configure”
      • Use the “Ninja” generator
      • Use the default compilers
    • Make sure it finds your Qt5
      • C:\Qt\5.9\msvc2015_64\lib\cmake\Qt5
    • Check the “Advanced” box and set the following options:
PARAVIEW_ENABLE_PYTHON True
PARAVIEW_USE_MPI True
PARAVIEW_BUILD_QT_GUI True
PARAVIEW_BUILD_PLUGIN_VRPlugin True
VTK_Python_VERSION 2.7
    • Click “Configure” again. The MPI_* and VR options should now appear. Any *MPI* variables that are not listed below can be left blank. Set the following:
MPI_C_INCLUDE_PATH C:/Program Files/Microsoft HPC Pack 2008 R2/Inc
MPI_CXX_INCLUDE_PATH C:/Program Files/Microsoft HPC Pack 2008 R2/Inc
MPIEXEC C:/Program Files/Microsoft HPC Pack 2008 R2/Bin/mpiexec.exe
VTK_MPIRUN_EXE C:/Program Files/Microsoft HPC Pack 2008 R2/Bin/mpiexec.exe
MPI_C_LIBRARIES C:/Program Files/Microsoft HPC Pack 2008 R2/lib/i386/msmpi.lib
MPI_CXX_LIBRARIES C:/Program Files/Microsoft HPC Pack 2008 R2/lib/i386/msmpi.lib
MPI_LIBRARY C:/Program Files/Microsoft HPC Pack 2008 R2/lib/i386/msmpi.lib
PARAVIEW_USE_VRPN True


    • Click “Configure” again. The VRPN options are now available. Set the following options:
VRPN_INCLUDE_DIR C:/src/vrpn-bin/
VRPN_LIBRARY C:/src/vrpn-bin/vrpn.lib;C:/src/vrpn-bin/quat/quatd.lib
    • Click “Configure”
    • Click “Generate”
  • Build ParaView
    • Open Visual Studio Command Prompt x64 2017
    • Enter the following:
      • cd \src\ParaView-build
      • ninja
  • Running ParaView with MS-MPI
    • At this point, you should be able to run ParaView in parallel using the MS mpiexec executable:
"C:\Program Files\Microsoft HPC Pack 2008 R2\Bin\mpiexec.exe" -np 2 C:\src\ParaView-build\bin\pvserver.exe


Distributing the exe

Unfortunately, the super-build does not currently build a Paraview/VRPN/MS-MPI version for distribution. Use this dirty-hack to distribute to other computers on your cluster for rendering.

To run the exe on slave computers for rendering:

  • Install Microsoft Visual C redistributable pack (C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.14.26405\vc_redist_x64.exe) onto each cluster slave
  • Install MS-MPI 2008 onto each computer. http://www.microsoft.com/en-us/download/details.aspx?id=14737
  • Copy the /bin/ folder to each slave computer, at the same location (C:/paraview-build/bin)
  • You can now run pvserver on all slaves/clients
    • Run smpd.exe on all render computers
    • Use mpiexec <relevant args> pvserver.exe <relevant-pvx>.pvx to main computer to run pvserver
    • Run the built Paraview.exe from main computer. Connect to pvserver instance.

To run the exe (with gui) on another computer:

  • Copy all QT dll's into the bin folder (C:\Qt\5.9\msvc2015_64\bin)
  • Copy Python27.dll into bin folder. On Windows7x64, it resides in C:/Windows/System32 (even if you did a 64 bit installation)
  • Copy /bin/ folder to target computer
  • Install Microsoft Visual C redistributable pack (C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.14.26405\vc_redist_x64.exe) from computer that built Paraview.
  • Install MS-MPI 2008
  • Install QT5.9 onto computer
  • Run Paraview.exe