[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