Comments (4)
is this still an issue with more recent PGIs?
from mini-castro.
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.
Please try again
from mini-castro.
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)
- Experiment with single precision
- AmrLevel::Derive() generates bad data
- RFC: should the default CUDA version be upgraded from 8 to 9? HOT 2
- AMR does not work on GPUs HOT 3
- StarLord does not work with the IBM compiler on GPUs HOT 2
- StarLord fails to link with CUDA 9 on Summitdev HOT 1
- rename to mini-Castro HOT 1
- Check for filcc validity HOT 1
- need test suite coverage of this
- Reduce memory usage by using only one edge state array HOT 1
- Write code generation tool for creation of CUDA wrappers to device functions HOT 13
- Can't compile eos_type.f90 with gcc/6.3.1 + OpenACC HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mini-castro.