Skip to content

parameter space for dgswem_lgd_dataflow

Zach Byerly edited this page Feb 9, 2017 · 1 revision

launch policy: right now using "async"

alternative would be: hpx::launch::fork. This is "parent stealing." async does "child stealing." Parent stealing has a proven upper resource requirements, because you always work first on the child.

Or we could use, async(hpx::threads::thread_priority_boost, makes sure the child task gets scheduled as quickly as possible

  1. "child stealing" - default
  2. fork: "parent stealing," suspends parent and executes child immediately
  3. use async(thread_priority_boost) still "child stealing" but child tasks has higher priority

max busy loop

docs/manual/config_defaults.qpk --hpx:ini=hpx.max_busy_loop_count=10

default is 2000,

might be worth changing to 10, or 20,

chunksize (lookahead sliding semaphore)

"chunksize" value should be equal to # of subdomains on a node

Overheads and task size

less than 150microsec per RK step (hpx thread) (1-1.5 seconds of overhead per task)

Create performance counter for execution time for individual update step (rk and slopelimiter)

use hpx:util:highresolutiontimer

Information

Clone this wiki locally