K-ballo changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar.cct.lsu.edu | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | Buildbot: http://rostam.cct.lsu.edu/ | Log: http://irclog.cct.lsu.edu/
nanmiao has joined #ste||ar
Gibbs has joined #ste||ar
Gibbs has quit [Quit: Connection closed]
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: bye]
Coldblackice_ is now known as Coldblackice
nanmiao has quit [Quit: Connection closed]
shubham has joined #ste||ar
shubham has quit [Quit: Connection closed for inactivity]
hkaiser_ has quit [Remote host closed the connection]
hkaiser_ has joined #ste||ar
gdaiss[m] has joined #ste||ar
hkaiser has joined #ste||ar
hkaiser_ has quit [Ping timeout: 276 seconds]
<sestro[m]>
Hi, is there an easy way to create a "task-local" variable in HPX? I'm looking for the equivalent to `thread_local` but for HPX tasks. The use case is to have a variable shared between all iterations in a `hpx::for_loop` performed by the same task. Or would I manually create the chunks over the loop index and add the variable at this level?
hkaiser_ has joined #ste||ar
<hkaiser>
sestro[m]: there is get/set_thread_data that allows to attach a size_t to a hpx thread
<hkaiser>
but this is very low level
<hkaiser>
sestro[m]: do you need a variable for some collective operation?
hkaiser_ has quit [Client Quit]
<sestro[m]>
hkaiser: I need a sort of a lookup cache, but only for the scope of each individual task, so not shared between tasks.
<hkaiser>
would creating the cache on the stack of that task work? or do you need to access it after the task ended as well?
<sestro[m]>
No, that should work.
<hkaiser>
might be the easiest solution...
<sestro[m]>
true, thanks!
<ms[m]>
gnikunj: just in case, kokkos meeting started now
diehlpk_work has joined #ste||ar
nanmiao has joined #ste||ar
<sestro[m]>
hkaiser: sry, had to run before. regarding the stack allocation: unless I'm missing something here (which most likely is the case) allocating the cache on the stack within the functor passed to `hpx::for_loop` would mean the object is created for each single iteration. this is what I'm trying to avoid.