ls1mardyn / ls1-mardyn

ls1-MarDyn is a massively parallel Molecular Dynamics (MD) code for large systems. Its main target is the simulation of thermodynamics and nanofluidics. ls1-MarDyn is designed with a focus on performance and easy extensibility.
http://www.ls1-mardyn.de
Other
28 stars 15 forks source link

testNoLostParticles failing for non-knl vectorization on KNL #33

Closed NeoTheThird closed 5 years ago

NeoTheThird commented 5 years ago

When running non-knl vectorization modes on the KNL cluster, the following unit-tests fail:

DomainDecompBaseTest::testNoLostParticles (F) line: 97 parallel/tests/DomainDecompBaseTest.cpp
DomainDecompositionTest::testNoLostParticles (F) line: 121 parallel/tests/DomainDecompositionTest.cpp
KDDecompositionTest::testNoLostParticles (F) line: 241 parallel/tests/KDDecompositionTest.cpp
KDDecompositionTest::testNoLostParticles2 (F) line: 241 parallel/tests/KDDecompositionTest.cpp

I created a temporary branch that runs everything on KNL to test this: http://vmbungartz10.informatik.tu-muenchen.de/mardyn/blue/organizations/jenkins/ls1-mardyn/detail/neothethird_test/1/pipeline/

Is this a bug in mardyn or a faulty configuration in the Pipeline?

SteffenSeckler commented 5 years ago

probably a missing -fp-model precise in the common_icc.in file. Tried adding it.

NeoTheThird commented 5 years ago

Seems to work. Do you want me to cherry-pick and open a PR?

SteffenSeckler commented 5 years ago

sounds like a good idea

SteffenSeckler commented 5 years ago

if you run everything for the knl, it might probably make sense to run some of the configurations with the gcc compiler.

NeoTheThird commented 5 years ago

I thought it could be useful to have the jobs platform-agnostic, so we would use the vectorization mode as node labels and let jenkins figure out where to run everything. So that'd be

At the moment, we're running everything on KNL with icc and everything on atsccs11 with gcc, but would of course add some randomness if we go with my proposed setup... Maybe we add the compiler as another axis with just one configuration each? That way we could also easily test clang, which is listed as a supported compiler. I take we don't have a Licenses for the more esoteric ones (PGI, Cray, NEC SX, IBM XL)?

SteffenSeckler commented 5 years ago

yep, I thought so, too. Clang is also a possibility. I theory I anyways want to put most of it in our kubernetes cloud. That way we have well defined setups and could test everything nicely. But, for now you may do as you suggested ;) Fyi: we can also do all the sde stuff on the cloud

NeoTheThird commented 5 years ago

Ok, then I'll look into that.

Fyi: we can also do all the sde stuff on the cloud

I'll have to check how reliably i can tell jenkins what nodes to prefer for what jobs, we wouldn't want to run into a situation where a node that supports something natively sits idle while the cloud is spinning its wheels with sde.