Motivation
Combinations of multiple software packages developed by different groups are essential for large-scale computational science, where the capabilities needed for modeling, simulation, and analysis are broader than any single team has resources to address. The often tedious trial-and-error process of obtaining, configuring, and installing any single tool may arguably be manageable. However, from the perspective of an end-user application scientist, handling each tool’s installation idiosyncrasies can easily become overwhelming when dealing with several packages in combination. Worse, such problems are compounded by the need for consistency among packages to be used within the same application in terms of compiler, compiler versions and options, and common third-party packages such as BLAS and HDF5.
xSDK installer
A goal of the xSDK is to simplify the process of working with various xSDK packages in combination. We thus provide an xSDK installer that will, by default, download and install the four initial xSDK numerical libraries (hypre, PETSc,SuperLU_dist, and Trilinos) as well as some commonly needed external packages. Over the longer term, we are working with developers of the Spack package management tool as well.
See details about obtaining and using the xSDK installer.
xSDK installer release 0.1.0
Release date: April 25, 2016
The xSDK installer (version 0.1.0) installs the following versions of xSDK packages:
- hypre: version 2.11.0
- PETSc: version 3.7.0
- SuperLU: version 5.2.0, SuperLU_DIST: version 5.0.0
- Trilinos: version 12.6.2
- Alquimia: version 1.0.0
Users who prefer to work with just one xSDK package rather than several can, of course, bypass the xSDK installer — and instead obtain the package directly from its website and install according to instructions there.
See Platform-specific instructions.
Open source packages installed with xSDK packages
The following open source HPC packages are installed by default with the xSDK (release version 0.1.0):
-
-
-
-
- Boost C++ headers and libraries: version 1.6
- HDF5 low-level parallel IO library: version 1.8.12
- NetCDF high-level parallel IO library: version 4.3.2
- METIS graph partitioner: version 5.1
- ParMETIS parallel graph partitioner: version 4.0.3
- Add the option “–download-ptscotch” to include the parallel Scotch graph partitioner: version 6.03
-
-
-
If Alquimia (an xSDK biogeochemistry package) is installed with the option “–download-alquimia”, then the following package also needs to be installed: PFLOTRAN with the option ” –download-pflotran”, which is used by Alquimia as one of its chemistry engines. These are among the motivating subsurface applications in the IDEAS scientific software productivity project.
Optional advanced packages for subsurface science simulations
In addition to the packages listed above, the following packages are installed with the “–download-ideas” flag:
-
-
-
-
- ASCEM-IO (version 2.2)
- MSTK (version 2.23), this fails with static libraries due to the dependency of Zoltan on ParMetis, which is not captured in the MSTK CMakefiles (reported to developers)
- unittestcpp (version 1.5)
-
-
-
These packages are needed by motivating applications in subsurface science (in particular, Amanzi), which is part of the IDEAS project.