On Thu, Jun 4, 2009 at 11:08 PM, Barry Smith<bsmith at mcs.anl.gov> wrote:
>
> ? I agree with Matt here. If we decomposed in then the initial
> initialization would setup certain things and the next initialize (depending
> on options) would have to decompose the exact same things before setting
> another way.
>
> ? Lisandro,
>
> ? ? ?I do not understand from below what problem you have with them being
> together and what advantage you get from them being apart.
>

Python users not able to do:

from petsc4py import PETSc
PETSc.setUp(sys.argv) # optional !!

One thing that mpi4py and petsc4py do is automatically manage
initialization/finalization. It is just ugly in such a dynamic
language to have to call "Init()"  (and perhaps test for
"IsInitialized()" ?) before doing anything.

In short, I really do not like the idea of a LIBRARY depending on
command line arguments for working. In my (probably naive and
misleading) view, command line arguments are for PROGRAMS, not for
LIBRARIES.

MPI-1 made that mistake long time ago, I still have to explain to some
(hopefully few) users still running MPICH1 that they have to use a
special Python binary to run in parallel. The situation with PETSc is
not better. Of course, I could manage to somewhat mitigate this issue.
 Please try to remember, you in the past complained about the way
petsc4py's extension modules were installed and loaded. In part, such
implementation is for being able to select at runtime different PETSc
builds (e.g. debug vs. optimized), but other part is having some way
of passing command line arguments to the Python extension module
before the call to PetscInitialize().

Fixing this in PETSc is far from trivial, and even perhaps it could
not be done or it is not worth it. But I would like to know if all you
acknowledge the issue: some parts of PETSc initialization rely on
command line, files, and environ vars; and there is no way to
optionally and programaticaly control them.

---

-- 
Lisandro Dalc?n
---------------
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594

Reply via email to