Git Product home page Git Product logo

Comments (4)

zingale avatar zingale commented on September 27, 2024

is this still an issue with more recent PGIs?

from mini-castro.

bcfriesen avatar bcfriesen commented on September 27, 2024

I tried to test but can no longer compile StarLord even with PGI 17.9. It now throws this error:

CC  -gopt -fast --c++11  -acc -Minfo=acc -ta=nvidia -mcmodel=medium -DNDEBUG -DBL_USE_MPI -DAMREX_GIT_VERSION=\"18.03-617-g49608874e939\" -DAMREX_LAUNCH="" -DAMREX_DEVICE="" -DBL_SPACEDIM=3 -DAMREX_SPACEDIM=3 -DBL_FORT_USE_UNDERSCORE -DBL_Linux -DCRSEGRNDOMP -DACC -DBL_USE_F_BASELIB -DBL_USE_FORTRAN_MPI -I. -I/ccs/home/friesen/amrex/Src/Base -I/ccs/home/friesen/amrex/Src/AmrCore -I/ccs/home/friesen/amrex/Src/Amr -I/ccs/home/friesen/amrex/Src/Boundary -I/ccs/home/friesen/Microphysics/EOS/helmholtz -I/ccs/home/friesen/Microphysics/EOS -I../Source -I/ccs/home/friesen/amrex/Src/F_BaseLib -I/ccs/home/friesen/amrex/Tools/C_scripts -c /ccs/home/friesen/amrex/Src/Base/AMReX.cpp -o tmp_build_dir/o/3d.pgi.interlagos.MPI.ACC.EXE/AMReX.o
"/ccs/home/friesen/amrex/Src/Base/AMReX_BLFort.H", line 108: error: the
          identifier __VA_ARGS__ can only appear in the replacement lists of
          variadic macros
  #define DEVICE_LAUNCH(function) function(__VA_ARGS__)
                                           ^

1 error detected in the compilation of "/ccs/home/friesen/amrex/Src/Base/AMReX.cpp".

This is with StarLord commit eaa153c and AMReX commit 49608874e.

from mini-castro.

maxpkatz avatar maxpkatz commented on September 27, 2024

Please try again

from mini-castro.

bcfriesen avatar bcfriesen commented on September 27, 2024

Still happens in PGI 17.10 on Titan:

friesen@titan-ext5:~/StarLord/Exec> pgc++ -V

pgc++ 17.10-0 64-bit target on x86-64 Linux -tp istanbul
PGI Compilers and Tools
Copyright (c) 2017, NVIDIA CORPORATION.  All rights reserved.
friesen@titan-ext5:~/StarLord/Exec> make -f GNUmakefile.PGI.MPI.ACC.opt
Loading /ccs/home/friesen/amrex/Tools/GNUMake/comps/pgi.mak...
Loading /ccs/home/friesen/amrex/Tools/GNUMake/sites/Make.olcf...
Compiling eos_type.F90 ...
ftn  -gopt -fast -Mnomain -module tmp_build_dir/o/3d.pgi.interlagos.MPI.ACC.EXE -Itmp_build_dir/o/3d.pgi.interlagos.MPI.ACC.EXE -Mdclchk  -acc -Minfo=acc -ta=nvidia -mcmodel=medium -DBL_LANG_FORT -DNDEBUG -DBL_USE_MPI -DAMREX_GIT_VERSION=\"18.03-618-g3bc1e33a8dc8\" -DAMREX_LAUNCH="" -DAMREX_DEVICE="" -DBL_SPACEDIM=3 -DAMREX_SPACEDIM=3 -DBL_FORT_USE_UNDERSCORE -DBL_Linux -DCRSEGRNDOMP -DACC -DBL_USE_F_BASELIB -DBL_USE_FORTRAN_MPI -I. -I/ccs/home/friesen/amrex/Src/Base -I/ccs/home/friesen/amrex/Src/AmrCore -I/ccs/home/friesen/amrex/Src/Amr -I/ccs/home/friesen/amrex/Src/Boundary -I/ccs/home/friesen/Microphysics/EOS/helmholtz -I/ccs/home/friesen/Microphysics/EOS -I../Source -I/ccs/home/friesen/amrex/Src/F_BaseLib -I/ccs/home/friesen/amrex/Tools/C_scripts -c ../Source/eos_type.F90 -o tmp_build_dir/o/3d.pgi.interlagos.MPI.ACC.EXE/eos_type.o
PGF90-W-0435-Array declared with zero size (../Source/eos_type.F90: 132)
  0 inform,   1 warnings,   0 severes, 0 fatal for eos_type_module
PGF90-S-0155-Module variables used in acc routine need to be in !$acc declare create() - zion$p (../Source/eos_type.F90: 190)
PGF90-S-0155-Module variables used in acc routine need to be in !$acc declare create() - zion$sd (../Source/eos_type.F90: 190)
composition:
    173, Generating acc routine seq
         Generating Tesla code
  0 inform,   0 warnings,   2 severes, 0 fatal for composition
PGF90-S-0155-Module variables used in acc routine need to be in !$acc declare create() - small_x$p (../Source/eos_type.F90: 214)
PGF90-S-0155-Accelerator region ignored; see -Minfo messages  (../Source/eos_type.F90)
normalize_abundances:
      0, Accelerator region ignored
    214, Accelerator restriction: invalid loop
  0 inform,   0 warnings,   2 severes, 0 fatal for normalize_abundances
clean_state:
    224, Generating acc routine seq
         Generating Tesla code
eos_get_small_temp:
    255, Generating acc routine seq
         Generating Tesla code
eos_get_small_dens:
    268, Generating acc routine seq
         Generating Tesla code
eos_get_max_temp:
    282, Generating acc routine seq
         Generating Tesla code
eos_get_max_dens:
    296, Generating acc routine seq
         Generating Tesla code

But it does not happen with PGI 17.9 on Summit. On Summit with 17.9, it get past eos_type.F90 but fails at link time:

@E@nvlink fatal   : elfLink fatbinary error
pgacclnk: child process exit status 2: /autofs/nccs-svm1_sw/summit/.swci/0-core/opt/spack/20171006/linux-rhel7-ppc64le/gcc-4.8.5/pgi-17.9-zmbwhqrbik6jstagqpwqijhghysdwoh5/linuxpower/17.9/bin/pgnvd

And on 18.4 on Summit it compiles and links with no issue.

I'll close this then, since it appears to be a compiler bug that is fixed in 18.4.

from mini-castro.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.