<div dir="ltr"><font class="Apple-style-span" face="arial, helvetica, sans-serif">Hi Lisandro,</font><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">The use case looks something like the following (this won't make sense if you're not viewing in fixed-width):</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace">     PetClaw (Python code with main)</font></div><div>
<font class="Apple-style-span" face="'courier new', monospace">       |</font></div><div><font class="Apple-style-span" face="'courier new', monospace">       |</font></div><div><font class="Apple-style-span" face="'courier new', monospace">x------x--------x</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">|               |</font></div><div><font class="Apple-style-span" face="'courier new', monospace">|               |</font></div><div><font class="Apple-style-span" face="'courier new', monospace">PETSc4Py       F90 kernels (through F2py)</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Python is gluing all three x's, so the main driver is Python, and there is no need to call Python from C.  We are not currently considering any extension modules besides what comes out of the box with PETSc4Py (Numpy)</font></div>
<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">I assume that I will still need all of the underlying libraries to be compiled with PIC enabled.  </font></div>
<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">I don't quite grok the difference between a static archive containing PIC-compiled code and a dynamic library with same.  It might not be too hard to get a PIC-enabled xlc PETSc build, but I will stick to the working gnu build for now.</font></div>
<div><br></div><div>Thanks for your help,</div><div>Aron</div><div><br></div><div><div class="gmail_quote">On Mon, Aug 23, 2010 at 6:18 PM, Lisandro Dalcin <span dir="ltr"><<a href="mailto:dalcinl@gmail.com">dalcinl@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="h5">On 21 August 2010 10:08, Aron Ahmadia <<a href="mailto:aron.ahmadia@kaust.edu.sa">aron.ahmadia@kaust.edu.sa</a>> wrote:<br>

> Hi PETSc developers,<br>
> As you may or may not know, we are planning on building PETSc4Py on our<br>
> BlueGene/P machine here at KAUST as core software for several research<br>
> projects that we are kickstarting this Fall, including a Pythonic<br>
> integration of PETSc into PyCLAW to (initially) manage multiprocessor<br>
> distributed memory domain decompositions using PETSc DA components.  A key<br>
> component of this, of course, is getting PETSc4Py installed on our BGP,<br>
> something I am willing to take a serious effort at, but have not done<br>
> before.  I am working from developer's copies of both PETSc and PETSc4Py in<br>
> anticipation of potential trouble, and I have a few tools here on the<br>
> BlueGene/P side that should simplify automating the installation once I have<br>
> successfully done it once :o)<br>
> I have successfully built PETSc4Py on a Linux workstation, so I am familiar<br>
> with the process.  Of course, everything gets much uglier on a BGP.  To<br>
> start with, the PETSc install file that comes as an example does not build<br>
> shared libraries out of the box.<br>
> Turning this switch on, however, does not appear to have any effect in<br>
> actually getting PETSc to build sharing libraries (or at least tell me why<br>
> it can't).  I took a look through the configure log and couldn't find<br>
> anything that makes sense to me.<br>
> Thanks,<br>
> Aron<br>
><br>
<br>
</div></div>How are you planning to use petsc4py? Are you going to embed Python in<br>
a C/C++ app?  Is he core PETSc library going to be linked to other<br>
extension modules? I ask this because petsc4py do works with static<br>
libraries,  moreover I managed to support static builds of PETSc and<br>
SLEPc/TAO and still get petsc4py and slepc4py/tao4py working fine (it<br>
only works on Linux, and likely on others POSIX systems excluding OS<br>
X). I do not promote this feature because novices usually make a mess<br>
when link Python modules with static libraries.<br>
<font color="#888888"><br>
<br>
--<br>
Lisandro Dalcin<br>
---------------<br>
CIMEC (INTEC/CONICET-UNL)<br>
Predio CONICET-Santa Fe<br>
Colectora RN 168 Km 472, Paraje El Pozo<br>
Tel: +54-342-4511594 (ext 1011)<br>
Tel/Fax: +54-342-4511169<br>
</font></blockquote></div><br></div></div>