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