mit-crpg / OpenMOC

A method of characteristics code for nuclear reactor physics calculations.
https://mit-crpg.github.io/OpenMOC/
Other
148 stars 83 forks source link

BG/Q Build Issues #175

Closed jtramm closed 9 years ago

jtramm commented 9 years ago

I'm running into some issues building from the main develop branch on BG/Q. Here's what I'm getting when I try to compile:

jtramm@vestalac2:~/OpenMOC$ python setup.py install --user --cc=bgxlc running install running build running build_py copying openmoc/openmoc.py -> build/lib/openmoc running build_ext building '_openmoc' extension bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c openmoc/openmoc_wrap.cpp -o build/temp.linux-ppc64-2.7/openmoc/openmoc_wrap.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Cell.cpp -o build/temp.linux-ppc64-2.7/src/Cell.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Geometry.cpp -o build/temp.linux-ppc64-2.7/src/Geometry.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/LocalCoords.cpp -o build/temp.linux-ppc64-2.7/src/LocalCoords.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Material.cpp -o build/temp.linux-ppc64-2.7/src/Material.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/log.cpp -o build/temp.linux-ppc64-2.7/src/log.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Point.cpp -o build/temp.linux-ppc64-2.7/src/Point.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/PolarQuad.cpp -o build/temp.linux-ppc64-2.7/src/PolarQuad.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/ExpEvaluator.cpp -o build/temp.linux-ppc64-2.7/src/ExpEvaluator.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Solver.cpp -o build/temp.linux-ppc64-2.7/src/Solver.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/CPUSolver.cpp -o build/temp.linux-ppc64-2.7/src/CPUSolver.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Surface.cpp -o build/temp.linux-ppc64-2.7/src/Surface.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Timer.cpp -o build/temp.linux-ppc64-2.7/src/Timer.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Track.cpp -o build/temp.linux-ppc64-2.7/src/Track.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/TrackGenerator.cpp -o build/temp.linux-ppc64-2.7/src/TrackGenerator.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Universe.cpp -o build/temp.linux-ppc64-2.7/src/Universe.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Cmfd.cpp -o build/temp.linux-ppc64-2.7/src/Cmfd.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic "src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "src/Geometry.cpp", line 534.3: 1540-0130 (S) "std::hash" is not declared. "src/Geometry.cpp", line 598.3: 1540-0130 (S) "std::hash" is not declared. "src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "openmoc/../src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "src/Universe.cpp", line 903.49: 1540-2955 (I) SUGGESTION: Try using "-qlanglvl=rightanglebracket". It looks like you are trying to use the associated C++0x feature. "src/Universe.cpp", line 903.49: 1540-0063 (S) The text ">>" is unexpected. "src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "src/Solver.cpp", line 541: 1586-358 (I) Loop was parallelized. "src/Cmfd.cpp", line 207.27: 1540-2903 (S) A variable length array may not be specified in an OpenMP "private" clause. "src/TrackGenerator.cpp", line 227.11: 1540-1102 (W) "volume" might be used before it is set. "src/TrackGenerator.cpp", line 227.59: 1540-1102 (W) "azim_index" might be used before it is set. "src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "src/ParallelHashMap.h", line 568.23: 1540-0130 (S) "std::hash" is not declared. "src/ParallelHashMap.h", line 556.6: 1540-0700 (I) The previous message was produced while processing "ParallelHashMap<unsigned long,fsr_data >::insert(unsigned long, fsr_data )". "src/TrackGenerator.cpp", line 1447.17: 1540-0700 (I) The previous message was produced while processing "TrackGenerator::readTracksFromFile()". "src/CPUSolver.cpp", line 102: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 180: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 199: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 212: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 235: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 258: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 265: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 299: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 475: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 495: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 515: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 587: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 755: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 800: 1586-358 (I) Loop was parallelized. 1500-030: (I) INFORMATION: log_printf(logLevel, const char *, ...): Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192. error: command 'bgxlc++_r' failed with exit status 1

The (S) errors need to be fixed I think.

Also, "pragma simd" is not supported by the XL compiler. For BG/Q, you need to use "pragma vector_level(10)".

