[petsc-users] Modifying built files for use with Japan's K computer

Barry Smith bsmith at mcs.anl.gov
Sun Apr 24 21:36:58 CDT 2016


  For configure questions always always send the complete configure.log to petsc-maint at mcs.anl.gov 

   Barry

petsc-maint at mcs.anl.gov is the only address that can handle the large files configure.log


> On Apr 24, 2016, at 9:31 PM, TAY wee-beng <zonexo at gmail.com> wrote:
> 
> 
> On 25/4/2016 2:52 AM, Matthew Knepley wrote:
>> On Sun, Apr 24, 2016 at 10:12 AM, Wee-beng TAY <zonexo at gmail.com> wrote:
>> Hi Matt,
>> 
>> I have attached the page which explains what to modify to use PETSc with the K computer.
>> 
>> These changes are now in knepley/feature-configure-kcomputer, so you
>> 
>>   cd $PETSC_DIR
>>   git fetch
>>   git checkout knepley/feature-configure-kcomputer
>>   <follow configure instructions from your email>
> 
> Hi,
> 
> I got the warning and error:
> 
> " --LD_SHARED="" --LDDFLAGS="" --with-openmp=1 --with-mpiexec=mpiexec --known-endian=big --with-shared-libraries=0 --with-blas-lapack-lib="-SSL2" --with-scalapack-lib="-SCALAPACK" --prefix=/home/hp150306/t00196/lib/petsc-3.6.4_rel --with-fortran-interfaces=1 --download-hypre=1 --with-debugging=0 --with-batch=1
> ===============================================================================
>              Configuring PETSc to compile on your system
> ===============================================================================
> ===============================================================================                                                                                                                                                                                                                                                                                                                                                                       *****WARNING: PETSC_DIR appears to be a Git clone - but git is not found in PATH********                                                                                                                                                                                                                                                                                                                                                  ===============================================================================                                                                                                                                           TESTING: checkCCompiler from config.setCompilers(config/BuildSystem/config/setCompilers.py:553)                                                                                                                           Exception AttributeError: AttributeError("Popen3 instance has no attribute 'pid'",) in <bound method Popen3.__del__ of <popen2.Popen3 instance at 0x107bbf38>> ignored
> *******************************************************************************
>                     UNABLE to EXECUTE BINARIES for ./configure
> -------------------------------------------------------------------------------
> [Errno 12] Cannot allocate memory
> *******************************************************************************
> 
> 
> Any other solution?
> 
> Thanks!
>> 
>>   Thanks,
>> 
>>     Matt
>>  
>> Thanks
>> 
>> 
>> On 24/4/2016 10:52 PM, Matthew Knepley wrote:
>>> On Sun, Apr 24, 2016 at 4:14 AM, Wee-beng TAY <zonexo at gmail.com> wrote:
>>> Hi,
>>> 
>>> I was recently given access to Japan's K computer. I'm trying to compile PETSc on their sys, which uses Fujitsu's compiler. There's a help file but it's in Japanese. I guess I need to change some options to make PETSc compile with Fujitsu's compiler. 
>>> 
>>> It looks like they want us to include some different options for the build. If you send what you want,
>>> I will make a branch for you to try out.
>>> 
>>>   Thanks,
>>> 
>>>      Matt 
>>> Part of the help is below. So how should I use the diff or some other command to do the correction? I tried to run:
>>> 
>>>  diff -u petsc-3.6.4/config/BuildSystem/config/package.py.org petsc-3.6.4/config/BuildSystem/config/package.py
>>> 
>>> but got the err:
>>> 
>>> diff: petsc-3.6.4/config/BuildSystem/config/package.py.org: No such file or directory
>>> 
>>> Please advice. Thanks.
>>> 
>>> $ diff -u petsc-3.6.3/config/BuildSystem/config/package.py.org petsc-3.6.3/config/BuildSystem/config/package.py
>>> --- petsc-3.6.3/config/BuildSystem/config/package.py.org        2015-12-04 14:06:42.000000000 +0900
>>> +++ petsc-3.6.3/config/BuildSystem/config/package.py    2016-01-22 11:09:37.000000000 +0900
>>> @@ -174,7 +174,7 @@
>>>      return ''
>>>  
>>>    def getSharedFlag(self,cflags):
>>> -    for flag in ['-PIC', '-fPIC', '-KPIC', '-qpic']:
>>> +    for flag in ['-KPIC', '-fPIC', '-PIC', '-qpic']:
>>>        if cflags.find(flag) >=0: return flag
>>>      return ''
>>>  
>>> $ diff -u petsc-3.6.3/config/BuildSystem/config/setCompilers.py.org petsc-3.6.3/config/BuildSystem/config/setCompilers.py
>>> --- petsc-3.6.3/config/BuildSystem/config/setCompilers.py.org   2015-07-23 00:22:46.000000000 +0900
>>> +++ petsc-3.6.3/config/BuildSystem/config/setCompilers.py       2016-01-22 11:10:05.000000000 +0900
>>> @@ -1017,7 +1017,7 @@
>>>        self.pushLanguage(language)
>>>        #different compilers are sensitive to the order of testing these flags. So separete out GCC test.
>>>        if config.setCompilers.Configure.isGNU(self.getCompiler()): testFlags = ['-fPIC']
>>> -      else: testFlags = ['-PIC', '-fPIC', '-KPIC','-qpic']
>>> +      else: testFlags = ['-KPIC', '-fPIC', '-PIC','-qpic']
>>>        for testFlag in testFlags:
>>>          try:
>>>            self.logPrint('Trying '+language+' compiler flag '+testFlag)
>>> $ diff -u petsc-3.6.3/config/BuildSystem/config/packages/openmp.py.org petsc-3.6.3/config/BuildSystem/config/packages/openmp.py
>>> --- petsc-3.6.3/config/BuildSystem/config/packages/openmp.py.org        2016-01-25 15:42:23.000000000+0900
>>> +++ petsc-3.6.3/config/BuildSystem/config/packages/openmp.py    2016-01-22 17:13:52.000000000 +0900
>>> @@ -19,7 +19,8 @@
>>>      self.found = 0
>>>      self.setCompilers.pushLanguage('C')
>>>      #
>>> -    for flag in ["-fopenmp", # Gnu
>>> +    for flag in ["-Kopenmp", # Fujitsu
>>> +                 "-fopenmp", # Gnu
>>>                   "-qsmp=omp",# IBM XL C/C++
>>>                   "-h omp",   # Cray. Must come after XL because XL interprets this option as meaning"-soname omp"
>>>                   "-mp",      # Portland Group
>>>  
>>> $ diff -u ./petsc-3.6.3/config/BuildSystem/config/compilers.py.org ./petsc-3.6.3/config/BuildSystem/config/compilers.py
>>> --- ./petsc-3.6.3/config/BuildSystem/config/compilers.py.org    2015-06-10 06:24:49.000000000 +0900
>>> +++ ./petsc-3.6.3/config/BuildSystem/config/compilers.py        2016-02-19 11:56:12.000000000 +0900
>>> @@ -164,7 +164,7 @@
>>>    def checkCLibraries(self):
>>>      '''Determines the libraries needed to link with C'''
>>>      oldFlags = self.setCompilers.LDFLAGS
>>> -    self.setCompilers.LDFLAGS += ' -v'
>>> +    self.setCompilers.LDFLAGS += ' -###'
>>>      self.pushLanguage('C')
>>>      (output, returnCode) = self.outputLink('', '')
>>>      self.setCompilers.LDFLAGS = oldFlags
>>> @@ -413,7 +413,7 @@
>>>    def checkCxxLibraries(self):
>>>      '''Determines the libraries needed to link with C++'''
>>>      oldFlags = self.setCompilers.LDFLAGS
>>> -    self.setCompilers.LDFLAGS += ' -v'
>>> +    self.setCompilers.LDFLAGS += ' -###'
>>>      self.pushLanguage('Cxx')
>>>      (output, returnCode) = self.outputLink('', '')
>>>      self.setCompilers.LDFLAGS = oldFlags
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
>>> -- Norbert Wiener
>> 
>> 
>> 
>> 
>> -- 
>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
>> -- Norbert Wiener
> 



More information about the petsc-users mailing list