README.APEX
1There are two 1d_stencil examples that use runtime adaptation.
2
3The first one is 1d_stencil_4_repart - it will repartition the blocks to adapt
4the block size given the problem size and thread count. To run that example,
5configure HPX with APEX:
6
7cmake ... \
8-DHPX_WITH_APEX=TRUE \
9-DAPEX_WITH_ACTIVEHARMONY=TRUE \
10-DACTIVEHARMONY_ROOT=<path-to-activeharmony> \
11...
12
13Then to execute the example:
14
15export HARMONY_HOME=$HOME/install/activeharmony/4.5
16./build.tcmalloc/bin/1d_stencil_4_repart --nx=100000 --nt=500 --nr=10
17
18
19The other example uses throttling to achieve the highest throughput by
20minimizing the thread queue length. To execute that example:
21
22export APEX_THROTTLE_CONCURRENCY=1
23export APEX_THROTTLE_ENERGY=1
24export APEX_POLICY=1
25export APEX_THROTTLING_MAX_THREADS=20
26
27./build.tcmalloc/bin/1d_stencil_4_throttle --nx 100000 --np 1000 --nt 450 \
28--hpx:queuing=throttle --hpx:threads 20
29