General
-
What is Trilinos?
-
What's significant about the name 'Trilinos'?
-
What platforms does Trilinos run on?
-
Can I make my project a Trilinos package?
-
Can I get involved in the development of Trilinos?
-
Who should I contact if I have more questions?
Building Trilinos
-
I attempted to fix an error that is occurring, but it seems like
the fix had no effect at all. What might be happening?
-
I want to link my code to a Trilinos library. Is there an easy way
to do this?
-
I downloaded the Trilinos tarball on my MAC running OSX and used
DropZip to untar the tarball. I have had no luck building Trilinos.
What is wrong?
-
How can I speed up the configure and build prccesses?
-
Why can't I compile Trilinos Python wrappers using the "-ansi
-pedantic" options?
-
When compiling Trilinos in parallel using an MPI-2 standard-compliant
library, I get the following compile-time errors:
/opt/mpich2-gcc/include/mpicxx.h:26:2: #error "SEEK_SET is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:30:2: #error "SEEK_CUR is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:35:2: #error "SEEK_END is #defined but must not be for the C++ binding of MPI"
-
Debian/Ubuntu packaging of Trilinos
General
What is Trilinos?
Trilinos is an effort to develop algorithms and enabling technologies within an object-oriented software framework for the solution of large-scale, complex multi-physics engineering and scientific problems. A unique design feature of Trilinos is its focus on packages. Top
Trilinos is an effort to develop algorithms and enabling technologies within an object-oriented software framework for the solution of large-scale, complex multi-physics engineering and scientific problems. A unique design feature of Trilinos is its focus on packages. Top
What's significant about the name 'Trilinos'?
Trilinos is a Greek term which, loosely translated, means "a string of pearls." More literally translated, it refers to a string of three pearls--Trilinos started out with three packages, but has since expanded to include many more. Each Trilinos package is intended to be a "pearl" in its own right, but is even more valuable when combined with the other packages. Top
Trilinos is a Greek term which, loosely translated, means "a string of pearls." More literally translated, it refers to a string of three pearls--Trilinos started out with three packages, but has since expanded to include many more. Each Trilinos package is intended to be a "pearl" in its own right, but is even more valuable when combined with the other packages. Top
What platforms does Trilinos run on?
Trilinos runs on a wide variety of platforms, including Linux, MAC OS X, Windows, SGI64, DEC, and Solaris. Top
Trilinos runs on a wide variety of platforms, including Linux, MAC OS X, Windows, SGI64, DEC, and Solaris. Top
Can I make my project a Trilinos package?
Indeed. Trilinos has an open architecture that facilitates easy incorporation of new packages. Trilinos also provides a number of useful services to package developers. For more information on integrating your work into Trilinos, contact Mike Heroux. Top
Indeed. Trilinos has an open architecture that facilitates easy incorporation of new packages. Trilinos also provides a number of useful services to package developers. For more information on integrating your work into Trilinos, contact Mike Heroux. Top
Can I get involved in the development of Trilinos?
The need for more help with Trilinos projects varies and depends on the current needs of each package. To find out about opportunities to contribute, contact Mike Heroux. Top
The need for more help with Trilinos projects varies and depends on the current needs of each package. To find out about opportunities to contribute, contact Mike Heroux. Top
Who should I contact if I have more questions?
Questions not answered by the information provided on the website should be directed to the appropriate package lead developer (see the Contact page) or, if not package-specific, to Mike Heroux, the Trilinos project leader. Top
Questions not answered by the information provided on the website should be directed to the appropriate package lead developer (see the Contact page) or, if not package-specific, to Mike Heroux, the Trilinos project leader. Top
Building Trilinos
I attempted to fix an error that is occurring, but it seems like
the fix had no effect at all. What might be happening?
Several things could be happening. The first thing to try is to remove the CMakeCache.txt file and redo the configure process.
When using a do-configure script, make sure that line continuation characters (\) are used properly. The characters should be at the end of every line, except the last line, and should not be followed by any spaces.
Keep in mind that CMake cannot detect spelling mistakes.
Top
Several things could be happening. The first thing to try is to remove the CMakeCache.txt file and redo the configure process.
When using a do-configure script, make sure that line continuation characters (\) are used properly. The characters should be at the end of every line, except the last line, and should not be followed by any spaces.
Keep in mind that CMake cannot detect spelling mistakes.
Top
I want to link my code to a Trilinos library. Is there an easy way
to do this?
For a software project that uses CMake, use the FIND_PACKAGE(Trilinos) capability.
A robust solution for projects that do not use CMake is not currently available.
Top
For a software project that uses CMake, use the FIND_PACKAGE(Trilinos) capability.
A robust solution for projects that do not use CMake is not currently available.
Top
I downloaded the Trilinos tarball on my MAC running OSX and used
DropZip to untar the tarball. I have had no luck building Trilinos.
What is wrong?
The build process will fail on OSX if "DropZip" is used to unzip the Trilinos tarball. This utility truncates long file names.
Top
The build process will fail on OSX if "DropZip" is used to unzip the Trilinos tarball. This utility truncates long file names.
Top
How can I speed up the configure and build prccesses?
Keep in mind that Trilinos is a large piece of software and that building all of the libraries that are a part of Trilinos will take some time. That having been said, here are two suggestions for speeding up the configure and build processes:
Keep in mind that Trilinos is a large piece of software and that building all of the libraries that are a part of Trilinos will take some time. That having been said, here are two suggestions for speeding up the configure and build processes:
- Only build the Trilinos libraries that are necessary.
Packages that explicitly enabled packages depend on will be turned on automatically, so it is not necessary to use the Trilinos_ENABLE_ALL_PACKAGES option. If a package configures and builds that was not enabled explicitly, keep in mind that a package that was enabled probably depends on this package.
- Decrease build time on some machines by creating multiple
jobs.
If -j (jobs) is a valid option for make, specifying the -j option with a value of two times the number of processors that the machine has will typically result in a faster build process. For example, on a dual processor machine, try replacing make with make -j 4 during the build step.
On a single processor machine, the speedup is minimal; on a machine with multiple processors, the speedup can be quite significant. For example, speedups of 1.73 and 2.45 were observed on a dual processor machine and a four processor machine, respectively. Using two times the number of processors for the argument to the jobs option is only a suggestion based on observed performance; those who are interested in achieving optimal performance are encouraged to experiment with various values and to report their findings to trilinos-help@software.sandia.gov. The -j can also be passed without a corresponding value, in other words make -j. When used in this way, the number of jobs created is unlimited. For machines with a large number of processors this appears to work in some situations, but this can easily spawn too many processes and cause severe slowdowns, so it is not recommended.
Why can't I compile Trilinos Python wrappers using the "-ansi
-pedantic" options?
Since python supports arbitrary precision integers, you cannot compile code (such as Trilinos wrappers) that #include "Python.h" using the "-ansi -pedantic" options (technically, it may only be one of the two options that is the culprit).
Top
Since python supports arbitrary precision integers, you cannot compile code (such as Trilinos wrappers) that #include "Python.h" using the "-ansi -pedantic" options (technically, it may only be one of the two options that is the culprit).
Top
When compiling Trilinos in parallel using an MPI-2 standard-compliant
library, I get the following compile-time errors:
/opt/mpich2-gcc/include/mpicxx.h:26:2: #error "SEEK_SET is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:30:2: #error "SEEK_CUR is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:35:2: #error "SEEK_END is #defined but must not be for the C++ binding of MPI"
There is a problem with the MPI-2 standard where both stdio.h and the MPI C++ interface define SEEK_SET, SEEK_CUR, and SEEK_END. To remedy this issue for the MPICH2 library
-DMPICH_IGNORE_CXX_SEEK
needs to be included in the CPPFLAGS that Trilinos is compiled with. This will cause the MPI versions of SEEK_[SET,CUR,END] to be skipped.
Reference: MPICH2 User's Guide, Version 1.0.1b, Argonne National Laboratory, June 10, 2005, p.5
Top
/opt/mpich2-gcc/include/mpicxx.h:26:2: #error "SEEK_SET is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:30:2: #error "SEEK_CUR is #defined but must not be for the C++ binding of MPI"
/opt/mpich2-gcc/include/mpicxx.h:35:2: #error "SEEK_END is #defined but must not be for the C++ binding of MPI"
There is a problem with the MPI-2 standard where both stdio.h and the MPI C++ interface define SEEK_SET, SEEK_CUR, and SEEK_END. To remedy this issue for the MPICH2 library
-DMPICH_IGNORE_CXX_SEEK
needs to be included in the CPPFLAGS that Trilinos is compiled with. This will cause the MPI versions of SEEK_[SET,CUR,END] to be skipped.
Reference: MPICH2 User's Guide, Version 1.0.1b, Argonne National Laboratory, June 10, 2005, p.5
Top



