Comments (15)
I agree
from grid.
Also we need to audit Test_simd for more functionality, as you hit some test escapes.
from grid.
I already added the tests for the real and imag (which for consistency with the vectorization do NOT return a real object but a complex - a real can be obtained with the toReal function).
from grid.
we also need an mpi build and two mpi task sanity check.
from grid.
Two things:
- MPI builds depends on our ability on running MPI on Travis VMs. I will give it a shot and let you know.
- Tests could be included in a
make check
target which is easy to setup with autotools. We would need the selected tests to exit with status 1 in case of failure which is not the case at the moment. This would causemake check
to exit with status 1 and the Travis build will then consider it as a failure. Can somebody modify the tests to add assert/conditions to make tests crash in case of failure? Once this is done I am happy to integrate that into the build system and Travis.
from grid.
MPI does not look to go well with Travis. The Linux version uses an archaic MPI which misses some types and the OS X one crashes just calling MPI_comm_rank
.
Please see https://travis-ci.org/paboyle/Grid/builds/150041548
Not sure if it is worth pursuing that.
from grid.
the build log on MacOSX looks like it built ok but was missing the
--mpi 1.2.1.1
flag on the execution to indicate the node grid?
It might be ok ?
from grid.
Agree the MPI_UINT32_T is weird on Travis/Linux.
Curious which MPI version they are using.
from grid.
Arrrg, of course... I will correct that. The version of MPI Travis is using is http://packages.ubuntu.com/precise/libopenmpi-dev, I am not sure how old it is (but probably a lot).
from grid.
Ok I made that work. There was of course the missing --mpi
option but I also made my way through the linux problem by remapping the MPI UINT
types to other integers types through compile flags.
https://travis-ci.org/paboyle/Grid/builds/150186880
from grid.
MPI tests are working and merged into develop
from grid.
Correct me if I'm wrong, but I think this issue should still be opened as we still need a make check
kind of target that validate a build as working. I'll move the milestone to 0.7.
from grid.
-- Tests/forces Fermion and Gauge Force tests across range of actions
-- A small HMC trajectory to cover integrators. How many integrators?
from grid.
Test_cshift_red_black
Test_cshift_rotate
from grid.
I've discovered:
AM_EXTRA_RECURSIVE_TARGETS
and will use targets "check, bench, and tests" as recursive in the way that "all" is already
simplifying the Make structure. This greatly simplifies the subdir recursion over the current implementation which I think Antonin did.
The autogenerated Make.inc, created by scripts/filelist
will set the local files to be compiled for each directory:
tests-local:
for subdirs under Grid/tests.
This prevents make all from building the tests in the existing way but is cleaner.
make tests will build these non installed tests.
We need in the local Makefile.am only the following:
(e.g. tests/Makefile.am + subdir Makefile.am's)
check-local:
-- Run any checks in each subdir
(e.g. benchmarks/Makefile.am)
bench-local:
-- Run any benchmarks
There is no need for makefiles to contain a shell script over subdirs.
It is possible to introduce (easily) now a "make extras" target that recurses appropriately.
Adding a new test to make check involves just adding to a
check-local:
./Test_mytest
To the local Makefile.am.
Only short running tests that check their answer and throw error by calling assert( answer == good ) ;
should be added to the autorun tests.
This results in a make fail as below. I use assert and not exit(-1) etc because this throws
a signal (sigabort) under MPI jobs and is a more reliable way to force termination on all nodes.
Note the build is autorecursive.
c010200:build peterboyle$ make check
Making check in lib
Making check in benchmarks
make[1]: Nothing to be done for check'. Making check in tests Making check in . /Applications/Xcode.app/Contents/Developer/usr/bin/make check-local Making all in . make[4]: Nothing to be done for
all-am'.
Making all in core
make[4]: Nothing to be done for all'. Making all in forces make[4]: Nothing to be done for
all'.
Making all in hmc
make[4]: Nothing to be done for all'. Making all in solver make[4]: Nothing to be done for
all'.
Making all in debug
make[4]: Nothing to be done for all'. Making all in smearing make[4]: Nothing to be done for
all'.
Making all in qdpxx
make[4]: Nothing to be done for `all'.
./Test_simd
Assertion failed: (0), function main, file ../../tests/Test_simd.cc, line 506.
make[3]: *** [check-local] Abort trap: 6
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check-recursive] Error 1
from grid.
Related Issues (20)
- MPI2 romio321 library fails when reading >= 2GB per rank HOT 2
- Cannot compile the gparity and adjoint versions of the CompactWilsonCloverAction
- Compilation errors and warnings build targeting Nvidia GPUs HOT 2
- GPU Benchmark_ITT segfaults with MPI and ranks > 1 HOT 9
- Create a version of Benchmark_ITT including Clover instead of Wilson
- Grid fails to build for Nc != 3
- hipcc on Crusher: function bcopy undefined (compiler does not have openmp enabled?) HOT 1
- Certain operations involving SitePropagator::scalar_object won't compile with CUDA for Nc > 3
- make install doesn't install all headers due to duplicate Config.h and Version.h HOT 3
- Using ILDG checkpointer causes a crash during write HOT 2
- Develop is broken HOT 1
- ARM NEON is broken HOT 2
- Feature request: provenance tracking
- Add hint to shm error message
- Cuda error invalid device ordinal
- Recent commit causing Grid build to fail
- The configure options --enable-setdevice and --diable-setdevice have no effect
- Grid does not compile on Arm with CUDA HOT 9
- invalid configuration argument when running with 1 GPU
- FlightRecorder.cc breaks compilation for --enable-comms=none HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grid.