Building VisIt on JUQUEEN
In addition to the normal build_visit script, a special build script for JUQUEEN, called build_visit_BGQ, ist needed. To build VisIt one has to execute this script. build_visit_BGQ in turn calls the build_visit script with a special set of parameters to generate a static version of the libsim and other components which are necessary for a static linking to your simulation code.
VisIt versions tested for BlueGene/G:
- 2.9.2 (build successfull)
- 2.10.0 (build FAILS, if HDF5 included: bugreport)
- 2.10.1 (build successfull)
1) download scripts
Before one can execute the build_visit_BGQ (and thereby build_visit) script, a couple of helper-scripts are also needed. These helper-scripts are contained in the svn_bin/bv_support folder of the visit source-tree. The two original build scripts and the bv_support folder can be downloaded as follows (for VisIt version 2.10.1):
2) patch scripts
As of Version 2.9.2 the original build_visit_BQG and build_visit scripts where not able to compile VisIt on the JUQUEEN installation at JSC correctly.
We have made changes to the scripts, e.g. build_visit_BGQ was not able to handle multiple compiler arguments and the build_visit script generated a wrong host-configuration file.
For VisIt 2.9.2 and 2.10.1 we fix these issues and now have corrected versions of the script build_visit_BGQ which should be used on the JUQUEEN at JSC:
patch build_visit_BGQ
compare build_visit_BGQ with the following one and apply changes
(changes have been reported as bugreport)
patch build_visit helper function
In bv_support/helper_funcs.sh you will find a section with the following code
(if you have downloaded the build_visit including all functions of bv_support it is in build_visit directly)
Here the paths for MPI are set. You probably have to change them. Make sure they point to the correct directories.
For the current (15.10.2015) setup on JUQUEEN mpi.h can only be found if the paths include "${BLUEGENEQ}/spi/include".
patch LaunchService.C (FIXED in 2.10.1)
LaunchService.C as to check for command line argument "-socket-bridge-host" and use the hostname provided instead of calling gethostname(). This is essential to make VisIt run on the JUQUEEN. But this file cannot be patched right away, as you have to wait for the build_script to download and extract the VisIt sources before. Best is to run the complete build procedure and than patch LaunchService.C and rerun the build procedure again (it will skip a lot of steps).
LaunchService.C is located in
- builds_static/src/common/comm/
- builds_static_BGQ/src/common/comm/
Here you find the patched file LaunchService.C for VisIt 2.9.2.
Check the difference and adopt it to your version of VisIt (bugreport).
patch visitfortransimV2interface.c (FIXED in 2.10.1)
Replace line 427 in function visitgetenv() (bugreport).
sz = (len < *lenv) ? (sz - 1) : (*lenv - 1);
with
sz = (len < *lenv) ? (len) : (sz - 1);
3) add extras
If you want visit to build additional I/O packages, e.g. boost, netcdf, hdf5, ..., needed by several VisIt-readers (databases), you have to edit line 39 in the build_visit_BGQ script, e.g.
If you omit this line, visit tries to find system wide installations of the packages. But be aware that, in this case, several databases maybe cannot be build if the corresponding packages are not found.
4) compile VisIt
The build_visit_BGQ script may be invoked e.g. with the following arguments:
if you do not want to change settings make in build_visit_BGQ, or
If you want to instrument VisIt with Score-P/Scalasca load the following modules
and set the following compiler in build_visit_BGQ:
and comment the following lines in builds_static_BGQ/src/CMakeLists.txt after it is downloaded and extracted:
The build sequence is as follows:
- first, the compute-node version of VisIt is build in the directory builds_static_BGQ,
- than the login-node version is build in the directory builds_static
In the build process the following third party packages are installed in the directory thirdparty_static:
- mesa
- zlib, szip
- cmake
- python (including python image library (PIL), pyparsing, seedme-python)
- vtk
- icet
- I/O-Libs: boost, hdf5, netcdf, silo
5) install VisIt
After the build process has successfully finished, VisIt is installed in the directory linux-ppc64-BGQ.
The static libs required for code running on the compute nodes should now be collected in $LIBSIM_INST by the build_visit_BGQ script.
This way all static VisIt libs your BGQ application needs for linking are in one common directory ($LIBSIM_INST).
If build_visit_BGQ has not copied the additional libs, do it manually:
install VisIt at <INSTALL_DIR_PATH>
VisIt for BlueGene/Q is now installed in linux-ppc64-BGQ - just copy it to the destination path:
- eg. cp -a linux-ppc64-BGQ/* /home/VisIt/
But LibsimV2 is compiled as a static library on JUQUEEN and has dependencies to multiple other libraries.
Hence, linking libsimV2 to a simulation results in a long link line. more...
We also need the static libs of VTK,IceT and MESA for BlueGene/Q:
Now the install path should look like this. Everything above the <VERSION> directory is version independent and backwards compatible. Hence, you can replace it with every new version copied to the <INSTALL_DIR_PATH>.
install VisIt on JUQUEEN
On JUQUEEN VisIt is installed in two separate directories.
One is for VisIt compiled for the login node and located at /usr/local/visit
and one is for VisIt libs compiled for the compute node and located at /bgsys/local/visit.
Login Node:
Compute Node:
Create new Module Files:
5) additional infos
launch process
Make sure you understand the launch procedure of VisIt by its python scripts:
- bin/visit -> bin/frontendlauncher
- bin/fontendlauncher
- makes sure Python settings are made
- load frontendlauncher.py using VisIt's python interpreter
- bin/frontendlauncher.py
- determine the VisIt version to run
- create Launcher object from python-file 'internallauncher' (eg. 2.10.1/bin/internallauncher)
or python file 'customlauncher' (if available)
- <VERSION>/bin/internallauncher
- run python-file internallauncher with launcher object
any feedback welcomed - h.zilken@…, j.goebbert@…
Attachments (3)
- LaunchService_socket-bridge-host.C (15.6 KB ) - added by 9 years ago.
- build_visit_BGQ_2.10.1 (39.2 KB ) - added by 8 years ago.
- build_visit_BGQ_2.9.2 (38.7 KB ) - added by 8 years ago.
Download all attachments as: .zip