wbinventor commented 9 years ago

This is probably because IBM hasn't taken the effort to add C++11 features like std::hash. Can you try building with GNU instead? This worked for me back in 2013, though IBM gave slightly better performance.

The #pragma simd is an issue that may be best dealt with an #ifdef GNU/IBM block. Thanks for posting this, I'll try to help more soon, but let me know if GNU works first.

On Fri, Jul 17, 2015 at 10:33 AM, John Tramm notifications@github.com wrote:

I'm running into some issues building from the main develop branch on BG/Q. Here's what I'm getting when I try to compile:

jtramm@vestalac2:~/OpenMOC$ python setup.py install --user --cc=bgxlc running install running build running build_py copying openmoc/openmoc.py -> build/lib/openmoc running build_ext building '_openmoc' extension bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c openmoc/openmoc_wrap.cpp -o build/temp.linux-ppc64-2.7/openmoc/openmoc_wrap.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Cell.cpp -o build/temp.linux-ppc64-2.7/src/Cell.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Geometry.cpp -o build/temp.linux-ppc64-2.7/src/Geometry.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/LocalCoords.cpp -o build/temp.linux-ppc64-2.7/src/LocalCoords.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Material.cpp -o build/temp.linux-ppc64-2.7/src/Material.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/log.cpp -o build/temp.linux-ppc64-2.7/src/log.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Point.cpp -o build/temp.linux-ppc64-2.7/src/Point.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/PolarQuad.cpp -o build/temp.linux-ppc64-2.7/src/PolarQuad.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/ExpEvaluator.cpp -o build/temp.linux-ppc64-2.7/src/ExpEvaluator.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Solver.cpp -o build/temp.linux-ppc64-2.7/src/Solver.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/CPUSolver.cpp -o build/temp.linux-ppc64-2.7/src/CPUSolver.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Surface.cpp -o build/temp.linux-ppc64-2.7/src/Surface.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Timer.cpp -o build/temp.linux-ppc64-2.7/src/Timer.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Track.cpp -o build/temp.linux-ppc64-2.7/src/Track.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/TrackGenerator.cpp -o build/temp.linux-ppc64-2.7/src/TrackGenerator.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Universe.cpp -o build/temp.linux-ppc64-2.7/src/Universe.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic bgxlc++_r -DFP_PRECISION=float -DSINGLE -DBGXLC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DCCACHE_CC=bgxlc++_r -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Cmfd.cpp -o build/temp.linux-ppc64-2.7/src/Cmfd.o -c -O2 -qarch=qp -qreport -qsimd=auto -qtune=qp -qunroll=auto -qsmp=omp -qpic "src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "src/Geometry.cpp", line 534.3: 1540-0130 (S) "std::hash" is not declared. "src/Geometry.cpp", line 598.3: 1540-0130 (S) "std::hash" is not declared. "src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "openmoc/../src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "src/Universe.cpp", line 903.49: 1540-2955 (I) SUGGESTION: Try using "-qlanglvl=rightanglebracket". It looks like you are trying to use the associated C++0x feature. "src/Universe.cpp", line 903.49: 1540-0063 (S) The text ">>" is unexpected. "src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "src/Solver.cpp", line 541: 1586-358 (I) Loop was parallelized. "src/Cmfd.cpp", line 207.27: 1540-2903 (S) A variable length array may not be specified in an OpenMP "private" clause. "src/TrackGenerator.cpp", line 227.11: 1540-1102 (W) "volume" might be used before it is set. "src/TrackGenerator.cpp", line 227.59: 1540-1102 (W) "azim_index" might be used before it is set. "src/pairwise_sum.h", line 26.13: 1540-1401 (I) An unknown "pragma simd" is specified. "src/ParallelHashMap.h", line 568.23: 1540-0130 (S) "std::hash" is not declared. "src/ParallelHashMap.h", line 556.6: 1540-0700 (I) The previous message was produced while processing "ParallelHashMap::insert(unsigned long, fsr_data )". "src/TrackGenerator.cpp", line 1447.17: 1540-0700 (I) The previous message was produced while processing "TrackGenerator::readTracksFromFile()". "src/CPUSolver.cpp", line 102: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 180: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 199: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 212: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 235: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 258: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 265: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 299: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 475: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 495: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 515: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 587: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 755: 1586-358 (I) Loop was parallelized. "src/CPUSolver.cpp", line 800: 1586-358 (I) Loop was parallelized. 1500-030: (I) INFORMATION: log_printf(logLevel, const char , ...): Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192. error: command 'bgxlc++_r' failed with exit status 1

