[petsc-dev] PTScotch 6

Satish Balay balay at mcs.anl.gov
Tue Mar 19 10:44:29 CDT 2013


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'?

[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?

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