hkaiser changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar-group.org | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | This channel is logged: irclog.cct.lsu.edu
tufei_ has joined #ste||ar
tufei has quit [Ping timeout: 276 seconds]
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 252 seconds]
K-ballo1 is now known as K-ballo
diehlpk has joined #ste||ar
<diehlpk_work>
hkaiser, The hpx-kokkos update to HPX 1.7 is strange
<diehlpk_work>
It asks for kokkos 3.4.99 which is not released
<diehlpk_work>
3.4.01 is the lastest version
<hkaiser>
diehlpk_work: it's probably based on kokkos master
hkaiser has quit [Quit: Bye!]
diehlpk has quit [Quit: Leaving.]
K-ballo has quit [Quit: K-ballo]
diehlpk_work has quit [Remote host closed the connection]
Yorlik has joined #ste||ar
Yorlik_ has joined #ste||ar
Yorlik has quit [Ping timeout: 264 seconds]
Yorlik_ has quit [Ping timeout: 264 seconds]
Yorlik_ has joined #ste||ar
<ms[m]>
diehlpk_work: exactly that
<ms[m]>
specifically, that branch that I have in the readme at the moment until it's merged into kokkos develop
<dkaratza[m]>
<ms[m]> "could you describe what you..." <- alright, Im trying to fix the section "why hpx?"
<dkaratza[m]>
so just changing the level doesn't work because the titles keep appearing but a level lower
<dkaratza[m]>
sorry for the late answer btw, its been really busy the last days
<ms[m]>
dkaratza: ok, I see now
<ms[m]>
so maybe we had different things in mind but I don't think we need to fully hide those subheadings
<ms[m]>
we don't do that elsewhere after all
<ms[m]>
at least what I was thinking is that for example everything after "governing principles..." could be a subsection of "governing principles..."
<ms[m]>
then we'd be left with only headings on the first level
<ms[m]>
I'm sure the text itself could also be restructured and shortened but that's a separate issue
<ms[m]>
we can ask the others in the meeting later today
Yorlik_ has quit [Ping timeout: 260 seconds]
Yorlik_ has joined #ste||ar
Yorlik_ has quit [Ping timeout: 246 seconds]
<dkaratza[m]>
ms ok, so the suggestion is to add a title "governing principles" above these Already existing titles ?
<dkaratza[m]>
<ms[m]> "we can ask the others in the..." <- Sure!
Yorlik_ has joined #ste||ar
<ms[m]>
dkaratza: yeah, something like that
<ms[m]>
do you think that looks reasonable + like an improvement?
hkaiser has joined #ste||ar
K-ballo has joined #ste||ar
Yorlik_ has quit [Ping timeout: 252 seconds]
hkaiser has quit [Quit: Bye!]
RostamLog has joined #ste||ar
<pedro_barbosa[m]>
s/functio/function/
<pedro_barbosa[m]>
I was trying to copy the last line of a cube from the GPU to the Host but keep getting the error
<pedro_barbosa[m]>
>"{what}: CudaError: out of memory at buffer:enqueue_read allocate host memory"
<pedro_barbosa[m]>
And I'm not sure why but I think I'm trying to copy more data than what I think I'm going
<pedro_barbosa[m]>
* I was trying to copy the 2nd line of a cube from the GPU to the Host but keep getting the error
<pedro_barbosa[m]>
> "{what}: CudaError: out of memory at buffer:enqueue_read allocate host memory"
K-ballo has quit [Read error: Connection reset by peer]
K-ballo1 has joined #ste||ar
K-ballo1 is now known as K-ballo
<dkaratza[m]>
<ms[m]> "do you think that looks reasonab..." <- sure, makes sense!
diehlpk has joined #ste||ar
tufei__ has joined #ste||ar
tufei_ has quit [Ping timeout: 276 seconds]
hkaiser has joined #ste||ar
diehlpk has quit [Quit: Leaving.]
hkaiser_ has joined #ste||ar
hkaiser has quit [Ping timeout: 264 seconds]
Yorlik_ has joined #ste||ar
srinivasyadav227 has quit [Remote host closed the connection]
KordeJong[m] has quit [Remote host closed the connection]
pedro_barbosa[m] has quit [Remote host closed the connection]
heller[m] has quit [Remote host closed the connection]
gnikunj[m] has quit [Remote host closed the connection]
gdaiss[m] has quit [Remote host closed the connection]
ms[m] has quit [Write error: Connection reset by peer]
bhumit[m]1 has quit [Write error: Connection reset by peer]
gonidelis[m] has quit [Remote host closed the connection]
Deepak1411[m] has quit [Remote host closed the connection]
jedi18[m] has quit [Remote host closed the connection]
dkaratza[m] has quit [Remote host closed the connection]
shivamsingh226[m has quit [Remote host closed the connection]
rori[m] has quit [Remote host closed the connection]
PatrickDiehl[m] has quit [Remote host closed the connection]
mdiers[m] has quit [Remote host closed the connection]
rachitt_shah[m] has quit [Read error: Connection reset by peer]
PatrickDiehl[m] has joined #ste||ar
diehlpk has joined #ste||ar
jedi18[m] has joined #ste||ar
ms[m] has joined #ste||ar
bhumit[m] has joined #ste||ar
gonidelis[m] has joined #ste||ar
dkaratza[m] has joined #ste||ar
KordeJong[m] has joined #ste||ar
rachitt_shah[m] has joined #ste||ar
srinivasyadav227 has joined #ste||ar
shivamsingh226[m has joined #ste||ar
gnikunj[m] has joined #ste||ar
rori[m] has joined #ste||ar
pedro_barbosa[m] has joined #ste||ar
Deepak1411[m] has joined #ste||ar
mdiers[m] has joined #ste||ar
heller[m] has joined #ste||ar
gdaiss[m] has joined #ste||ar
diehlpk has quit [Quit: Leaving.]
diehlpk has joined #ste||ar
Yorlik_ has quit [Ping timeout: 246 seconds]
diehlpk has quit [Quit: Leaving.]
diehlpk has joined #ste||ar
hkaiser_ has quit [Quit: Bye!]
diehlpk has quit [Quit: Leaving.]
Guest16 has joined #ste||ar
<Guest16>
Is there a way to have any hpx spawned thread execute some function before doing anything else?
Guest16 is now known as FunMiles
<dkaratza[m]>
do you know where i can find the hpx logo with the black letters?
<FunMiles>
E.g. the MKL library can be switched per-thread to use a given number of threads. I'd like to call from HPX thread the routine that changes the number to set it to 1. But I don't want to do it more than once.
K-ballo has quit [Quit: K-ballo]
<dkaratza[m]>
ms: also i think the conflict now is gone if you would like to check it. and i added the changes of the section "why hpx" as well
K-ballo has joined #ste||ar
diehlpk has joined #ste||ar
hkaiser has joined #ste||ar
<FunMiles>
Is there a way to have any hpx spawned thread execute some function before doing anything else? E.g. the MKL library can be switched per-thread to use a given number of threads. I'd like to call from HPX thread the routine that changes the number to set it to 1. But I don't want to do it more than once.
diehlpk has quit [Quit: Leaving.]
<hkaiser>
pass your function(s) to a wrapper that sets it before executing the function
<FunMiles>
@hkaiser In this case, it would happen for every function that I call, right? I don't know how costly the call the the MKL routine is, but I'd rather avoid it once it has been done. One option I thought of which is not cost-less at each call is to have a static thread-local variable that could take care of making the call the first time in its initialization. It still cost a few cycles, but probably less than the call to the
<hkaiser>
well, then wrap it into a static function local variable initialization
<hkaiser>
FunMiles: pls refresh the link above
<FunMiles>
Yes that does work. As an alternative, would adding a customization point for HPX to make a user-given call at thread start and at thread end be easily done?
<FunMiles>
OS thread I mean.
<hkaiser>
for each created OS thread?
<hkaiser>
or just on the main thread?
<FunMiles>
For each OS thread.
<FunMiles>
Just thinking of such cases, if the call was done at the start of each OS thread, I'd be set.
<FunMiles>
Some people may have other uses too.
<hkaiser>
FunMiles: you could simply create a thread_local instance of the init_once I posted
<FunMiles>
thread_local instances are guaranteed to be created at thread start, I presume? What happens if a dynamic library is loaded that defines a thread_local variable? Will any thread started after guarantee their initialization?
<hkaiser>
yes
<hkaiser>
hmm, good point
<FunMiles>
Some discussion on stack overflow mentions this from the standard:
<FunMiles>
Dynamic initialization of a block-scope variable with static storage duration (6.7.1) or thread storage duration (6.7.2) is performed the first time control passes through its declaration; such a variable is considered initialized upon the completion of its initialization.
<hkaiser>
FunMiles: I'd try it, but if the dll is loaded then the thread_local should kick in whenever a new thread is created
<hkaiser>
nah, not function local scope
<hkaiser>
create the thread_local at global scope
<FunMiles>
I will experiment.
<FunMiles>
The following rule may work for global storage:
<FunMiles>
A variable with thread storage duration shall be initialized before its first odr-use (6.2) and, if constructed, shall be destroyed on thread exit.
<FunMiles>
But it seems to say it has to be used somehow.
<hkaiser>
FunMiles: no, global variables are initialized automatically
<hkaiser>
so the constructor of a thread_local variable will run on thread start
<FunMiles>
That's what I think. But I'm a bit wary of what a linker can do. If you put the definition of a static variable in a separate compilation unit, for example, it will not be linked in unless something in the compilation unit is referred to transitively from the main.
<FunMiles>
Not a major issue though in this case.
<hkaiser>
FunMiles: you can export the type
<FunMiles>
Export as in "extern" declaration ? Would that guarantee link in? Is that on all system (Windows, Linux, Mac)?
<FunMiles>
Does HPX run a thread continuously if after being started? If I have HPX in my code, I see a constant >80% CPU use yet nothing is being done. (REPL based executable and I am not running any command)