The (S) errors need to be fixed I think.

Also, "pragma simd" is not supported by the XL compiler. For BG/Q, you need to use "pragma vector_level(10)".

— Reply to this email directly or view it on GitHub https://github.com/mit-crpg/OpenMOC/issues/175.

Will Boyd Nuclear Science & Engineering Massachusetts Institute of Technology Cell: 423.413.8469 wbinventor@gmail.com

theshuo commented 9 years ago

Compiling with

python setup.py install --user --cc=gcc

yields:

running install running build running build_py copying openmoc/openmoc.py -> build/lib/openmoc running build_ext building '_openmoc' extension gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c openmoc/openmoc_wrap.cpp -o build/temp.linux-ppc64-2.7/openmoc/openmoc_wrap.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Cell.cpp -o build/temp.linux-ppc64-2.7/src/Cell.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Geometry.cpp -o build/temp.linux-ppc64-2.7/src/Geometry.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/LocalCoords.cpp -o build/temp.linux-ppc64-2.7/src/LocalCoords.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/log.cpp -o build/temp.linux-ppc64-2.7/src/log.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Material.cpp -o build/temp.linux-ppc64-2.7/src/Material.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic cc1plus: error: unrecognized command line option "-std=c++11" cc1plus: error: unrecognized command line option "-std=c++11" gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Point.cpp -o build/temp.linux-ppc64-2.7/src/Point.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/PolarQuad.cpp -o build/temp.linux-ppc64-2.7/src/PolarQuad.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic cc1plus: error: unrecognized command line option "-std=c++11" cc1plus: error: unrecognized command line option "-std=c++11" gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/ExpEvaluator.cpp -o build/temp.linux-ppc64-2.7/src/ExpEvaluator.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Solver.cpp -o build/temp.linux-ppc64-2.7/src/Solver.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic cc1plus: error: unrecognized command line option "-std=c++11" cc1plus: error: unrecognized command line option "-std=c++11" cc1plus: error: unrecognized command line option "-std=c++11" gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/CPUSolver.cpp -o build/temp.linux-ppc64-2.7/src/CPUSolver.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic error: command 'gcc' failed with exit status 1 cc1plus: error: unrecognized command line option "-std=c++11" gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Surface.cpp -o build/temp.linux-ppc64-2.7/src/Surface.o -c -O3 -ffast-math -fopenmp -std=c++11 -fpic cc1plus: error: unrecognized command line option "-std=c++11" cc1plus: error: unrecognized command line option "-std=c++11" cc1plus: error: unrecognized command line option "-std=c++11" cc1plus: error: unrecognized command line option "-std=c++11"

jtramm commented 9 years ago

This one can be fixed by changing the flag to -std=gnu++0x

The next issue though becomes:

