NERSCPowering Scientific Discovery Since 1974


Description and Overview

Trilinos is a Cray-provided package that provides abstract, object-oriented interfaces to established libraries such as Metis/ParMetis, SuperLU, Aztec, BLAS, and LAPACK.  The Trilinos Project is an ongoing effort to develop and implement robust algorithms and enabling technologies using modern object-oriented software design. Trilinos emphasizes abstract interfaces for maximum component interchangeability and provides a full-featured set of concrete classes that implement all abstract interfaces.  Each Trilinos package is a self-contained and independently developed piece of software.

Using Trilinos on Cray System

The Trilinos module is dependent on certain other Cray software, so after you load its modulefile, you may notice other modulefiles have loaded, too.

Then to use the Trilinos packages, load its module:

module load cray-trilinos

After you load the Trilinos module, all header and library locations are set automatically and you are ready to compile your code. No Trilinos-specific linking information is required on the command line. This should be true for all compiler environments available on Cray systems, provided, of course, that you use the Cray compiler wrappers (ftn, cc, and CC). If you link to more than one Trilinos package, the libraries should be linked automatically in the correct order of package dependency.  See the documentation (below) for more information on this.

Here are two example Trilinos programs you can try.  Compile them simply using CC lesson01_mpi.cpp or CC Linear_Solver_Ifpack.cpp.

Note: when using auto-configure, you may need to remove the Trilinos export configuration files, since everything happens hidden in the compiler/linker wrapper.


On the Cray systems, after you have loaded the Trilinos modulefile, you can use man trilinos to get some basic information.  More info is available in Cray's Programming Environment User's Guide.  The base document number for this is S–2396.  Cray documents are generally of the form S-xxxx-nn, where nn relates to the release.  The June, 2010 release of the Programming Environment User's Guide is S–2396–50.

The Trilinos Project:

Trilinos Documentation:

For more information about link order, see

For questions about using Trilinos at NERSC contact the consultants,


PackagePlatformCategoryVersionModuleInstall DateDate Made Default
Trilinos edison applications/ programming cray-trilinos/ 2014-04-25