[Paraview] Building on Titan using ParaViewSuperbuild

Vanmoer, Mark W mvanmoer at illinois.edu
Fri Aug 30 17:25:47 EDT 2013


Looking more closely, it seems like ParaViewSuperbuild does build catalyst, at least the libs are getting built:

vanmoer at titan-ext3:~/builds/superbuild/cross/paraview/src/paraview-build/lib> ls *Catalyst*
libvtkPVCatalystCS-pv4.0.a         libvtkPVCatalystPython-pv4.0.a         libvtkPVPythonCatalystPython-pv4.0.a
libvtkPVCatalyst-pv4.0.a           libvtkPVPythonCatalyst-pv4.0.a
libvtkPVCatalystPython27D-pv4.0.a  libvtkPVPythonCatalystPythonD-pv4.0.a

I was able to compile by hunting down all the headers, but not link.

I tried adding -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=TRUE to configcross.sh but I get

CMake Warning:
  Manually-specified variables were not used by the project:

    PARAVIEW_INSTALL_DEVELOPMENT_FILES

is this because there's no paraviewsdk.cmake in ParaViewSuperbuild/Projects?


From: David E DeMarle [mailto:dave.demarle at kitware.com]
Sent: Thursday, August 29, 2013 3:08 PM
To: Vanmoer, Mark W
Cc: Hong Yi; paraview at paraview.org
Subject: Re: [Paraview] Building on Titan using ParaViewSuperbuild

On Thu, Aug 29, 2013 at 3:51 PM, Vanmoer, Mark W <mvanmoer at illinois.edu<mailto:mvanmoer at illinois.edu>> wrote:
So coprocessing will not be built using the below instructions? I would have mentioned that, but coprocessing appears to
still be part of a regular, non-cross-compile build, so I figured it was part of ENABLE_paraview

The coprocessing plugin, which adds things to the GUI to make it easy to record coprocessing pipeline setups doesn't need to be turned on since that lives in the client only. (It is like python trace or state recording, but tailored to recording in-situ setups).

Catalyst (the stripped down version of ParaView server that a simulation code can link to and use to run those recorded pipelines quickly) is not yet an option in ParaViewSuperbuild. To cross compile Catalyst a bit more work will be required. It will follow the same plan as how the ParaView server is compiled, but I just haven't tried it. When I did cross compile Catalyst last year at this time I did the same steps that ParaViewSuperbuild's TOOLS and CROSS build passes did, just by hand.
Also, for the below configcross.sh, do we need to pass in a CMake variable telling it where the tools build dir is located?

That should be an option that you can easily set, but it isn't sorry.

 CMake/CrossCompilationMacros.cmake assumes it can find it one directory up and over like so:
macro(find_hosttools)
  set(PARAVIEW_HOSTTOOLS_DIR ${CMAKE_BINARY_DIR}/../tools/paraview/src/paraview-build/ CACHE PATH
    "Location of host built paraview compile tools directory")
  set(PYTHON_HOST_EXE ${CMAKE_BINARY_DIR}/../tools/install/bin/python CACHE PATH
    "Location of host built python executable")
  set(PYTHON_HOST_LIBDIR ${CMAKE_BINARY_DIR}/../tools/install/lib CACHE PATH
    "Location of host built python libraries")
  set(BOOST_HOST_INCLUDEDIR ${CMAKE_BINARY_DIR}/../tools/install/include CACHE PATH
    "Location of host built boost headers")
endmacro()

You could predefine all four of those if you like.

Thanks,
Mark

From: David E DeMarle [mailto:dave.demarle at kitware.com<mailto:dave.demarle at kitware.com>]
Sent: Thursday, August 29, 2013 1:41 PM
To: Hong Yi
Cc: Vanmoer, Mark W; paraview at paraview.org<mailto:paraview at paraview.org>

Subject: Re: [Paraview] Building on Titan using ParaViewSuperbuild

On Thu, Aug 29, 2013 at 2:13 PM, Hong Yi <hongyi at renci.org<mailto:hongyi at renci.org>> wrote:
Hi David,

I just started to try superbuild on Titan also. I don't see you set ENABLE_MPI to be true in your configure script. Could you confirm whether ENABLE_MPI needs to be set to TRUE in order for ParaView to run on Titan in parallel? Since my purpose is to link our

The ENABLE_MPI flag at the Superbuild level is unrelated. It has a purpose only when CROSS_BUILD_STAGE=HOST, that is when making ParaView binary installers for desktops from Superbuild.

You shouldn't turn it on in the TOOLS or CROSS stages. Instead let the CROSS stage use the system installed MPI. It does that by turning PARAVIEW_USE_MPI=ON when it configures the ParaView sub-build. See CMake/crosscompile/xk7_gnu to see where it does that, and to see the other flags it uses.

simulation code (already built statically with CMake on Titan) to ParaView CoProcessing libraries (I am using version 3.98.1) for in-situ visualization on Titan, so in this case, do I have to set ENABLE_paraview to true and do I need to enable OSMesa for ParaView to resort to off-screen rendering for in-situ visualization?