gcc -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Cmfd.cpp -o build/temp.linux-ppc64-2.7/src/Cmfd.o -c -O3 -ffast-math -fopenmp -std=gnu++0x -fpic In file included from src/Geometry.h:21, from src/TrackGenerator.h:16, from src/TrackGenerator.cpp:1: src/ParallelHashMap.h: In member function 'void FixedHashMap<K, V>::insert(K, V)': src/ParallelHashMap.h:260: error: expected end of line before 'update' src/ParallelHashMap.h: In member function 'int FixedHashMap<K, V>::insert_and_get_count(K, V)': src/ParallelHashMap.h:298: error: expected end of line before 'capture' src/ParallelHashMap.h:299: error: invalid operator for '#pragma omp atomic' before '=' token In file included from openmoc/../src/Geometry.h:21, from openmoc/openmoc_wrap.cpp:3094: openmoc/../src/ParallelHashMap.h: In member function 'void FixedHashMap<K, V>::insert(K, V)': openmoc/../src/ParallelHashMap.h:260: error: expected end of line before 'update' openmoc/../src/ParallelHashMap.h: In member function 'int FixedHashMap<K, V>::insert_and_get_count(K, V)': openmoc/../src/ParallelHashMap.h:298: error: expected end of line before 'capture' openmoc/../src/ParallelHashMap.h:299: error: invalid operator for '#pragma omp atomic' before '=' token In file included from src/Geometry.h:21, from src/Geometry.cpp:1: src/ParallelHashMap.h: In member function 'void FixedHashMap<K, V>::insert(K, V)': src/ParallelHashMap.h:260: error: expected end of line before 'update' src/ParallelHashMap.h: In member function 'int FixedHashMap<K, V>::insert_and_get_count(K, V)': src/ParallelHashMap.h:298: error: expected end of line before 'capture' src/ParallelHashMap.h:299: error: invalid operator for '#pragma omp atomic' before '=' token In file included from /usr/lib/gcc/ppc64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_algobase.h:66, from /usr/lib/gcc/ppc64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/char_traits.h:41, from /usr/lib/gcc/ppc64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/ios:41, from /usr/lib/gcc/ppc64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/istream:40, from /usr/lib/gcc/ppc64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/sstream:39, from src/log.h:19, from src/Point.h:13, from src/LocalCoords.h:13, from src/Universe.h:14, from src/Universe.cpp:1: /usr/lib/gcc/ppc64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_pair.h: In constructor 'std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = int, _U2 = long int, _T1 = int, T2 = Universe]': src/Universe.cpp:1088: instantiated from here /usr/lib/gcc/ppc64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stlpair.h:90: error: invalid conversion from 'long int' to 'Universe' In file included from src/Geometry.h:21, from src/TrackGenerator.h:16, from src/Solver.h:17, from src/Solver.cpp:1: src/ParallelHashMap.h: In member function 'void FixedHashMap<K, V>::insert(K, V)': src/ParallelHashMap.h:260: error: expected end of line before 'update' src/ParallelHashMap.h: In member function 'int FixedHashMap<K, V>::insert_and_get_count(K, V)': src/ParallelHashMap.h:298: error: expected end of line before 'capture' src/ParallelHashMap.h:299: error: invalid operator for '#pragma omp atomic' before '=' token In file included from src/Geometry.h:21, from src/TrackGenerator.h:16, from src/Solver.h:17, from src/CPUSolver.h:14, from src/CPUSolver.cpp:1: src/ParallelHashMap.h: In member function 'void FixedHashMap<K, V>::insert(K, V)': src/ParallelHashMap.h:260: error: expected end of line before 'update' src/ParallelHashMap.h: In member function 'int FixedHashMap<K, V>::insert_and_get_count(K, V)': src/ParallelHashMap.h:298: error: expected end of line before 'capture' src/ParallelHashMap.h:299: error: invalid operator for '#pragma omp atomic' before '=' token error: command 'gcc' failed with exit status 1

jtramm commented 9 years ago

I think this is due to BG/Q only having GCC 4.4.7, which is quite old and has minimal support for C++11.

jtramm commented 9 years ago

The ALCF team has also implemented their own version of clang, dubbed "bgclang", which claims to offer full support for C++11. However, when compiling with that I get the following errors:

