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
<gonidelis[m]>
i was thinking that other `sys/` headers are fine with clangcl, it's only `<sys/mman.h>` that causes the problem
<gonidelis[m]>
i found this that could may map the facilities for windows but how do i include it after downloading? not that familiar with windows yet
<hkaiser>
it's just one *.h and one *.c after all, just add it to your project and cmake
<hkaiser>
gonidelis[m]: nice find, btw
<gonidelis[m]>
add it to my project means?
<hkaiser>
gonidelis[m]: cmake?
<gonidelis[m]>
problem is that this header (mman.h) then includes `cdefs.h`
<hkaiser>
what for?
<hkaiser>
edit it as needed
<gonidelis[m]>
let me see what i can do
hkaiser has quit [Quit: Bye!]
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 268 seconds]
K-ballo1 is now known as K-ballo
Yorlik has joined #ste||ar
sivoais has quit [Ping timeout: 246 seconds]
K-ballo has quit [Read error: Connection reset by peer]
K-ballo has joined #ste||ar
<zao>
Not sure what you folks use `mman.h` for but I'm fairly happy with the header-only "mio" for my moderate portable memory mapping needs. <https://github.com/mandreyel/mio>
sivoais has joined #ste||ar
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 268 seconds]
K-ballo1 is now known as K-ballo
gonidelis[m] has quit [Remote host closed the connection]
mdiers[m] has quit [Remote host closed the connection]
ms[m] has quit [Remote host closed the connection]
pansysk75[m] has quit [Remote host closed the connection]
gdaiss[m] has quit [Remote host closed the connection]
rtohid[m] has quit [Remote host closed the connection]
satacker[m] has quit [Remote host closed the connection]
karamemp[m] has quit [Remote host closed the connection]
dkaratza[m] has quit [Remote host closed the connection]
AryanSharma[m] has quit [Remote host closed the connection]
rori[m]1 has quit [Remote host closed the connection]
bhumit[m] has quit [Remote host closed the connection]
gdaiss[m] has joined #ste||ar
satacker[m] has joined #ste||ar
rori[m]1 has joined #ste||ar
rtohid[m] has joined #ste||ar
mdiers[m] has joined #ste||ar
bhumit[m] has joined #ste||ar
dkaratza[m] has joined #ste||ar
karamemp[m] has joined #ste||ar
pansysk75[m] has joined #ste||ar
gonidelis[m] has joined #ste||ar
AryanSharma[m] has joined #ste||ar
ms[m] has joined #ste||ar
hkaiser has joined #ste||ar
<pansysk75[m]>
fork_join_executor implements bulk_async_execute but not async_execute?
<hkaiser>
pansysk75[m]: yes
<hkaiser>
do you need async_execute?
<hkaiser>
pansysk75[m]: generally, executors don't need to implement all functions, the missing ones are emulated on top of what's available
<pansysk75[m]>
yep, I see that in execution.hpp!
<pansysk75[m]>
but is async_execute implied if we only have implemented bulk_async_execute?
<gonidelis[m]>
is `#if defined(__clang__)` the same as `#if defined(__CLANG__)`
<gonidelis[m]>
?
<gonidelis[m]>
are posix functions supposed to work with clangcl
<gonidelis[m]>
(ugly spam)
<K-ballo>
macro names are case sensitive, __clang__ and __CLANG__ are two different things
<K-ballo>
and I do not think the later actually exists
<gonidelis[m]>
thanks
hkaiser has joined #ste||ar
<hkaiser>
pansysk75[m]: I thought mre about this
<hkaiser>
pansysk75[m]: it doesn't really make sense to implement async_execute for the fork_join_executor
<hkaiser>
this executor is designed mainly for (a)synchronous fork-join parallelism
<pansysk75[m]>
meaning that the overhead is too large to just launch a single task?
<hkaiser>
no launching single tasks is not what this executor was built for
<hkaiser>
the executor creates N-1 HPX threads (N is the number of cores) when it is constructed and these HPX threads will be running until is is destructed
<hkaiser>
whenever bulk_(a)sync_execute is called, it splits the work amongst N workers, submits to the N-1 HPX threads and runs the remaining work on the calling thread
<hkaiser>
so async_execute would execute things inline on the calling thread in the end
<pansysk75[m]>
ah ok got it
<pansysk75[m]>
hkaiser: also, i've been looking in the source code for something like std::thread
<hkaiser>
ok
<pansysk75[m]>
is it hidden behind tons of abstraction, or do we use another mechanism altogether?
<pansysk75[m]>
I'm trying to look behind the curtain a little bit
<hkaiser>
you mean hpx::thread?
<pansysk75[m]>
or system threads? i have no idea honestly
<pansysk75[m]>
been learning about pthreads in class