CkLoop: add hybrid version 59/4459/26
authorMatthias Diener <mdiener@illinois.edu>
Wed, 8 Aug 2018 02:34:14 +0000 (21:34 -0500)
committerSam White <white67@illinois.edu>
Thu, 18 Oct 2018 19:12:45 +0000 (14:12 -0500)
commit69809ac0a5c7c5c46dc75f2b1a0096a75e1ff9f3
tree4024f16919a5c0bf966ae7e3bcc9d81782850c3c
parent0b81434da7d58ca703cd83c4b03b05803ea21b9d
CkLoop: add hybrid version

This adds the hybrid mode to CkLoop. In this mode,
each PE's share of the iteration space is divided between
a static and a dynamic part. The dynamic part is inserted
in a PE's task queue, and PE's can steal work from other PE's
queues after finishing their own static and dynamic work.
This also adds drone mode that can be enabled by passing
--enable-drone-mode to the build command. Drone mode maps
chares to only rank 0 of nodes, other ranks perform work
through work stealing. --enable-task-queue to be used
with build command has been added to allow enabling
task queue.

Change-Id: I36ad2052adfecc2336bbdda47204144372f95313
12 files changed:
doc/charm++/looplevel.tex
examples/charm++/ckloop/dotProd/Makefile [new file with mode: 0644]
examples/charm++/ckloop/dotProd/dotProd.C [new file with mode: 0644]
examples/charm++/ckloop/dotProd/dotProd.ci [new file with mode: 0644]
src/ck-core/cklocation.C
src/ck-core/cklocation.h
src/ck-ldb/CentralLB.C
src/conv-core/convcore.c
src/libs/ck-libs/ckloop/CkLoop.C
src/libs/ck-libs/ckloop/CkLoop.h
src/libs/ck-libs/ckloop/CkLoopAPI.h
src/scripts/configure.ac