jtramm@vestalac2:~/OpenMOC$ python setup.py install --user --cc=clang running install running build running build_py running build_ext building '_openmoc' extension creating build/temp.linux-ppc64-2.7 creating build/temp.linux-ppc64-2.7/openmoc creating build/temp.linux-ppc64-2.7/src bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c openmoc/openmoc_wrap.cpp -o build/temp.linux-ppc64-2.7/openmoc/openmoc_wrap.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Cell.cpp -o build/temp.linux-ppc64-2.7/src/Cell.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Geometry.cpp -o build/temp.linux-ppc64-2.7/src/Geometry.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/LocalCoords.cpp -o build/temp.linux-ppc64-2.7/src/LocalCoords.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/log.cpp -o build/temp.linux-ppc64-2.7/src/log.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Material.cpp -o build/temp.linux-ppc64-2.7/src/Material.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Point.cpp -o build/temp.linux-ppc64-2.7/src/Point.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/PolarQuad.cpp -o build/temp.linux-ppc64-2.7/src/PolarQuad.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/ExpEvaluator.cpp -o build/temp.linux-ppc64-2.7/src/ExpEvaluator.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Solver.cpp -o build/temp.linux-ppc64-2.7/src/Solver.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/CPUSolver.cpp -o build/temp.linux-ppc64-2.7/src/CPUSolver.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Surface.cpp -o build/temp.linux-ppc64-2.7/src/Surface.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Timer.cpp -o build/temp.linux-ppc64-2.7/src/Timer.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Track.cpp -o build/temp.linux-ppc64-2.7/src/Track.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/TrackGenerator.cpp -o build/temp.linux-ppc64-2.7/src/TrackGenerator.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Universe.cpp -o build/temp.linux-ppc64-2.7/src/Universe.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality bgclang -DFP_PRECISION=float -DSINGLE -DCLANG -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Cmfd.cpp -o build/temp.linux-ppc64-2.7/src/Cmfd.o -c -O3 -ffast-math -std=c++11 -fopenmp -fvectorize -fpic -Qunused-arguments -Wno-deprecated-register -Wno-parentheses-equality 0 libLLVM-3.7svn.so 0x00000fffa653053c llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 4277254948 1 libLLVM-3.7svn.so 0x00000fffa65316b8 2 libLLVM-3.7svn.so 0x00000fffa6531ed4 3 0x00000fffa76b0448 __kernel_sigtramprt64 + 0 4 clang 0x000000001050fcf4 clang::CodeGen::CodeGenFunction::EmitPreOMPPrivateClause(clang::OMPPrivateClause const&, clang::OMPExecutableDirective const&) + 4270860364 5 clang 0x00000000104fb28c clang::CodeGen::CodeGenFunction::EmitPreOMPClause(clang::OMPClause const&, clang::OMPExecutableDirective const&) + 4270777100 6 clang 0x00000000104fd054 clang::CodeGen::CodeGenFunction::EmitOMPDirectiveWithLoop(clang::OpenMPDirectiveKind, clang::OpenMPDirectiveKind, clang::OMPExecutableDirective const&, bool) + 4270784676 7 clang 0x00000000104f994c clang::CodeGen::CodeGenFunction::EmitOMPDirectiveWithParallelMicrotask(clang::OpenMPDirectiveKind, llvm::ArrayRefclang::OpenMPDirectiveKind, clang::OMPExecutableDirective const&) + 4270770732 8 clang 0x0000000010500d5c clang::CodeGen::CodeGenFunction::EmitOMPParallelForDirective(clang::OMPParallelForDirective const&) + 4270800132 9 clang 0x00000000104e1d2c clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const) + 4270675724 10 clang 0x00000000104ec3e0 clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) + 4270717896 11 clang 0x0000000010532d9c clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function, clang::CodeGen::CGFunctionInfo const&) + 4271000244 12 clang 0x0000000010546788 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue) + 4271077608 13 clang 0x0000000010541d78 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue) + 4271059152 14 clang 0x0000000010544b34 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) + 4271070500 15 clang 0x0000000010549018 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl) + 4271087584 16 clang 0x00000000104895f4 17 clang 0x0000000010479eb4 18 clang 0x00000000107284ec clang::ParseAST(clang::Sema&, bool, bool) + 4273000524 19 clang 0x0000000010200a2c clang::ASTFrontendAction::ExecuteAction() + 4267747284 20 clang 0x0000000010478a40 clang::CodeGenAction::ExecuteAction() + 4270260400 21 clang 0x0000000010200184 clang::FrontendAction::Execute() + 4267745140 22 clang 0x00000000101c08a8 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 4267489336 23 clang 0x000000001019bf44 clang::ExecuteCompilerInvocation(clang::CompilerInstance_) + 4267346988 24 clang 0x000000001018f964 cc1main(llvm::ArrayRef<char const*>, char const, void_) + 4267297460 25 clang 0x0000000010199960 main + 4267337648 26 libc.so.6 0x00000fffa45bc048 27 libc.so.6 0x00000fffa45bc240 __libc_start_main + 4293375320 Stack dump:

  1. Program arguments: /soft/compilers/bgclang/r238097-20150523/bin/clang -cc1 -fopenmp -omp-main-file-path src/Cmfd.cpp -triple powerpc64-bgq-linux -emit-obj -disable-free -main-file-name Cmfd.cpp -mrelocation-model pic -pic-level 1 -mthread-model posix -fveclib=SLEEF -mdisable-fp-elim -menable-no-infs -menable-no-nans -menable-unsafe-fp-math -fno-signed-zeros -freciprocal-math -ffp-contract=fast -ffast-math -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu a2q -target-abi elfv1-qpx -target-linker-version 2.20.51.0.2 -dwarf-column-info -coverage-file /home/jtramm/OpenMOC/build/temp.linux-ppc64-2.7/src/Cmfd.o -resource-dir /soft/compilers/bgclang/r238097-20150523/bin/../lib/clang/3.7.0 -D bgclang=1 -D bgclang_version="r238097-20150523" -D FP_PRECISION=float -D SINGLE -D CLANG -D VEC_LENGTH=8 -D VEC_ALIGNMENT=16 -D OPENMP -I /soft/compilers/bgclang/r238097-20150523/sleef/include -I /soft/compilers/bgclang/r238097-20150523/omp/include -I /soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I /soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -internal-isystem /bgsys/drivers/V1R2M2/ppc64/gnu-linux-4.7.2/lib/gcc/powerpc64-bgq-linux/4.7.2/../../../../powerpc64-bgq-linux/include/c++/4.7.2 -internal-isystem /bgsys/drivers/V1R2M2/ppc64/gnu-linux-4.7.2/lib/gcc/powerpc64-bgq-linux/4.7.2/../../../../powerpc64-bgq-linux/include/c++/4.7.2/powerpc64-bgq-linux -internal-isystem /bgsys/drivers/V1R2M2/ppc64/gnu-linux-4.7.2/lib/gcc/powerpc64-bgq-linux/4.7.2/../../../../powerpc64-bgq-linux/include/c++/4.7.2/backward -internal-isystem /usr/local/include -internal-isystem /soft/compilers/bgclang/r238097-20150523/bin/../lib/clang/3.7.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -Wno-deprecated-register -Wno-parentheses-equality -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /home/jtramm/OpenMOC -ferror-limit 19 -fmessage-length 115 -mstackrealign -fno-signed-char -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -isystem /soft/compilers/bgclang/r238097-20150523/c11threads -isystem /soft/compilers/bgclang/r238097-20150523/ppcfloor-fixup -isystem /soft/compilers/bgclang/r238097-20150523/ppcfloor-fixup/spi/include -isystem /bgsys/drivers/V1R2M2/ppc64/comm/gcc/include -isystem /bgsys/drivers/V1R2M2/ppc64/comm/lib/gnu -isystem /bgsys/drivers/V1R2M2/ppc64 -isystem /bgsys/drivers/V1R2M2/ppc64/comm/sys/include -isystem /bgsys/drivers/V1R2M2/ppc64/spi/include -isystem /bgsys/drivers/V1R2M2/ppc64/spi/include/kernel/cnk -isystem /bgsys/drivers/V1R2M2/ppc64/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include -o build/temp.linux-ppc64-2.7/src/Cmfd.o -x c++ src/Cmfd.cpp
  2. src/Cmfd.cpp:338:1: current parser token 'void'
  3. src/Cmfd.cpp:182:12: LLVM IR generation of declaration 'Cmfd::computeXS'
  4. src/Cmfd.cpp:182:12: Generating code for declaration 'Cmfd::computeXS' clang: error: unable to execute command: Segmentation fault (core dumped) clang: error: clang frontend command failed due to signal (use -v to see invocation) clang version 3.7.0 Target: powerpc64-bgq-linux Thread model: posix clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. clang: note: diagnostic msg:

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang: note: diagnostic msg: /tmp/Cmfd-4a22b4.cpp clang: note: diagnostic msg: /tmp/Cmfd-4a22b4.sh clang: note: diagnostic msg:


