Coder Social home page Coder Social logo

Comments (9)

paboyle avatar paboyle commented on July 18, 2024

Thanks -- I've reproduced this.

from grid.

paboyle avatar paboyle commented on July 18, 2024

For info -- I'm seeing it working under Clang and ICPC, but failing under G++ on Cori.

Amusingly, there is a bug in gdb on Cori that makes gdb itself segv when it reads the symbols in
the debug binary which is a pain... Apparently an infinite recursion loop on demangling C++11 symbols.

gdb gdb

from grid.

paboyle avatar paboyle commented on July 18, 2024

Hmm... it's associated with the use of std::thread in the comms overlapped with compute
portion.

I can disable this -- it went slower rather than faster on the Cray hardware I was targeting.

However, for now it does look to me like GCC's fault and not mine. I've committed a patch,
simply switching off the use of std::thread()

Peter

from grid.

i-kanamori avatar i-kanamori commented on July 18, 2024

Thank you very much, I have confirmed that the new version runs without any problems.
I actually had the same problem with Clang 3.5, but has disappeared now.

The latest version also runs with more realistic configurations with icpc:

  • without the debug option: CXX=icpc --enable-simd=AVX --enable-precision=single CXXFLAGS="-std=c++11 -O3 -mavx" LIBS="-lgmp -lmpfr" --enable-comms=none
  • with openmp: CXX=icpc --enable-simd=AVX --enable-precision=single CXXFLAGS="-fopenmp -std=c++11 -O3 -mavx " LIBS="-lgmp -lmpfr" --enable-comms=none
  • with openmp and mpi: CXX=mpic++ --enable-simd=AVX --enable-precision=single CXXFLAGS="-fopenmp -std=c++11 -O3 -mavx " LIBS="-lgmp -lmpfr" --enable-comms=mpi
    ( my environment for the mpi is open MPI 1.10.2)

Issaku

from grid.

paboyle avatar paboyle commented on July 18, 2024

Thanks Issaku,

I will now return to the IMCI compilation.

Peter

from grid.

paboyle avatar paboyle commented on July 18, 2024

From Babbage at NERSC.

[pboyle@bint01 icpc-imci-none]$ icpc --version
icpc (ICC) 16.0.0 20150815
Copyright (C) 1985-2015 Intel Corporation. All rights reserved.

[pboyle@bint01 icpc-imci-none]$ gcc (GCC) 4.8.0

$ ../../configure --host=none --enable-precision=single --enable-simd=IMCI CXXFLAGS=-mmic -openmp -O3 -std=c++11 LDFLAGS= LIBS=-mmic -openmp --enabl
e-comms=none CXX=icpc

Clean compile:
make[1]: Entering directory `/chos/global/u1/p/pboyle/nightly/Grid/builds/icpc-imci-none/benchmarks'
CXX Benchmark_comms.o
CXX Benchmark_dwf.o
CXX Benchmark_memory_asynch.o
CXX Benchmark_memory_bandwidth.o
CXX Benchmark_su3.o
CXX Benchmark_wilson.o
CXX Benchmark_zmm.o
CXXLD Benchmark_comms
CXXLD Benchmark_su3
CXXLD Benchmark_memory_bandwidth
CXXLD Benchmark_memory_asynch
CXXLD Benchmark_zmm
CXXLD Benchmark_dwf
CXXLD Benchmark_wilson

from grid.

paboyle avatar paboyle commented on July 18, 2024

Also an aside on clang-3.5 -- Clang only integrated openMP into the main trunk on v3.8 .

I think, but don't know clang-omp++, the non-standard OpenMP development branch would have
been ok on 3.5, but not stock 3.5.

I've been using clang 3.8 since it was released since it was the first clang with OMP support
integrated in the main branch.

from grid.

i-kanamori avatar i-kanamori commented on July 18, 2024

I will try the new version with KNC, although I have no time till Friday. Also I will update my Clang to 3.8.
Thank you very much,
Issaku

from grid.

i-kanamori avatar i-kanamori commented on July 18, 2024

Now the latest version (Grid-f8f9fd6f22aede4c78284b912bee0ae79d68fb3c) runs on KNC, thank you very much.

../configure CXX=icpc --enable-simd=IMCI --enable-precision=single CXXFLAGS="-fast -mmic -fopenmp -std=c++11 -I/opt/mic/include/" LDFLAGS="-mmic" LIBS="-mmic -L/opt/mic/lib -lmpfr -lgmp" --enable-comms=none --host=none
(I also tried -O0 and -O3 instead of -fast, all of them works)

from grid.

Related Issues (20)

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.