[petsc-dev] PTScotch 6

Satish Balay balay at mcs.anl.gov
Tue Mar 19 13:30:53 CDT 2013


this is now merged into 'next' via branch [master] balay/ptscotch6-update

https://bitbucket.org/petsc/petsc/commits/dc95b2b8fde10c4dac9d6ded935b92ac943ffd85

thanks,
Satish

On Tue, 19 Mar 2013, Jose E. Roman wrote:

> 
> El 19/03/2013, a las 16:44, Satish Balay escribió:
> 
> > On Mon, 18 Mar 2013, Jose E. Roman wrote:
> > 
> >> 
> >> There is a new version of PTScotch. I tried configuring with --download-ptscotch=https://gforge.inria.fr/frs/download.php/31832/scotch_6.0.0_esmumps.tar.gz
> >> 
> >> It works on Linux with the patch below (note the missing whitespace should have been fixed in 3.3).
> > 
> > Hm - so this part of the patch should go into 'maint' tree - and then
> > merged into 'next/master'? So we need 2 branches for applying this patch?
> > one that goes into 'maint' & 'next/master' - the other that goes into
> > 'next/master'?
> 
> I guess this is not so important to fix in 3.3.
> 
> > 
> > [Will let the git experts comment on the workflow to use']
> > 
> > I dont' unserstand the 'maint' branch. It has merges from 3.3 - so I
> > don't know if its eqivalent to petsc-3.3+bs-3.3 or not.  [ andI'm not
> > sure if we'll have another patch update to 3.3]
> > 
> >> On Mac I had a compilation problem related to pthreads. After commenting out these lines in PTScotch.py it builds well.
> >>    if self.libraries.add('-lpthread','pthread_key_create'):
> >>      self.cflags = self.cflags + ' -DCOMMON_PTHREAD'
> >>      ldflags += ' -lpthread'
> > 
> > Looks like pthread_barrierattr_t does not exist on OSX but this code
> > appears to use it. Perhaps we should change the above test to:
> > 
> > #   OSX does not have pthread_barrierattr_t - so check for that
> >    if self.libraries.add('-lpthread','pthread_barrierattr_t'):
> > 
> >> 
> >> Jose
> >> 
> >> 
> >> diff -r 19e6251ff91d config/PETSc/packages/PTScotch.py
> >> --- a/config/PETSc/packages/PTScotch.py	Thu Mar 14 20:16:54 2013 -0500
> >> +++ b/config/PETSc/packages/PTScotch.py	Mon Mar 18 18:29:11 2013 +0100
> >> @@ -6,7 +6,7 @@
> >>     #'https://gforge.inria.fr/frs/download.php/28978/scotch_5.1.12b_esmumps.tar.gz'
> >>     self.download     = ['http://ftp.mcs.anl.gov/pub/petsc/externalpackages/scotch_5.1.12b_esmumps-p1.tar.gz']
> > 
> > Will have to update/keep both URLs.
> >     self.download     = ['https://gforge.inria.fr/frs/download.php/31832/scotch_6.0.0_esmumps.tar.gz',
> >                           http://ftp.mcs.anl.gov/pub/petsc/externalpackages/scotch_6.0.0_esmumps.tar.gz']
> > 
> >>     self.downloadfilename = 'scotch'
> >> -    self.liblist      = [['libptesmumps.a', 'libptscotch.a','libptscotcherr.a']]
> >> +    self.liblist      = [['libptscotch.a','libptscotcherr.a','libscotch.a','libscotcherr.a']]
> > 
> > So the library list has changed?
> 
> They have separated the sequential and parallel versions. From file INSTALL.txt:
> 
>   Since version 6.0, the Scotch and PT-Scotch packages can be made
>   independent. The libScotch will not be tied by any dependency against
>   any MPI package, while the libPTScotch has to depend on the one with
>   which it has been compiled, in addition to the libScotch package that
>   it uses.
> 
>   In versions 5.x, the libPTScotch also contained a modified copy of the
>   libScotch. It is no longer the case, which will result in lower disk
>   footprint.
> 
> I guess now it could be possible to have --download-ptscotch and --download-scotch.
> However, the tarball is unique.
> 
> Jose
> 
> 
> 
> > 
> > thanks,
> > Satish
> > 
> >>     self.functions    = ['SCOTCH_archBuild']
> >>     self.includes     = ['ptscotch.h']
> >>     self.requires32bitint = 0
> >> @@ -56,7 +56,7 @@
> >>       ldflags += ' -lpthread'
> >>     if self.libraries.add('-lm','sin'): ldflags += ' -lm'
> >>     if self.libraries.add('-lrt','timer_create'): ldflags += ' -lrt'
> >> -    self.cflags = self.cflags + '-DCOMMON_RANDOM_FIXED_SEED'
> >> +    self.cflags = self.cflags + ' -DCOMMON_RANDOM_FIXED_SEED'
> >>     # do not use -DSCOTCH_PTHREAD because requires MPI built for threads.
> >>     self.cflags = self.cflags + ' -DSCOTCH_RENAME -Drestrict="" '
> >>     # this is needed on the Mac, because common2.c includes common.h which DOES NOT include mpi.h because
> >> 
> >> 
> >> 
> > 
> 
> 


More information about the petsc-dev mailing list