error: command 'bgclang' failed with exit status 254

jtramm commented 9 years ago

For the gcc cross compiler, a few of these issues are due to usage of some of the newer openMP atomic types. Reversion to some of the older stuff (i.e., a named critical region rather than an atomic capture) solves that problem. Now I'm just left with an issued in the Cmfd.cpp file:

... mpic++ -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Cmfd.cpp -o build/temp.linux-ppc64-2.7/src/Cmfd.o -c -O3 -ffast-math -fopenmp -std=gnu++0x -fpic In file included from /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/bits/stl_algobase.h:66, from /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/bits/char_traits.h:41, from /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/ios:41, from /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/istream:40, from /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/sstream:39, from src/log.h:19, from src/Point.h:13, from src/LocalCoords.h:13, from src/Universe.h:14, from src/Universe.cpp:1: /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/bits/stl_pair.h: In constructor 'std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = int, _U2 = long int, _T1 = int, T2 = Universe]': src/Universe.cpp:1088: instantiated from here /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/bits/stlpair.h:90: error: invalid conversion from 'long int' to 'Universe' error: command 'mpic++' failed with exit status 1

wbinventor commented 9 years ago

This issue is the same issue as what PR #174 addresses. I still have a few things to address for that PR (see the discussion), but it should be ready for your use case. Perhaps try merging in that code? On Jul 17, 2015 1:06 PM, "John Tramm" notifications@github.com wrote:

