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

Matthew Knepley knepley at gmail.com
Sun Apr 24 21:36:30 CDT 2016


On Sun, 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
>
> *******************************************************************************
>

For configure problems, you must send configure.log

  Thanks,

     Matt


>
> 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>
>> 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
>>> <http://py.org> petsc-**3.6**.**3**/config/BuildSystem/config/**package*
>>> *.py*
>>> *--- petsc-**3.6**.**3**/config/BuildSystem/config/**package**.py.org
>>> <http://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
>>> <http://setCompilers.py.org> petsc-**3.6**.**3*
>>> */config/BuildSystem/config/setCompilers.py*
>>> *--- petsc-**3.6**.**3**/config/BuildSystem/config/setCompilers.py.org
>>> <http://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
>>> <http://openmp.py.org> petsc-**3.6**.**3*
>>> */config/BuildSystem/config/packages/openmp.py*
>>> *--- petsc-**3.6**.**3**/config/BuildSystem/config/packages/openmp.py.org
>>> <http://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
>>> <http://compilers.py.org> ./petsc-**3.6**.**3*
>>> */config/BuildSystem/config/compilers.py*
>>> *--- ./petsc-**3.6**.**3**/config/BuildSystem/config/compilers.py.org
>>> <http://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
>
>
>


-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160424/7592554b/attachment-0001.html>


More information about the petsc-users mailing list