[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