A few of these issues are due to usage of some of the newer openMP atomic types. Reversion to some of the older stuff (i.e., a named critical region rather than an atomic capture) solves that problem. Now I'm just left with an issued in the Cmfd.cpp file:

... mpic++ -DFP_PRECISION=float -DSINGLE -DGCC -DVEC_LENGTH=8 -DVEC_ALIGNMENT=16 -DOPENMP -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/lib/python2.7/site-packages/numpy/core/include -I/soft/interpreters/python-2.7.9/powerpc64-linux-gnu/include/python2.7 -c src/Cmfd.cpp -o build/temp.linux-ppc64-2.7/src/Cmfd.o -c -O3 -ffast-math -fopenmp -std=gnu++0x -fpic In file included from /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/bits/stl_algobase.h:66, from /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/bits/char_traits.h:41, from /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/ios:41, from /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/istream:40, from /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/sstream:39, from src/log.h:19, from src/Point.h:13, from src/LocalCoords.h:13, from src/Universe.h:14, from src/Universe.cpp:1: /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/bits/stl_pair.h: In constructor 'std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = int, _U2 = long int, _T1 = int, _T2 = Universe

_]': src/Universe.cpp:1088: instantiated from here /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../../powerpc64-bgq-linux/include/c++/4.4.7/bits/stlpair.h:90: error: invalid conversion from 'long int' to 'Universe' error: command 'mpic++' failed with exit status 1

— Reply to this email directly or view it on GitHub https://github.com/mit-crpg/OpenMOC/issues/175#issuecomment-122397951.

jtramm commented 9 years ago

That seems to have fixed it! I'm able to compile with the gcc cross compiler now. Going to try out a test case now.

wbinventor commented 9 years ago

Excellent! Feel free to propose changes or submit a PR to address the OpenMP issues if needed. On Jul 17, 2015 1:19 PM, "John Tramm" notifications@github.com wrote:

That seems to have fixed it! I'm able to compile with the gcc cross compiler now. Going to try out a test case now.

— Reply to this email directly or view it on GitHub https://github.com/mit-crpg/OpenMOC/issues/175#issuecomment-122401878.

wbinventor commented 9 years ago

Has this issue been resolved @jtramm @theshuo @geogunow? If so, perhaps a PR should be opened to update the build system?

wbinventor commented 9 years ago

Closed per the conversation on #165.