Hey guys,
On May 23, 2007, at 10:58 AM, Jonathan Guyer wrote:
On May 23, 2007, at 10:43 AM, Daniel Wheeler wrote:
I hope this is not necessary. After a quick search, there seem to
be a number of wrappers out there.
<http://trilinos.sandia.gov/packages/pytrilinos/> - version
2.3.0 seems to have some python bindings, this may build a petsc
version of python
which we don't really want. We really want
to say "import petsc" and "petsc.solve(myMatrix)" if at all
possible.
We may not need to worry about that. <http://trilinos.sandia.gov/
packages/pytrilinos/overview.html> says (most of this is gibberish
to me, but I've emphasized the last sentence):
Parallelism. PyTrilinos also supports MPI. If Trilinos is built
with MPI support enabled, PyTrilinos will support MPI as well. Most
of the Trilinos parallelism support is encapsulated in the
Epetra_Comm class and its derivatives, which means PyTrilinos
parallelism is encapsulated in the Epetra.Comm class and its
derivatives. When the Epetra module is imported, it automatically
calls MPI_Init() and registers MPI_Finalize() with the python
atexit module.
*** Scripts can be executed using a standard python interpreter,
called via the standard mpirun command. ***
Now, that may mean that we would always have to invoke mpirun in
order to use Trilinos, even if we're only using one CPU, but it
seems to mean that we would *not* have to recompile Python or our
other libraries.
It would be very strange to demand to use mpirun to run in a single
processor. In C and other Python implemetations, if you do not use
mpirun when you run your application the program runs as a single
processor machine (if the program is well written, of course).
I am unable to see the point of using PETSc, when there are other
libraries that do the same thing (and with a much cleaner and clearer
API). If you simply want the solvers, why not use Roldan Pozos'
templated Krylov solvers?
http://math.nist.gov/iml++/
They are a very elegant set of libraries.
Cheers,
Edwin