Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Coccinelle to fix the remaining ICC enum warnings #141

Closed
wants to merge 2 commits into from
Closed

Use Coccinelle to fix the remaining ICC enum warnings #141

wants to merge 2 commits into from

Conversation

AlexanderKurtz
Copy link
Contributor

With this and #139 and #140, building with CMake/ICC finally works on the SuperMUC:

$ mkdir build
$ cd build
$ module unload cmake && module load cmake/3.6
$ CC=icc CXX=icpc cmake ..
-- The C compiler identification is Intel 16.0.4.20160811
-- The CXX compiler identification is Intel 16.0.4.20160811
-- Check for working C compiler: /lrz/sys/intel/studio2016_u4/compilers_and_libraries_2016.4.258/linux/bin/intel64/icc
-- Check for working C compiler: /lrz/sys/intel/studio2016_u4/compilers_and_libraries_2016.4.258/linux/bin/intel64/icc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /lrz/sys/intel/studio2016_u4/compilers_and_libraries_2016.4.258/linux/bin/intel64/icpc
-- Check for working CXX compiler: /lrz/sys/intel/studio2016_u4/compilers_and_libraries_2016.4.258/linux/bin/intel64/icpc -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Dependency check for option 'documentation' failed, skipping!
-- Try OpenMP C flag = [-qopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-qopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -qopenmp  
-- Dependency check for option 'openmp-examples' succeeded, building!
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.23") 
-- Checking for module 'libprotobuf-c'
--   No package 'libprotobuf-c' found
-- Dependency check for option 'failure-simulator' failed, skipping!
-- Dependency check for option 'mosquitto-agent' failed, skipping!
-- Checking for module 'papi'
--   No package 'papi' found
-- Dependency check for option 'profiling-agent' failed, skipping!
-- Checking for module 'mpi'
--   No package 'mpi' found
-- Found MPI_C: /opt/ibmhpc/pecurrent/mpich2/intel/lib64/libmpi.so;/usr/lib64/libdl.so;/lrz/sys/intel/studio2016_u4/compilers_and_libraries_2016.4.258/linux/compiler/lib/intel64_lin/libirc.so;/usr/lib64/libpthread.so;/usr/lib64/librt.so  
-- Found MPI_CXX: /opt/ibmhpc/pecurrent/mpich2/intel/lib64/libmpi.so;/opt/ibmhpc/pecurrent/mpich2/intel/lib64/libmpigc4.so;/usr/lib64/libdl.so;/lrz/sys/intel/studio2016_u4/compilers_and_libraries_2016.4.258/linux/compiler/lib/intel64_lin/libirc.so;/usr/lib64/libpthread.so;/usr/lib64/librt.so  
-- Dependency check for option 'mpi-backend' succeeded, building!
-- Checking for module 'gio-2.0>=2.44'
--   
-- Checking for module 'glib-2.0>=2.44'
--   
-- Dependency check for option 'tcp-backend' failed, skipping!
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hpc/pr27ne/ga39pid3/kurtz/laik/build
$ make
Scanning dependencies of target laik
[  2%] Building C object src/CMakeFiles/laik.dir/action.c.o
[  4%] Building C object src/CMakeFiles/laik.dir/backend.c.o
[  6%] Building C object src/CMakeFiles/laik.dir/core.c.o
remark #11074: Inlining inhibited by limit max-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
[  8%] Building C object src/CMakeFiles/laik.dir/data.c.o
remark #11074: Inlining inhibited by limit max-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
[ 10%] Building C object src/CMakeFiles/laik.dir/debug.c.o
[ 12%] Building C object src/CMakeFiles/laik.dir/external.c.o
[ 14%] Building C object src/CMakeFiles/laik.dir/partitioner.c.o
[ 17%] Building C object src/CMakeFiles/laik.dir/partitioning.c.o
[ 19%] Building C object src/CMakeFiles/laik.dir/profiling.c.o
[ 21%] Building C object src/CMakeFiles/laik.dir/program.c.o
[ 23%] Building C object src/CMakeFiles/laik.dir/space.c.o
remark #11074: Inlining inhibited by limit max-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
[ 25%] Building C object src/CMakeFiles/laik.dir/type.c.o
[ 27%] Building C object src/CMakeFiles/laik.dir/backend-mpi.c.o
remark #11074: Inlining inhibited by limit max-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
[ 29%] Building C object src/CMakeFiles/laik.dir/backend-single.c.o
[ 31%] Linking C shared library liblaik.so
[ 31%] Built target laik
Scanning dependencies of target raytracer
[ 34%] Building CXX object examples/CMakeFiles/raytracer.dir/c++/raytracer.cpp.o
remark #11074: Inlining inhibited by limit max-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
[ 36%] Linking CXX executable raytracer
[ 36%] Built target raytracer
Scanning dependencies of target markov
[ 38%] Building C object examples/CMakeFiles/markov.dir/markov.c.o
[ 40%] Linking C executable markov
[ 40%] Built target markov
Scanning dependencies of target markov2
[ 42%] Building C object examples/CMakeFiles/markov2.dir/markov2.c.o
[ 44%] Linking C executable markov2
[ 44%] Built target markov2
Scanning dependencies of target markov-ser
[ 46%] Building C object examples/CMakeFiles/markov-ser.dir/markov-ser.c.o
[ 48%] Linking C executable markov-ser
[ 48%] Built target markov-ser
Scanning dependencies of target spmv2
[ 51%] Building C object examples/CMakeFiles/spmv2.dir/spmv2.c.o
[ 53%] Linking C executable spmv2
[ 53%] Built target spmv2
Scanning dependencies of target spmv
[ 55%] Building C object examples/CMakeFiles/spmv.dir/spmv.c.o
[ 57%] Linking C executable spmv
[ 57%] Built target spmv
Scanning dependencies of target jac2d-ser
[ 59%] Building C object examples/CMakeFiles/jac2d-ser.dir/jac2d-ser.c.o
[ 61%] Linking C executable jac2d-ser
[ 61%] Built target jac2d-ser
Scanning dependencies of target propagation1d
[ 63%] Building C object examples/CMakeFiles/propagation1d.dir/propagation1d.c.o
[ 65%] Linking C executable propagation1d
[ 65%] Built target propagation1d
Scanning dependencies of target propagation2d
[ 68%] Building C object examples/CMakeFiles/propagation2d.dir/propagation2d.c.o
[ 70%] Linking C executable propagation2d
[ 70%] Built target propagation2d
Scanning dependencies of target jac1d
[ 72%] Building C object examples/CMakeFiles/jac1d.dir/jac1d.c.o
[ 74%] Linking C executable jac1d
[ 74%] Built target jac1d
Scanning dependencies of target jac2d
[ 76%] Building C object examples/CMakeFiles/jac2d.dir/jac2d.c.o
[ 78%] Linking C executable jac2d
[ 78%] Built target jac2d
Scanning dependencies of target jac3d
[ 80%] Building C object examples/CMakeFiles/jac3d.dir/jac3d.c.o
[ 82%] Linking C executable jac3d
[ 82%] Built target jac3d
Scanning dependencies of target vsum2
[ 85%] Building C object examples/CMakeFiles/vsum2.dir/vsum2.c.o
[ 87%] Linking C executable vsum2
[ 87%] Built target vsum2
Scanning dependencies of target vsum3
[ 89%] Building C object examples/CMakeFiles/vsum3.dir/vsum3.c.o
[ 91%] Linking C executable vsum3
[ 91%] Built target vsum3
Scanning dependencies of target vsum
[ 93%] Building C object examples/CMakeFiles/vsum.dir/vsum.c.o
[ 95%] Linking C executable vsum
[ 95%] Built target vsum
Scanning dependencies of target simpleagent
[ 97%] Building C object external/simple/CMakeFiles/simpleagent.dir/simple-agent.c.o
[100%] Linking C shared library libsimpleagent.so
[100%] Built target simpleagent
$ 

… of patches.

When run, these patches fix the remaining ICC enum warnings (ICC warning #188).
@weidendo
Copy link
Collaborator

I do not think this is useful.

Such refactoring is too early for LAIK, as such rules will be useless when stuff is changing fast.

@weidendo weidendo closed this Mar 29, 2018
@AlexanderKurtz
Copy link
Contributor Author

#140 (comment), #140 (comment), and #140 (comment) seem to suggest that the preferred fix is to switch from enums to ints, correct?

@AlexanderKurtz AlexanderKurtz deleted the coccinelle branch April 2, 2018 13:50
@AlexanderKurtz
Copy link
Contributor Author

Just for the record, this was an attempt to fix #145!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants