hkaiser 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/
<K-ballo>
seems the overload set for `make_ready_future` broke again
<heller_>
yeah
<heller_>
reference types, as it seems
<hkaiser>
when did it break?
<heller_>
on K-ballo's branch
<K-ballo>
I'm surprised it has worked without deduction guards
<heller_>
woah, I finally got a working cuda build!
<heller_>
almost...
<zao>
Sounds good enough, ship it.
<heller_>
:P
<heller_>
nvcc errors are the best
<heller_>
/home/heller/programming/hpx/hpx/util/deferred_call.hpp(84): error: cannot use an entity undefined in device code
<heller_>
and that's it
<heller_>
just because something instantiated that template which isn't marked with __device__
<heller_>
this compilation model is just broken
<Yorlik>
parsa: Testcase compiled and runs after your changes. Thanks a ton !
<Yorlik>
Now studying it to undrstand why it works and what was broken before.
<heller_>
I'm also getting rid of CUDA_ARCH, this is causing me nothing but trouble
<simbergm>
go wild
<heller_>
i love that machine ... building with 32 processes on 188 ram on a ssd
<heller_>
and still 16 cores left
<heller_>
simbergm: btw, the runtime/core suspension tests like to fail quite often as well recently ;)
<simbergm>
heller_: I know :/
<heller_>
uups, sorry about rostam ...
<simbergm>
what did you do?
<heller_>
restarted while builds were ongoing ;)
<heller_>
and hopefully fixed the cuda builder...
daissgr has joined #ste||ar
<Yorlik>
Is there any dedicated place in the documentation for all the needed macros or is it better to just skim through the quickstart examples?
<Yorlik>
I'm trying to give myself a structure for learning and it seems for now that the concepts of actions and components and all their helper macros probably is a good start.
<Yorlik>
It feels like an initial wall, but a manageable one. Thinking of what I get for it, I feel its totally worth going through that.
<Yorlik>
:)
<heller_>
if anyone here is in the erlangen (nuremberg area) on february the 28th
<heller_>
you are invited to attend my doctoral examination starting at 14:00 with the topic "Extending the C++ Asynchronous Programming Model with the HPX Runtime System for Distributed Memory Computing".
hkaiser has joined #ste||ar
<zao>
\o/
<hkaiser>
Yorlik: think about HPX actions as a way to invoke a (global) function remotely, and HPX components as a way to expose C++ objects remotely - there isn't anything else to it
<Yorlik>
Well ... and there is all this CPU utilization efficiency and swapping out of greenthreads/fibers/tasks on blocking operations, the dependency management put into futures, the standards compliant interface and more. There's a lot to like about it, I think.
<Yorlik>
:)
<Yorlik>
Also opening up the possibilities to parallelize more and more of your code in a relatively painless way
<Yorlik>
A big problem in our area is the crosstalking problem between gameobjects (players crammed into a narrow space)
<Yorlik>
My impression is, that HPX, while ofc not being the silver bullet everyone wants, still offers a lot of convenience to solve the problems associated with this.
<Yorlik>
In the end it comes down to many optimizations in many places and a good starting design. Having a tool helping with that is pretty significant, imo.
<heller_>
hkaiser: I have a fix for the other assertion that fails
<Yorlik>
I have a question concerning the definition of a locality: The docs say: "... a synchronous domain of execution ..." but also as an example "... a single node in a cluster ...". But isn't a node with multiple threads already a-synchronous? What does "synchronous" in the context of the definition of a locality mean then ?
<Yorlik>
Intuitiveky I'd think a locality should be a hardware (hyper-)thread
<heller_>
Yorlik: I think that description is total nonsense
<Yorlik>
:)
<heller_>
a locality is the entire process
<heller_>
represents*
<Yorlik>
The program, managing the various threads and tasks then ?
<heller_>
yes
<Yorlik>
So two processes running on a machione would be two localities?
<heller_>
exactly
<Yorlik>
Thanks !
<Yorlik>
I must admit I feel a little like a toddler walking through a new room, faling down a lot and hitting obstacles.
<Yorlik>
But it's super esciting.
<Yorlik>
:)
* Yorlik
is a big playchild
jbjnr_ has joined #ste||ar
<hkaiser>
Yorlik: a locality is the execution domain where you can put an upper limit on any asynchronous execution, for all practical intents and purposes (and in HPX) that is a process
<hkaiser>
IOW, as soon as networking is involved all bets are off
<Yorlik>
Concerning networking: How free are we to use custom serialization, e.g could we integrate external libraries like Flatbuffers or CapnProto or is that not recommended?
<hkaiser>
heller_: that's a strange one, everything is under a lock, right?
<hkaiser>
Yorlik: sure, remember - it's just C++
<hkaiser>
you can do whatever you want
<Yorlik>
LOL - I'm coming from 4 years of straight development in Lua only and a wee bit of C# and C.
<heller_>
hkaiser: same thing with the assertion you removed previously, no?
<hkaiser>
no
<Yorlik>
It's a bit like a snake changing skin for me in the moment.
<hkaiser>
that one was going through a section without the lock (inside the wait)
<hkaiser>
Yorlik: if you have objects that use CpnProto or similar for their serialization you can simply invoke that from inside the hpx serialization functionality
<heller_>
hkaiser: ah right ... missed the wait
<Yorlik>
I'm lacking tons of low-level knowledge and experience and need to get up to speed there.
<hkaiser>
serialization is turning objects into byte streams and back, so any code that is doing that is fine
<heller_>
hkaiser: fact is: running since a few hours now without hangs or assertions
<Yorlik>
Nice.
<hkaiser>
heller_: ok, I might miss something
<hkaiser>
the change you made does not hurt in any way
<heller_>
yeah
jbjnr__ has joined #ste||ar
akheir has joined #ste||ar
jbjnr_ has quit [Ping timeout: 250 seconds]
akheir has quit [Client Quit]
akheir has joined #ste||ar
<hkaiser>
simbergm, jbjnr, heller_, aserio: do we have our meeting now?
<hkaiser>
jbjnr__: ^^
<heller_>
hkaiser: supposedly
<heller_>
give me a second
<aserio>
ahhh
<aserio>
yes
<diehlpk_work>
heller_, I did some fixes for nvcc when I was compiling octotiger on powerpc
<diehlpk_work>
I could com[pile hpx with cuda 9.2 and gcc 6/7
eschnett_ has joined #ste||ar
<Yorlik>
What IDE do you guys use for development on Linux/*ix systems? I'm strongly tempted to use VS and just compile remotely via SSH. IntelliSense is just too nice.
<Yorlik>
For my former Lua development I just used SublimeText for everything.
<diehlpk_work>
Yorlik, I use eclipse
<Yorlik>
I used eclipse long ago for some minor java stuff only - how is it for C++ development?
<diehlpk_work>
Good
<diehlpk_work>
I use it for c++ and python
<diehlpk_work>
You just need to install the plugins for c/c++ and python
<Yorlik>
Did you use it on Wondows too, targeting MSVC?
<Yorlik>
I have to work on both platforms and would prefer to use a single environment fo both.
<diehlpk_work>
No, I only use Fedora
<Yorlik>
I think I'll revisit eclipse - after all its cross platform.
<Yorlik>
I might just run into problems when compiling UnrealEngine, which kinda defaults to VS
<Yorlik>
But there will be a long time before we really go into graphical client intzegration
<zao>
Voluntarily considering Eclipse... that's a first one :)
<Yorlik>
LOL
<Yorlik>
Nice - FreeBSD server ...
<zao>
I've found CLion reasonably fine over the years, but it's not free and on Windows there's not really anything better than VS. Qt Creator worked somewhat OK for a while too.
<zao>
(but again, not really good on Windows)
<Yorlik>
I'm kinda constantly sneaking around CLion, but their Cmake opnly supports the makefile backend
<Yorlik>
Because of the future need to work a lot with the Unreal Engine I might just have to stay with VS
<hkaiser>
is that so bad?
<Yorlik>
NO - but since I also have to work on Linux (for our server) I'm a little bit torn. Simply trying to avoid as much friction as possible concerning IDEs
<Yorlik>
Remote compiling a Linux Project with VS actually is an option.
<hkaiser>
: right
<Yorlik>
It just feels weird.
<Yorlik>
So - there will be a windows client dll as a plugin for the Unreal engine, a Linux server (several actually) and some shared code to allow client side simulation prediction for user experience (server stays authoritative))
adityaRakhecha has joined #ste||ar
<adityaRakhecha>
Because of removing prev version of opencv I somehow deleted my intire UBuntu files and now I have again started to build hpx.
<adityaRakhecha>
compiling of this program examples.quickstart.fibonacci_local is succesful but not running
<adityaRakhecha>
after running `./bin/fibonacci_local` I am getting core dumped error.
hkaiser has quit [Quit: bye]
<simbergm>
adityaRakhecha: that should not be happening
<simbergm>
does anything else run correctly? hello_world? simplest_hello_world?
<simbergm>
diehlpk_work: just pushed another commit to release
<simbergm>
did you see my messages from earlier?
<adityaRakhecha>
NO. All are getting core dumped error.
<adityaRakhecha>
This didnot happen last time.
<diehlpk_work>
simbergm, Yes, somehow I can not really influence the cmake options, because fedora set them for me
<diehlpk_work>
Ok, so I would not need to use sed to update python in the templates?
<simbergm>
diehlpk_work: if you were only doing it for the templates, no, but if you did it for some other files as well you'll still need to do those
<heller_>
Yorlik: the cool kids use vim and a shell
<simbergm>
and sure, let fedora do it's thing but remove LIB because that was our own thing
<Yorlik>
emacs ftw ...
<simbergm>
heller_: ehm, emacs, right?
* Yorlik
was faster ;)
<simbergm>
enough said
<Yorlik>
But seriously - I've learned to love Sublimetext. Been using it for years and recently finally succumbed to buying the license.
<diehlpk_work>
ok, simbergm I will give it a try with the new release
daissgr has quit [Ping timeout: 250 seconds]
detan has joined #ste||ar
<heller_>
simbergm: I appreciate my fingers staying in proper positions and I don't need yet another OS :p
<simbergm>
heller_: you just haven't tried evil mode yet
hkaiser has joined #ste||ar
aserio has quit [Ping timeout: 264 seconds]
aserio1 has joined #ste||ar
aserio1 is now known as aserio
akheir has quit [Quit: Konversation terminated!]
akheir has joined #ste||ar
jbjnr has quit [Ping timeout: 252 seconds]
<adityaRakhecha>
IT's ok. I will sort it out by myself.
jaafar has joined #ste||ar
aserio has quit [Ping timeout: 250 seconds]
<simbergm>
adityaRakhecha: yeah, hard to say what could be going wrong without more information, but start with a clean build dir and check that boost is built with the same settings as hpx (if you've built it yourself)
adityaRakhecha has quit [Ping timeout: 256 seconds]
david_pfander has quit [Read error: Connection reset by peer]
david_pfander has joined #ste||ar
detan has quit [Ping timeout: 256 seconds]
jbjnr has joined #ste||ar
khuck has joined #ste||ar
<khuck>
hkaiser: got a minute?
<hkaiser>
khuck: sure
<khuck>
how do you configure blaze/phylanx to use mkl? For the life of me I cannot figure it out
<khuck>
jbjnr: ha - I've been using that lock-free queue in APEX for years
<jbjnr>
khuck: that's great. So you can testify that it's safe and reliable too I hope
<khuck>
depends on your opinion of APEX ;)
<jbjnr>
There's a place in our thread queues where I want to try using it for more speedups.
<khuck>
yeah, it's worked for me.
<jbjnr>
APEX. Awesome
<jbjnr>
if you've fixed that task naming bug. I need to test it again since you made fixes
<khuck>
it's in HPX. Not sure it's what you want, though.
<khuck>
if the task doesn't have an annotated_function() wrapper, there's not much to go on
<khuck>
let me rephrase that - the task needs a "good" task description
<jbjnr>
do you meana warpper, or is it enough to use the raii version?
<jbjnr>
there are two annotated function modes
<jbjnr>
one is a wrapper, the other an raii
<jbjnr>
I prefer the raii one
<khuck>
not sure
<jbjnr>
ok. I'll test and report back
<jbjnr>
(not today though)
<khuck>
jbjnr: I just checked, and APEX is using a frozen version of that library from a few years ago. I should probably fix that.
<jbjnr>
seems to be well maintained. a merge was done a few weeks ago and previously in dec 18. Looks like tweaks and improvements are ongoing. probably worth upgrading.
<khuck>
I grabbed the version from August 27, 2015. Likely things are better.
jaafar has quit [Ping timeout: 257 seconds]
hkaiser has quit [Quit: bye]
diehlpk has joined #ste||ar
<diehlpk>
simbergm, New fedora build
<diehlpk>
it seems that /usr/lib/ is now the default for all
<diehlpk>
on x86 it is installed to /usr/lib instead of /usr/lib64
<jbjnr>
this move assignment is trying to call the
<jbjnr>
/home/biddisco/src/hpx/hpx/util/tuple.hpp:264: error: use of deleted function ‘hpx::threads::thread_init_data& hpx::threads::thread_init_data::operator=(const hpx::threads::thread_init_data&)’