aserio 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/
EverYoung has quit [Remote host closed the connection]
EverYoung has joined #ste||ar
EverYoung has quit [Remote host closed the connection]
EverYoun_ has joined #ste||ar
Anushi1998 has quit [Remote host closed the connection]
Anushi1998 has joined #ste||ar
EverYoun_ has quit [Ping timeout: 252 seconds]
EverYoung has joined #ste||ar
Anushi1998 has quit [Ping timeout: 245 seconds]
anushi has quit [Ping timeout: 245 seconds]
<parsa[w]>
hpx's circleci2 workflow have ruined the queue
<parsa[w]>
...flows*
EverYoung has quit [Remote host closed the connection]
mcopik_ has quit [Ping timeout: 256 seconds]
eschnett has joined #ste||ar
katywilliams has joined #ste||ar
katywilliams has quit [Ping timeout: 264 seconds]
<heller>
parsa[w]: how so?
<nikunj>
what is 1 tab equivalent to in terms of spaces in hpx code?
jakub_golinowski has quit [Ping timeout: 260 seconds]
victor_ludorum has quit [Ping timeout: 260 seconds]
katywilliams has joined #ste||ar
katywilliams has quit [Ping timeout: 256 seconds]
victor_ludorum has joined #ste||ar
Anushi1998 has quit [Ping timeout: 245 seconds]
Anushi1998 has joined #ste||ar
victor_ludorum has quit [Ping timeout: 260 seconds]
JKSamir has joined #ste||ar
nikunj has joined #ste||ar
K-ballo has joined #ste||ar
parsa has joined #ste||ar
<github>
[hpx] msimberg force-pushed circle_2 from 1493fa4 to c0e7cc9: https://git.io/vdKfd
<github>
hpx/circle_2 ebdde25 Thomas Heller: Switching to CircleCI 2.0...
<github>
hpx/circle_2 18cd12a Mikael Simberg: Add --output-on-failure flag to CircleCI ctest runs
<github>
hpx/circle_2 3e0c6c1 Mikael Simberg: Clean up CircleCI config file
<github>
[hpx] msimberg force-pushed circle_2 from c0e7cc9 to 5c14d76: https://git.io/vdKfd
<github>
hpx/circle_2 5c14d76 Mikael Simberg: Use 2 cores again for header tests
<github>
[hpx] msimberg force-pushed circle_2 from 5c14d76 to efb3b14: https://git.io/vdKfd
<github>
hpx/circle_2 82aa4b0 Mikael Simberg: Add tests.unit.resource and sort groups in circleci config
<github>
hpx/circle_2 efb3b14 Mikael Simberg: Use 2 cores again for header tests
parsa has quit [Read error: Connection reset by peer]
parsa| has joined #ste||ar
victor_ludorum has joined #ste||ar
Anushi1998 has quit [Quit: Leaving]
mcopik_ has joined #ste||ar
victor_ludorum has quit [Ping timeout: 260 seconds]
Viraj has joined #ste||ar
<Viraj>
Hi, does anybody know how to generate example trace files in HPX?
Viraj has quit [Ping timeout: 260 seconds]
parsa| has quit [Quit: *yawn*]
Viraj has joined #ste||ar
Viraj has quit [Ping timeout: 260 seconds]
victor_luforum has joined #ste||ar
nikunj has quit [Quit: Page closed]
nikunj has joined #ste||ar
JKSamir has quit [Ping timeout: 260 seconds]
Viraj has joined #ste||ar
diehlpk has joined #ste||ar
<Viraj>
Hi, how can i generate trace files for a program execution?
Anushi1998 has joined #ste||ar
<K-ballo>
what are trace files?
Viraj has quit [Ping timeout: 260 seconds]
Anushi1998 has quit [Ping timeout: 245 seconds]
diehlpk has quit [Ping timeout: 256 seconds]
eschnett has joined #ste||ar
mcopik_ has quit [Ping timeout: 264 seconds]
Anushi1998 has joined #ste||ar
victor_luforum has quit [Ping timeout: 260 seconds]
hkaiser has joined #ste||ar
parsa has joined #ste||ar
Anushi1998 has quit [Quit: Leaving]
diehlpk has joined #ste||ar
diehlpk has quit [Ping timeout: 256 seconds]
mcopik_ has joined #ste||ar
verganz has joined #ste||ar
nikunj has quit [Quit: Page closed]
Anushi1998 has joined #ste||ar
sharonhsl has joined #ste||ar
sharonhsl has left #ste||ar [#ste||ar]
anushi has quit [Read error: Connection reset by peer]
anushi has joined #ste||ar
diehlpk has joined #ste||ar
diehlpk has quit [Remote host closed the connection]
mcopik_ has quit [Ping timeout: 248 seconds]
jakub_golinowski has joined #ste||ar
jakub_golinowski has quit [Remote host closed the connection]
anushi has quit [Read error: Connection reset by peer]
anushi has joined #ste||ar
diehlpk_work has joined #ste||ar
anushi has quit [Ping timeout: 246 seconds]
mcopik_ has joined #ste||ar
parsa has quit [Quit: Zzzzzzzzzzzz]
jakub_golinowski has joined #ste||ar
<diehlpk_work>
Hi jakub_golinowski
<jakub_golinowski>
diehlpk_work hello
<diehlpk_work>
I read your proposal and would be nice to have more implementation details
<diehlpk_work>
It is quite godd, but you could improve it by adding more details
<jakub_golinowski>
ok
<jakub_golinowski>
and for my question with the actual moment in which the parallel.cpp file should be edited
<jakub_golinowski>
(in OpenCV)
<jakub_golinowski>
so is the scenario like this
<diehlpk_work>
First step would be edit this file
<diehlpk_work>
and read the image from filesytem
<jakub_golinowski>
ok so the idea is to have the QT application that uses OpenCV that uses HPX
<jakub_golinowski>
in a sense that the user is isolated from the HPX details?
anushi has joined #ste||ar
<diehlpk_work>
No, everything is done in a hpx_main
<diehlpk_work>
You can call all opencv functions inside the hpx_main
<diehlpk_work>
and also qt
<jakub_golinowski>
Ok, so in this sense HPX is on top
<diehlpk_work>
Yes
<diehlpk_work>
But the user should not deal with hpx
<diehlpk_work>
So he just uses the hpx_main and can increase the cpus with -t or --hpx:threads=
<diehlpk_work>
You somehow need the hpx_main to run hpx threads
<jakub_golinowski>
so in the context that we discuss a user as the end-user, or another words the person that just runs the app
<jakub_golinowski>
not as a user as developer using hpx
<diehlpk_work>
Yes
<hkaiser>
qt is special as many operations have to run in the main thread - see the qt example for how this can be achieved
<jakub_golinowski>
ok, I will look at it and try to identify the difficulties
<diehlpk_work>
jakub_golinowski, The end user want to use like with openmp
<diehlpk_work>
He compiles opencv with hpx support
<diehlpk_work>
and just specifiy -t
anushi has quit [Ping timeout: 264 seconds]
<diehlpk_work>
The same for openmp the user compiles opencv with openmp support and uses OMP_NUM_THREADS to define the amoutn of cpus
<jakub_golinowski>
So as I see it for now after the initial exploration of HPX I will look at the project from the other angle, namely from the OpenCV side.
<jakub_golinowski>
Ok so I will play around with OpenCV for now and focus on the current parallelism implementation.
<jakub_golinowski>
And as for exploring the HPX further I will look at QT example to identify the difficulties in ensuring proper threading
<diehlpk_work>
Sounds good
<diehlpk_work>
And try to compile OpenCV with openmp
<diehlpk_work>
Would be somethign like 1) Compile HPX 2) Compile OpenCV with HPX 3) Generate a own CMake and include both
<diehlpk_work>
Later QT will be included, but for the first phase it would be something like this
<jakub_golinowski>
diehlpk_work so you mean OpenMP or HPX?
<diehlpk_work>
Should be the same
anushi has joined #ste||ar
<diehlpk_work>
Without Compiling HPX
<diehlpk_work>
For OpenMP you can compile OpenCV directly
<jakub_golinowski>
thank you very much for the reference
<diehlpk_work>
You are welcome
<diehlpk_work>
And for the application you have to add find_package for hpx and opencv
<diehlpk_work>
to your cmake project
<diehlpk_work>
Like you did for the matrix matrix multiplication
<diehlpk_work>
You just would add find opencv
<diehlpk_work>
When you are using qt you have to add find_package qt
<zao>
(as a side note, consider installing into a per-user location instead of into the very shared /usr/local ;) )
<zao>
But that's digressing.
<diehlpk_work>
Yes, zao is right
<diehlpk_work>
I was lazy and copied the cmake command from the tutorial
<jakub_golinowski>
diehlpk_work thank you for the instruction about application's CMakeLists.txt
<zao>
This project sounds way too fun.
<jakub_golinowski>
zao thanks for the hint - actually I am following it and am building all the libraries within the home directory
<jakub_golinowski>
and I agree this project is exciting
<diehlpk_work>
Yes, it is and with the qt application there is a really nice show case
EverYoung has joined #ste||ar
<diehlpk_work>
We could write a nice blog post about this project
<jakub_golinowski>
when it is ready?
<diehlpk_work>
Yes
EverYoung has quit [Ping timeout: 276 seconds]
<diehlpk_work>
With a nice video of your application
parsa has joined #ste||ar
eschnett has quit [Quit: eschnett]
parsa has quit [Quit: Zzzzzzzzzzzz]
parsa has joined #ste||ar
katywilliams has joined #ste||ar
katywilliams has quit [Ping timeout: 264 seconds]
katywilliams has joined #ste||ar
<parsa>
hkaiser: ping
<hkaiser>
parsa: here
<parsa>
hkaiser: what did you mean by "utilize one of the existing extraction functions for this instead (for instance phylanx::execution_tree::numeric_operand or similar)"?
<parsa>
i need the index to determine which argument came in
<parsa>
"axis may be negative, in which case it counts from the last to the first axis"
Anushi1998 has quit [Remote host closed the connection]
<hkaiser>
ahh
<hkaiser>
parsa: but keepdims is a separate arg, so there is no way for it to clash with the axis?
<hkaiser>
you can access the axis using extract_integer_value and keepdims using the boolean counterpart
<parsa>
axis and keepdims can't be used together according to my tests. so it's pointless to have both as argument. you'd have to do sum(a, nil, True) to call it if we have 3 arguments
<hkaiser>
parsa: numpy has it as two arguments
<hkaiser>
yes, using sum(a, nil, True) would be the correct solution
<parsa>
looks hideous
<hkaiser>
your solution is brittle and non-explainable
<hkaiser>
False == 0 and True == 1 how do you distinguish those?
<hkaiser>
sum(a, nil, 1) will work as well, btw
<hkaiser>
or in python numpy.sum(1, keepdim=1)
<parsa>
right. there's no way around it then. 3 arguments it is then
<parsa>
hkaiser: updated #311
diehlpk_work has quit [Quit: Leaving]
<hkaiser>
parsa: much better
<parsa>
so there's room for improvement?
<hkaiser>
have not looked closer ;)
<hkaiser>
but it's much more readable now, don't you agree?
<hkaiser>
you still use the index() function, btw
<hkaiser>
why?
<parsa>
no idea what that "if" is there for… i'll remove it
<hkaiser>
lol
<hkaiser>
you also use get<4>, still, why?
<hkaiser>
use extract_numeric_value instead
vamatya has joined #ste||ar
<parsa>
fixed.
<hkaiser>
nice
<hkaiser>
parsa: is the check on line 205 still needed?
<hkaiser>
you're checking this already above
<parsa>
you're right, it's redundant. removed.
<parsa>
when will we add tensors?
katywilliams has joined #ste||ar
<parsa>
hkaiser: ^
<hkaiser>
parsa: ;-)
<hkaiser>
tensors: no idea
<parsa>
i mean numpy has nd-arrays, looks like an obvious thing people would ask for
<hkaiser>
nod
<hkaiser>
parsa: let's get the infrastructre in place and a couple of algorithms implemented in a performant way first