[petsc-dev] [petsc-maint #40976] convert a matrix from CSR format to BCSR format

Satish Balay petsc-maint at mcs.anl.gov
Tue Feb 16 21:04:05 CST 2010


Added note:

we do have --with-blacs=0 --with-hypre=0 etc - so --with-mpi=0 is not
one of a kind option that need eliminating.

We default to --with-mpi=1 --with-blas-lapack=1 [as there are the
basic dependencies for PETSc ], and --with-PACKAGENAME=0 for every
other PACKAGENAME.

The user has to explicitly enable other packages. [either by
--download-PACAKGE or --with-PACKAGE=1 option - if its installed in
standard search PATHs]

--with-x is the funky one thats automatically enabled - if configure
is able to find it.

satish

On Tue, 16 Feb 2010, Satish Balay wrote:

> For one - the interface most users are looking for is
> --with-sequential - or --without-mpi - which '-with-mpi=0'
> represents.. They don't know are care about mpiuni [so download-mpiuni
> is not really better]
> 
> Also mpiuni is not distributed or built separately from petsc
> sources/makefiles - and is akin to --with-sieve=1
> 
> Blas/lapack is not optional - hence no --with-blas-lapack=0 support.
> 
> Satish
> 
> On Tue, 16 Feb 2010, Barry Smith wrote:
> 
> > 
> >    --download-c-blas-lapack puts "bad" Blas/LAPACK into its own  
> > library. There is no --with-blaslapack=0
> > 
> >    Shouldn't  we eliminate -with-mpi=0 and instead have --download- 
> > mpiuni
> > 
> >     Barry
> > 
> >     Removes one more special case, and special cases are BAD! So  
> > obviously it is a good idea, let's see if anyone has a legitimate  
> > reason for rejecting it instead of knee-jerk conservatism.
> > 
> > 
> > 
> > On Feb 16, 2010, at 8:31 PM, Satish Balay wrote:
> > 
> > > This is a conflict with --with-mpi=0 and the curent default
> > > --with-single-library=1
> > >
> > > Ideally we should create libmpiuni.a [and a .so] even with
> > > --with-single-library=1 - but I'm not sure how to do that cleanly. So
> > > my current fix is to remove libmpiuni.a for
> > > --with-single-library=1. [i.e libpetsc.a will have the mpiuni stuff as
> > > well]
> > >
> > > Testing this change - and will push once I verify.
> > >
> > > Satish
> > >
> > > On Tue, 16 Feb 2010, Matthew Knepley wrote:
> > >
> > >> On Tue, Feb 16, 2010 at 8:16 PM, Dahai Guo <dhguo at ncsa.uiuc.edu>  
> > >> wrote:
> > >>
> > >>>
> > >>>
> > >>> Thanks, Barry.
> > >>>
> > >>>
> > >>>
> > >>> I tried to configure and built petsc-dev on AIX with the following  
> > >>> options,
> > >>> but failed when "make test" as follow "ld: 0706-006 Cannot find or  
> > >>> open
> > >>> library file: -l mpiuni". I  used the same options for petsc-3.0,  
> > >>> everything
> > >>> is fine. Would you tell me how to fix it?
> > >>>
> > >>
> > >> Always send configure.log
> > >>
> > >>  Matt
> > >>
> > >>
> > >>> Dahai
> > >>>
> > >>>
> > >>>
> > >>> export OBJECT_MODE=64  # for 64/32-bit ar
> > >>> export PETSC_DIR=$PWD
> > >>>
> > >>> config/configure.py  --with-mpi=0 --with-64-bit-pointers=1  --with- 
> > >>> cc=xlc_r
> > >>> --with-cxx=xlC_r --with-fc=xlf_r COPTFLAGS='-q64 -O3 -qstrict - 
> > >>> qmaxmem=-1
> > >>> -qarch=pwr6 -qtune=pwr6' FOPTFLAGS='-q64 -O3 -qstrict -qmaxmem=-1
> > >>> -qarch=pwr6 -qtune=pwr6' CXXOPTFLAGS='-q64 -O3 -qstrict -qmaxmem=-1
> > >>> -qarch=pwr6 -qtune=pwr6'
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>> bash-3.1$ make test
> > >>> Running test examples to verify correct installation
> > >>> --------------Error detected during compile or  
> > >>> link!-----------------------
> > >>> See
> > >>> http://www.mcs.anl.gov/petsc/petsc-2/documentation/troubleshooting.html
> > >>> xlc_r -o ex19.o -c -q64 -O3 -qstrict -qmaxmem=-1 -qarch=pwr6 - 
> > >>> qtune=pwr6
> > >>> -I/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/include
> > >>> -I/blhome/dhguo/petsc-dev/include -I/blhome/dhguo/petsc-dev/ 
> > >>> include/mpiuni
> > >>> -D__SDIR__="src/snes/examples/tutorials/" ex19.c
> > >>>        xlc_r -q64 -O3 -qstrict -qmaxmem=-1 -qarch=pwr6 - 
> > >>> qtune=pwr6  -o
> > >>> ex19  ex19.o -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib
> > >>> -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib -lpetsc  -lX11 - 
> > >>> lessl
> > >>> -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib -lmpiuni -lm -ldl
> > >>> -L/usr/vac/lib -lxlopt -lxl -lpthreads -lxlf90 -L/usr/lpp/xlf/lib - 
> > >>> lxlf
> > >>> -lxlomp_ser -lm -ldl -lxlopt -lxl -lpthreads -ldl
> > >>> ld: 0706-006 Cannot find or open library file: -l mpiuni
> > >>>        ld:open(): No such file or directory
> > >>> make: The error code from the last command is 255.
> > >>> make: Ignored error code 255 from last command.
> > >>>        /usr/linux/bin/rm -f ex19.o
> > >>> --------------Error detected during compile or  
> > >>> link!-----------------------
> > >>> See
> > >>> http://www.mcs.anl.gov/petsc/petsc-2/documentation/troubleshooting.html
> > >>>        xlf_r -c  -q64 -O3 -qstrict -qmaxmem=-1 -qarch=pwr6 - 
> > >>> qtune=pwr6
> > >>> -I/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/include
> > >>> -I/blhome/dhguo/petsc-dev/include -I/blhome/dhguo/petsc-dev/ 
> > >>> include/mpiuni
> > >>> -I/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/include
> > >>> -I/blhome/dhguo/petsc-dev/include/mpiuni    -o ex5f.o ex5f.F
> > >>> ** main   === End of Compilation 1 ===
> > >>> ** forminitialguess   === End of Compilation 2 ===
> > >>> ** initialguesslocal   === End of Compilation 3 ===
> > >>> ** formfunctionlocal   === End of Compilation 4 ===
> > >>> ** formjacobianlocal   === End of Compilation 5 ===
> > >>> 1501-510  Compilation successful for file ex5f.F.
> > >>>        xlf_r -q64 -O3 -qstrict -qmaxmem=-1 -qarch=pwr6 - 
> > >>> qtune=pwr6   -o
> > >>> ex5f ex5f.o -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib
> > >>> -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib -lpetsc  -lX11 - 
> > >>> lessl
> > >>> -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib -lmpiuni -lm -ldl
> > >>> -L/usr/vac/lib -lxlopt -lxl -lpthreads -lxlf90 -L/usr/lpp/xlf/lib - 
> > >>> lxlf
> > >>> -lxlomp_ser -lm -ldl -lxlopt -lxl -lpthreads -ldl
> > >>> ld: 0706-006 Cannot find or open library file: -l mpiuni
> > >>>        ld:open(): No such file or directory
> > >>> make: The error code from the last command is 255.
> > >>> make: Ignored error code 255 from last command.
> > >>>        /usr/linux/bin/rm -f ex5f.o
> > >>> Completed test examples
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>> ----- Original Message -----
> > >>> From: "Barry Smith" <bsmith at mcs.anl.gov>
> > >>> To: petsc-maint at mcs.anl.gov, "Dahai Guo" <dhguo at ncsa.uiuc.edu>
> > >>> Sent: Tuesday, February 16, 2010 1:40:53 PM GMT -06:00 Central  
> > >>> America
> > >>> Subject: Re: [petsc-maint #40976] convert a matrix from CSR format  
> > >>> to BCSR
> > >>> format
> > >>>
> > >>>
> > >>>   Sorry, I forgot to check the code last weekend.
> > >>>
> > >>>   I cannot reproduce your problem.
> > >>>
> > >>>   Looks like you are using petsc 3.0.0. That is completely insane!
> > >>> This problem has been fixed for a year. You should be using petsc- 
> > >>> dev
> > >>> http://www.mcs.anl.gov/petsc/petsc-as/developers/index.html
> > >>>  it will make your live much easier.
> > >>>
> > >>>
> > >>>    Barry
> > >>>
> > >>> On Feb 15, 2010, at 10:38 AM, Dahai Guo wrote:
> > >>>
> > >>>>
> > >>>>
> > >>>> Barry:
> > >>>>
> > >>>>
> > >>>>
> > >>>> In the function “MatGetFactor” in src/mat/interface/matrix.c, it
> > >>>> only checks if the matsolver is available for subclass, but NOT
> > >>>> further check for the AIJ/BAIJ.    I think it is one of the reasons
> > >>>> that a subclass(e.g. crl ) inherited from AIJ/BAIJ can not inherit
> > >>>> "MatGetFactor" from AIJ/BAIJ.
> > >>>>
> > >>>> Is there some special reason for designing it in this way? Or it is
> > >>>> just a bug? How to improve it? Please advise.
> > >>>>
> > >>>> Thanks,
> > >>>>
> > >>>> Dahai
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>> ----- Original Message -----
> > >>>> From: "Barry Smith" <bsmith at mcs.anl.gov>
> > >>>> To: petsc-maint at mcs.anl.gov, "Dahai Guo" <dhguo at ncsa.uiuc.edu>
> > >>>> Sent: Thursday, February 11, 2010 9:45:24 PM GMT -06:00 US/Canada
> > >>>> Central
> > >>>> Subject: Re: [petsc-maint #40976] convert a matrix from CSR format
> > >>>> to BCSR format
> > >>>>
> > >>>>
> > >>>>   Dahai,
> > >>>>
> > >>>>     You have to switch to a decent email client. Stuff you send is
> > >>>> never in attachments, it is always crammed into the message as one
> > >>>> long piece of text.
> > >>>>
> > >>>>     I'll try to reproduce the problem tomorrow,
> > >>>>
> > >>>>    Barry
> > >>>>
> > >>>> On Feb 11, 2010, at 8:01 PM, Dahai Guo wrote:
> > >>>>
> > >>>>> tried CSR format, it showed the similar problem as follow.??? I
> > >>>>> attached the test code and datafile.
> > >>>>
> > >>>>
> > >>>> Barry:
> > >>>>
> > >>>> In the function “MatGetFactor” in src/mat/interface/matrix.c, it
> > >>>> only checks if the matsolver is available for subclass, but NOT
> > >>>> further check for the AIJ/BAIJ.   I think it is one of the reasons
> > >>>> that a subclass(e.g. crl ) inherited from AIJ/BAIJ can not inherit
> > >>>> "MatGetFactor" from AIJ/BAIJ.
> > >>>>
> > >>>> Is there some special reason for designing it in this way? Or it is
> > >>>> just a bug? How to improve it? Please advise.
> > >>>>
> > >>>> Thanks,
> > >>>>
> > >>>> Dahai
> > >>>>
> > >>>>
> > >>>> ----- Original Message -----
> > >>>> From: "Barry Smith" <bsmith at mcs.anl.gov>
> > >>>> To: petsc-maint at mcs.anl.gov, "Dahai Guo" <dhguo at ncsa.uiuc.edu>
> > >>>> Sent: Thursday, February 11, 2010 9:45:24 PM GMT -06:00 US/Canada
> > >>>> Central
> > >>>> Subject: Re: [petsc-maint #40976] convert a matrix from CSR format
> > >>>> to BCSR format
> > >>>>
> > >>>>
> > >>>>   Dahai,
> > >>>>
> > >>>>     You have to switch to a decent email client. Stuff you send is
> > >>>> never in attachments, it is always crammed into the message as one
> > >>>> long piece of text.
> > >>>>
> > >>>>     I'll try to reproduce the problem tomorrow,
> > >>>>
> > >>>>    Barry
> > >>>>
> > >>>> On Feb 11, 2010, at 8:01 PM, Dahai Guo wrote:
> > >>>>
> > >>>>> tried CSR format, it showed the similar problem as follow.??? I
> > >>>>> attached the test code and datafile.
> > >>>>
> > >>>
> > >>>
> > >>>
> > >>> Thanks, Barry.
> > >>>
> > >>>
> > >>>
> > >>> I tried to configure and built petsc-dev on AIX with the following  
> > >>> options,
> > >>> but failed when "make test" as follow "ld: 0706-006 Cannot find or  
> > >>> open
> > >>> library file: -l mpiuni". I  used the same options for petsc-3.0,  
> > >>> everything
> > >>> is fine. Would you tell me how to fix it?
> > >>>
> > >>>
> > >>>
> > >>> Dahai
> > >>>
> > >>>
> > >>>
> > >>> export OBJECT_MODE=64  # for 64/32-bit ar
> > >>> export PETSC_DIR=$PWD
> > >>>
> > >>> config/configure.py  --with-mpi=0 --with-64-bit-pointers=1  --with- 
> > >>> cc=xlc_r
> > >>> --with-cxx=xlC_r --with-fc=xlf_r COPTFLAGS='-q64 -O3 -qstrict - 
> > >>> qmaxmem=-1
> > >>> -qarch=pwr6 -qtune=pwr6' FOPTFLAGS='-q64 -O3 -qstrict -qmaxmem=-1
> > >>> -qarch=pwr6 -qtune=pwr6' CXXOPTFLAGS='-q64 -O3 -qstrict -qmaxmem=-1
> > >>> -qarch=pwr6 -qtune=pwr6'
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>> bash-3.1$ make test
> > >>> Running test examples to verify correct installation
> > >>> --------------Error detected during compile or  
> > >>> link!-----------------------
> > >>> See
> > >>> http://www.mcs.anl.gov/petsc/petsc-2/documentation/troubleshooting.html
> > >>> xlc_r -o ex19.o -c -q64 -O3 -qstrict -qmaxmem=-1 -qarch=pwr6 - 
> > >>> qtune=pwr6
> > >>> -I/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/include
> > >>> -I/blhome/dhguo/petsc-dev/include -I/blhome/dhguo/petsc-dev/ 
> > >>> include/mpiuni
> > >>> -D__SDIR__="src/snes/examples/tutorials/" ex19.c
> > >>>        xlc_r -q64 -O3 -qstrict -qmaxmem=-1 -qarch=pwr6 - 
> > >>> qtune=pwr6  -o
> > >>> ex19  ex19.o -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib
> > >>> -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib -lpetsc  -lX11 - 
> > >>> lessl
> > >>> -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib -lmpiuni -lm -ldl
> > >>> -L/usr/vac/lib -lxlopt -lxl -lpthreads -lxlf90 -L/usr/lpp/xlf/lib - 
> > >>> lxlf
> > >>> -lxlomp_ser -lm -ldl -lxlopt -lxl -lpthreads -ldl
> > >>> ld: 0706-006 Cannot find or open library file: -l mpiuni
> > >>>        ld:open(): No such file or directory
> > >>> make: The error code from the last command is 255.
> > >>> make: Ignored error code 255 from last command.
> > >>>        /usr/linux/bin/rm -f ex19.o
> > >>> --------------Error detected during compile or  
> > >>> link!-----------------------
> > >>> See
> > >>> http://www.mcs.anl.gov/petsc/petsc-2/documentation/troubleshooting.html
> > >>>        xlf_r -c  -q64 -O3 -qstrict -qmaxmem=-1 -qarch=pwr6 - 
> > >>> qtune=pwr6
> > >>> -I/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/include
> > >>> -I/blhome/dhguo/petsc-dev/include -I/blhome/dhguo/petsc-dev/ 
> > >>> include/mpiuni
> > >>> -I/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/include
> > >>> -I/blhome/dhguo/petsc-dev/include/mpiuni    -o ex5f.o ex5f.F
> > >>> ** main   === End of Compilation 1 ===
> > >>> ** forminitialguess   === End of Compilation 2 ===
> > >>> ** initialguesslocal   === End of Compilation 3 ===
> > >>> ** formfunctionlocal   === End of Compilation 4 ===
> > >>> ** formjacobianlocal   === End of Compilation 5 ===
> > >>> 1501-510  Compilation successful for file ex5f.F.
> > >>>        xlf_r -q64 -O3 -qstrict -qmaxmem=-1 -qarch=pwr6 - 
> > >>> qtune=pwr6   -o
> > >>> ex5f ex5f.o -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib
> > >>> -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib -lpetsc  -lX11 - 
> > >>> lessl
> > >>> -L/blhome/dhguo/petsc-dev/aix5.3.0.0-c-debug/lib -lmpiuni -lm -ldl
> > >>> -L/usr/vac/lib -lxlopt -lxl -lpthreads -lxlf90 -L/usr/lpp/xlf/lib - 
> > >>> lxlf
> > >>> -lxlomp_ser -lm -ldl -lxlopt -lxl -lpthreads -ldl
> > >>> ld: 0706-006 Cannot find or open library file: -l mpiuni
> > >>>        ld:open(): No such file or directory
> > >>> make: The error code from the last command is 255.
> > >>> make: Ignored error code 255 from last command.
> > >>>        /usr/linux/bin/rm -f ex5f.o
> > >>> Completed test examples
> > >>>
> > >>>
> > >>>
> > >>>
> > >>> ----- Original Message -----
> > >>> From: "Barry Smith" <bsmith at mcs.anl.gov>
> > >>> To: petsc-maint at mcs.anl.gov, "Dahai Guo" <dhguo at ncsa.uiuc.edu>
> > >>> Sent: Tuesday, February 16, 2010 1:40:53 PM GMT -06:00 Central  
> > >>> America
> > >>> Subject: Re: [petsc-maint #40976] convert a matrix from CSR format  
> > >>> to BCSR
> > >>> format
> > >>>
> > >>>
> > >>>   Sorry, I forgot to check the code last weekend.
> > >>>
> > >>>   I cannot reproduce your problem.
> > >>>
> > >>>   Looks like you are using petsc 3.0.0. That is completely insane!
> > >>> This problem has been fixed for a year. You should be using petsc- 
> > >>> dev
> > >>> http://www.mcs.anl.gov/petsc/petsc-as/developers/index.html
> > >>>  it will make your live much easier.
> > >>>
> > >>>
> > >>>    Barry
> > >>>
> > >>> On Feb 15, 2010, at 10:38 AM, Dahai Guo wrote:
> > >>>
> > >>>>
> > >>>>
> > >>>> Barry:
> > >>>>
> > >>>>
> > >>>>
> > >>>> In the function “MatGetFactor” in src/mat/interface/matrix.c, it
> > >>>> only checks if the matsolver is available for subclass, but NOT
> > >>>> further check for the AIJ/BAIJ.    I think it is one of the reasons
> > >>>> that a subclass(e.g. crl ) inherited from AIJ/BAIJ can not inherit
> > >>>> "MatGetFactor" from AIJ/BAIJ.
> > >>>>
> > >>>> Is there some special reason for designing it in this way? Or it is
> > >>>> just a bug? How to improve it? Please advise.
> > >>>>
> > >>>> Thanks,
> > >>>>
> > >>>> Dahai
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>> ----- Original Message -----
> > >>>> From: "Barry Smith" <bsmith at mcs.anl.gov>
> > >>>> To: petsc-maint at mcs.anl.gov, "Dahai Guo" <dhguo at ncsa.uiuc.edu>
> > >>>> Sent: Thursday, February 11, 2010 9:45:24 PM GMT -06:00 US/Canada
> > >>>> Central
> > >>>> Subject: Re: [petsc-maint #40976] convert a matrix from CSR format
> > >>>> to BCSR format
> > >>>>
> > >>>>
> > >>>>   Dahai,
> > >>>>
> > >>>>     You have to switch to a decent email client. Stuff you send is
> > >>>> never in attachments, it is always crammed into the message as one
> > >>>> long piece of text.
> > >>>>
> > >>>>     I'll try to reproduce the problem tomorrow,
> > >>>>
> > >>>>    Barry
> > >>>>
> > >>>> On Feb 11, 2010, at 8:01 PM, Dahai Guo wrote:
> > >>>>
> > >>>>> tried CSR format, it showed the similar problem as follow.??? I
> > >>>>> attached the test code and datafile.
> > >>>>
> > >>>>
> > >>>> Barry:
> > >>>>
> > >>>> In the function “MatGetFactor” in src/mat/interface/matrix.c, it
> > >>>> only checks if the matsolver is available for subclass, but NOT
> > >>>> further check for the AIJ/BAIJ.   I think it is one of the reasons
> > >>>> that a subclass(e.g. crl ) inherited from AIJ/BAIJ can not inherit
> > >>>> "MatGetFactor" from AIJ/BAIJ.
> > >>>>
> > >>>> Is there some special reason for designing it in this way? Or it is
> > >>>> just a bug? How to improve it? Please advise.
> > >>>>
> > >>>> Thanks,
> > >>>>
> > >>>> Dahai
> > >>>>
> > >>>>
> > >>>> ----- Original Message -----
> > >>>> From: "Barry Smith" <bsmith at mcs.anl.gov>
> > >>>> To: petsc-maint at mcs.anl.gov, "Dahai Guo" <dhguo at ncsa.uiuc.edu>
> > >>>> Sent: Thursday, February 11, 2010 9:45:24 PM GMT -06:00 US/Canada
> > >>>> Central
> > >>>> Subject: Re: [petsc-maint #40976] convert a matrix from CSR format
> > >>>> to BCSR format
> > >>>>
> > >>>>
> > >>>>   Dahai,
> > >>>>
> > >>>>     You have to switch to a decent email client. Stuff you send is
> > >>>> never in attachments, it is always crammed into the message as one
> > >>>> long piece of text.
> > >>>>
> > >>>>     I'll try to reproduce the problem tomorrow,
> > >>>>
> > >>>>    Barry
> > >>>>
> > >>>> On Feb 11, 2010, at 8:01 PM, Dahai Guo wrote:
> > >>>>
> > >>>>> tried CSR format, it showed the similar problem as follow.??? I
> > >>>>> attached the test code and datafile.
> > >>>>
> > >>>
> > >>>
> > >>>
> > >>
> > >>
> > >>
> > >
> > 
> > 
> > 
> 
> 


More information about the petsc-dev mailing list