The CROSS stage turns on Python, Mesa and ParaView. Titan's accelerators don't really run X11, so Mesa is the only option for rendering there.

Although I can build ParaView from source on Titan login nodes, I am not able to run it on compute nodes, so I am starting to try superbuild hoping to be able to cross build ParaView libraries to run in-situ visualization on Titan.

I've cross compiled Catalyst itself before on a bluegene. I did it manually before SuperBuild existed. I will see if I can dig up my config scripts. Cross compiling Catalyst should be more or less that same thing as cross compiling ParaView, but a bit faster and easier because their is less code involved.

Thanks,
Hong
________________________________
From: paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org> [paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org>] on behalf of David E DeMarle [dave.demarle at kitware.com<mailto:dave.demarle at kitware.com>]
Sent: Thursday, August 29, 2013 1:21 PM

To: Vanmoer, Mark W
Cc: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: Re: [Paraview] Building on Titan using ParaViewSuperbuild

Your tools build is pointing to the compiler wrapper that you normally would use to make code for the back end.
The tools build should just use plain old local gcc since we only build things at that point that run on the login node.

Try these setup scripts:
I source configtools.sh to set up my environment before I build the compile tools, and configcross.sh before before I cross compile ParaView.

configtools.sh
#use my own cmake, system one is too old
setenv PATH /autofs/na4_proj/csc035/demarle/pvdev/titan/cmake-build/bin:${PATH}
#switch compiler to compile code for front end
module unload PrgEnv-pgi
module load gcc
#configure settings for to build compile tools only
cmake \
  -DCROSS_BUILD_STAGE:STRING=TOOLS -Dcross_target:STRING=xk7_gnu \
  -DCMAKE_BUILD_TYPE:STRING=Release \
  -DBUILD_TESTING:BOOL=FALSE \
  -DParaView_FROM_GIT:BOOL=OFF \
  -DENABLE_paraview:BOOL=TRUE \
  -DENABLE_boost:BOOL=TRUE \
  -DENABLE_python:BOOL=TRUE \
  -DENABLE_portfwd:BOOL=FALSE \
  ../../ParaViewSuperbuild


then make

configcross.sh
#use my own cmake, system one is too old
setenv PATH /autofs/na4_proj/csc035/demarle/pvdev/titan/cmake-build/bin:${PATH}
#switch compiler to compile code for back end
module unload PrgEnv-pgi
module unload gcc
module load PrgEnv-gnu
#not sure why module load wasn't sufficient, but ended up needing to force
#cmake to choose the right compiler
setenv CC /opt/cray/xt-asyncpe/5.17/bin/cc
setenv CXX /opt/cray/xt-asyncpe/5.17/bin/CC
#configure settings to cross compile python, (mesa - implied), and paraview
cmake \
  -DCROSS_BUILD_STAGE:STRING=CROSS -Dcross_target:STRING=xk7_gnu \
  -DCMAKE_BUILD_TYPE:STRING=Release \
  -DBUILD_TESTING:BOOL=TRUE \
  -DParaView_FROM_GIT:BOOL=OFF \
  -DENABLE_paraview:BOOL=TRUE \
  -DENABLE_python:BOOL=TRUE \
  ../../ParaViewSuperbuild

then make again


David E DeMarle
Kitware, Inc.
R&D Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4909<tel:518-881-4909>

On Tue, Aug 27, 2013 at 4:26 PM, Vanmoer, Mark W <mvanmoer at illinois.edu<mailto:mvanmoer at illinois.edu>> wrote:
Hi, I'm trying to follow the advice on building ParaView on Titan using the ParaViewSuperbuild method from an earlier discussion in June.

When I run make in the "TOOLS" directory I get the following error:

[ 66%] Building CXX object Utilities/ProcessXML/CMakeFiles/kwProcessXML.dir/ProcessXML.cxx.o
Linking CXX executable ../../bin/vtkkwProcessXML-pv4.0
/usr/bin/ld: attempted static link of dynamic object `../../lib/libvtkCommonCore-pv4.0.so.1'
collect2: error: ld returned 1 exit status
make[6]: *** [bin/vtkkwProcessXML-pv4.0] Error 1
make[5]: *** [Utilities/ProcessXML/CMakeFiles/kwProcessXML.dir/all] Error 2
make[4]: *** [CMakeFiles/pvCompileTools.dir/rule] Error 2
make[3]: *** [pvCompileTools] Error 2
CMake Error at /ccs/home/vanmoer/builds/superbuild/tools-build/pv-paraview-build.cmake:26 (message):
  Failed!!!


make[2]: *** [paraview/src/paraview-stamp/paraview-build] Error 1

I don't see a BUILD_SHARED that I can toggle. All of the CMAKE_SHARED_LINKER_FLAGS* vars are empty, if those are related.

Any suggestions?

Thanks,
Mark



_______________________________________________
Powered by www.kitware.com<http://www.kitware.com>

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20130830/364c290b/attachment-0001.htm>


More information about the ParaView mailing list