Need help adding a new solver to the petsc library

Xavier Lacoste lacoste at labri.fr
Fri Nov 7 10:07:48 CST 2008


Hello,

I'm still working on adding PaStiX into PETSc.

I managed to pass the configure and "make all test" steps.
(./config/configure.py -with-scotch=1 -download-scotch=ifneeded 
-with-pastix -download-pastix=ifneeded )


Here are the modification I made on petsc-dev version 12911:0e70d56474b2

http://dept-info.labri.fr/~lacoste/petsc/adding_pastix_12911_0e70d56474b2.patch

 - I added PaStiX.py package
 - I modified Scotch.py package to use last version
 - I modified partition/impls/scotch.c so that it compiles (it would not 
work in the current state)
 - I had aij/mpi/pastix/pastix.c file to make an interface to pastix.
 - I tried to use example 19 with pastix, like it is done with mumps but 
pastix solver is not found :

http://dept-info.labri.fr/~lacoste/petsc/error_log

Now, I have to know how to tell petsc it has a new solver implementing 
mpiaij.

How can I do that ?

After that I should be able to test if my implementation of mpiaij 
matrix is working or not.

Thanks,

XL.



Barry Smith a écrit :
>
>    Please send your $PETSC_ARCH/conf/configure.log and 
> $PETSC_ARCH/conf/make.log to petsc-maint at mcs.anl.gov (not to this 
> email address)
> and we'll take a look.  Also send your modified Scotch.py file.
>
>   Thanks
>
>
>    Barry
>
> On Nov 3, 2008, at 10:45 AM, Xavier Lacoste wrote:
>
>> Hello,
>>
>> I want to add the solver PaStiX 
>> (https://gforge.inria.fr/projects/pastix/) to the PETSc library.
>> I Check-outed the last hg version of PETSc and started adding my 
>> PaStiX.py script, based on MUMPS one, in 
>> petsc-dev/config/PETSc/packages/ .
>> I modified first Scotch.py wich wasn't updated because PaStiX needs 
>> Scotch.
>>
>> My problem is that I couldn't succed in configuring PETSCc with 
>> "--with-pastix=1 etc." because i don't know how to say PETSc that 
>> PaStiX needs the "-L/Scotch/dir -lscotch etc."
>>
>> I have the setupDependencies :
>>
>>
>> def setupDependencies(self, framework):
>>   PETSc.package.Package.setupDependencies(self, framework)
>>   self.mpi        = framework.require('config.packages.MPI',self)
>>   self.blasLapack = framework.require('config.packages.BlasLapack',self)
>>   self.scotch     = framework.require('PETSc.packages.Scotch',self)
>>   self.deps       = [self.mpi,self.blasLapack,self.scotch]
>>   return
>>
>> But it didn't helped, the -L/scotchdir/lib is still missing...
>>
>> > Executing: mpicc  -o conftest    -g  conftest.o  
>> -Wl,-rpath,/home/xl/pastix/lib -L/home/xl/pastix/lib -lpastix 
>> -lpthread -lscotch -llapack -lblas *
>> > -L/usr/lib/gcc/i486-linux-gnu/4.3.2 -L/lib -ldl -lgcc_s 
>> -lgfortranbegin -lgfortran -lm -L/usr/lib/gcc/i486-linux-gnu/4.3.2 
>> -L/usr/lib/gcc/i486-linux-gnu
>> > -L/usr/lib/gcc/i486-linux-gnu/4.3.2 -L/usr/lib/gcc/i486-linux-gnu 
>> -L/usr/lib/gcc/i486-linux-gnu/4.3.2 -L/usr/lib/gcc/i486-linux-gnu
>> > -L/usr/lib/gcc/i486-linux-gnu/4.3.2 -L/lib -L/lib -lm 
>> -L/usr/lib/gcc/i486-linux-gnu/4.3.2 
>> -L/usr/lib/gcc/i486-linux-gnu/4.3.2 -L/lib -ldl -lgcc_s -ldl
>> > sh:
>> > Possible ERROR while running linker: /usr/bin/ld: cannot find -lscotch
>>
>> Hope i'm on the good Mailing list for this kind of questions.
>>
>> Thanks
>>
>> XL.
>> PaStiX team, INRIA-Bordeaux-Sud-Ouest, France.
>>
>>
>>
>>
>




More information about the petsc-dev mailing list