yade:mpi_and_collider_rebased

Last commit made on 2019-10-10
Get this branch:
git clone -b mpi_and_collider_rebased https://git.launchpad.net/yade

Branch merges

Branch information

Name:
mpi_and_collider_rebased
Repository:
lp:yade

Recent commits

06d6699... by Bruno Chareyre on 2019-10-09

make constantness checkScript improvement-blind ;)

03dc59a... by Bruno Chareyre on 2019-10-09

fix unused variable with ENABLE_OPENMP=OFF

b5e28e4... by Bruno Chareyre on 2019-10-09

fix bracket

3e0345d... by Bruno Chareyre on 2019-10-09

relevant printed output in checkScript

307d3aa... by Bruno Chareyre on 2019-10-09

fix compilation with OPENMP and MPI=OFF

474f316... by Bruno Chareyre on 2019-10-09

fix ENABLE_MPI=OFF compilation

52108a7... by Bruno Chareyre on 2019-10-09

Better handling of sparsity in BodyContainer-ISCollider-ForceContainer + improvements of MPI parallelisation

    The main changes are listed below:
    fix memory corruption by O.setPermF
    enable BodyContainer::insertAtId beyhond current size
    introduce BodyContainer attributes keepListShort and realBodies
    Improved InsertionSortCollider: substantial speed-up after erasing bodies (e.g. mpirun) by looping on realBodies.
    python wrapper for BodyContainer::updateSubdomainLists
    fix getting forces in python wrapper and reduce synccount
    Enable Newton sub-timing
    Newton loops on real bodies only (+tune reserved size of vectors)

    MPI: decrease verbosity and more control on printed output
    MPI: erase_remote is now mandatory, yet erase_remote_master leaves erasing on master optional (which is faster for frequent merge) + couple smallfix
    MPI: fix/clean MPI examples
    MPI: fix target value of checkMPI.py
    MPI: keep niter the same in both parallel and serial execution of the test script
    MPI: a cleaner insertion of bodies from message - else optimized collider breaks
    MPI: reduce total print time
    MPI: implement and examplify inserting bodies per-worker
    MPI: enable building scene in parallell instead of splitting from master
    MPI: avoid expensive memory alloc when possible
    MPI: use python bytes and memoryview for efficient access to contiguous vector<int> memory
    MPI: improvement of mpi colliding process: set subdomain bounds as part of BoundDispatching, don't unbound/re-bound remote bodies all the time to minimize collider's effort
    MPI: increment collider.execTime externally so as to display the cost of collider updates specificaly in timing.stats()

0d4be16... by Janek Kozicki on 2019-10-07

small fix

8047d58... by Janek Kozicki on 2019-10-06

Fix debug mode compilation.

e8e6a01... by Janek Kozicki on 2019-10-01

Add counter that prints progress when testing all examples. Improve instructions.