3343 / edge Goto Github PK
View Code? Open in Web Editor NEWExtreme-scale Discontinuous Galerkin Environment (EDGE)
Home Page: https://dial3343.org
Extreme-scale Discontinuous Galerkin Environment (EDGE)
Home Page: https://dial3343.org
As discussed in PR #2:
int
s by long
s in futureusing namespace std
and using namespace moab
.std::min()
works fine for #define min(X, Y) (((X) < (Y)) ? (X) : (Y))
.MB_TAG_SPARSE
should be used when only a few entities hold the tag. Since we assign velocities to all elements, dense is probably better.Unfortunately, MOAB is not thread safe:
EDGE-V fails in parallel with MOAB-errors.
Runs fine with OMP_NUM_THREADS=1
.
Two options:
edge/tools/edge_v/src/edge_v.cpp
Line 58 in dd9735e
EDGE's numa-aware inits through OMP's num_threads
:
edge/src/impl/elastic/setup.inc
Line 99 in 466a64d
edge/src/impl/elastic/solvers/common.hpp
Line 355 in 466a64d
edge/src/impl/elastic/solvers/AderDg.hpp
Line 321 in 466a64d
reset the thread-id of the last thread to zero:
Line 31 in 466a64d
Bug appears in GCC toolchain (4.9.2-10 and 5.3.0).
icpc (18.0.0 20170811) and clang++ (4.0.1) with iomp work fine.
Reproducer attached:
alex@deb:~/debug$ g++ -fopenmp global.cpp numt.cpp
alex@deb:~/debug$ OMP_NUM_THREADS=3 ./a.out running
setting g_thread
printing g_thread
3 0
3 1
3 2
working on some side-effects..............................
printing g_thread
3 1
3 0
3 0
-bash-4.2$ icpc -fopenmp global.cpp numt.cpp
-bash-4.2$ OMP_NUM_THREADS=3 ./a.out
running
setting g_thread
printing g_thread
3 2
3 0
3 1
working on some side-effects..............................
printing g_thread
3 1
3 0
3 2
Building from Master with GCC 7 and later fails due to a combination of -Wextra and -Werror. Since GCC 7, -Wextra emits the warning -Wimplicit-fallthrough= when a switch-case block is missing a "break" at the end of each case.
The submodule pugixml seems to have this issue, GCC apparently takes issue with a switch block, sends out the warning, and the terminates due to -Werror.
This can be suppressed by compiling with the flag -Wimplicit-fallthrough=0.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.