Configuring Trilinos for an external build of Sundance

Here we explain how to configure Trilinos for Sundance. The hard part is knowing the appropriate arguments for configure. If you are running on Linux, the easiest solution is to copy one of my Canned Scripts that call configure.

Do I need PyTrilinos?

PyTrilinos is not required by PySundance. There is probably no harm in building PyTrilinos, but it is not used by PySundance.

Optimized vs Debug Configurations

Most compilers let you control the level of compile-time optimization used and whether to produce annotations required by debuggers. Other compilation options you might want to set control the level of warning and diagnostic output to be produced during compile time. Such options can be passed to the compiler by using the CXXFLAGS argument to configure.

One optional Trilinos configuration flag significantly impacts the behavior of Sundance:

Typically, I find that Sundance simulators compiled with optimization are about 3-5 times faster in matrix assembly than those compiled with debugging and array bounds checking.

It is possible to turn on debugging and optimization simultaneously, but (a) compilation will be very slow and very memory-intensive, and (b) the resulting debugging information might be useless because optimizations can change sometimes the effective ordering of source lines.

Canned Scripts

In the directory Sundance/trilinos-scripts there are several scripts for configuring Trilinos for Sundance on Linux using the Gnu compilers. You should be able to use these as a starting point for configuring on other platforms.

Trilinos packages to enable

If you are writing your own configuration script for Trilinos, you should always enable the following packages:

Site Contact