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/
hkaiser has quit [Ping timeout: 240 seconds]
hkaiser has joined #ste||ar
Vinnie_win has joined #ste||ar
<Vinnie_win>
hi
<hkaiser>
hey Vinnie_win
<zao>
Beep boop.
<Vinnie_win>
I'm on a lame browser IRC client
<Vinnie_win>
Why the preference for discussion here? It seems like there are more people on the Slack, wider audience
<hkaiser>
Vinnie_win: this here is really focussed on hpx
<zao>
Don't change a winning concept.
<Vinnie_win>
where's olipro
<Vinnie_win>
Seems its late for him, we should see him tomorrow.
hkaiser has quit [Quit: bye]
K-ballo has quit [Quit: K-ballo]
david_pfander has joined #ste||ar
david_pfander has quit [Ping timeout: 260 seconds]
<zao>
taeguk: As I understand it, it's a loose categorisation of things intended to only observe and traverse, and ones that actually move and mutate the elements of the sequence.
<zao>
They rather closely mirror the algorithms of the standards.
<zao>
taeguk: One of the big purposes of HPX is to implement the standard library and parallelism TS in a distributed manner, in a way that lacks surprise to anyone familiar with the existing ways.
<zao>
As an implementation, it also serves to find and address problems with the current design that may not be apparent when designing it.
<zao>
And a bit jokingly, it serves as a factory for academic papers and talks for the people involved :D
pree has joined #ste||ar
pree has quit [Read error: Connection reset by peer]
<taeguk>
Is there a good way to measure and analyze performance of parallel algorithm?
<taeguk>
I implement parallel is_heap_until. But, I didn't measure performance of that. I think I should do that.
pree has joined #ste||ar
pree has quit [Read error: Connection reset by peer]
<zao>
HPX has a whole bunch of "performance counters" you can use to reasonably cheaply gather information about how things are running.
<zao>
I have no idea how to configure which ones to use, and how to interpret the results. If you're lucky there may be documentation or someone might know how to use them. :)
<zao>
Doing some vague verification that your code isn't horrible is probably a good thing, not sure of the scope of your job.
pree has joined #ste||ar
pree has quit [Read error: Connection reset by peer]
K-ballo has joined #ste||ar
bikineev has quit [Ping timeout: 240 seconds]
Vinnie_win has joined #ste||ar
Vinnie_win has quit [Client Quit]
pree has joined #ste||ar
pree has quit [Read error: Connection reset by peer]
<taeguk>
Is there a way to specify the number of cores in unit tests?
<K-ballo>
and who drives the test? you appear to be running the executable directly, what's on main() handling command line arguments?
<taeguk>
I'm just running the executable directly.
<taeguk>
ah, I have to use srun?
<K-ballo>
usually the test driver(s) manage the command line options, if you are using the lightweight test layer and running directly then that's just your code
bikineev has joined #ste||ar
<K-ballo>
no, what I mean is if CTest is running the tests then it will eat all arguments, similarly for the boost.test framework, and other tests frameworks driving the tests
<K-ballo>
but in this case you dont have any, it's just you and your code
pree has joined #ste||ar
<taeguk>
K-ballo: Okay, I understand.
<taeguk>
K-ballo: Is there way to control the number of cores for parallel algorithms?
pree has quit [Ping timeout: 245 seconds]
<taeguk>
I'm writing an application for measuring and analyzing performance of parallel algorithm (is_heap_until).
bikineev has quit [Read error: No route to host]
bikineev has joined #ste||ar
<taeguk>
I need to control the number of cores for that.
bikineev has quit [Ping timeout: 260 seconds]
<taeguk>
I want to know how to control the number of cores for that in run-time without test drivers.
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
<github>
[hpx] hkaiser created serialization_access_data (+1 new commit): https://git.io/vHcMr
<github>
hpx/serialization_access_data 46e915f Hartmut Kaiser: Unify access_data trait for use in both, serialization and de-serialization...
zbyerly_ has joined #ste||ar
bikineev has joined #ste||ar
zbyerly_ has quit [Ping timeout: 240 seconds]
Matombo has joined #ste||ar
zbyerly_ has joined #ste||ar
<github>
[hpx] K-ballo opened pull request #2655: Mainteinance for emulate-deleted macros (master...emulate_deleted) https://git.io/vHcSS
zbyerly_ has quit [Ping timeout: 240 seconds]
zbyerly_ has joined #ste||ar
Matombo has quit [Remote host closed the connection]
Matombo has joined #ste||ar
Matombo has quit [Remote host closed the connection]
Matombo has joined #ste||ar
Matombo has quit [Remote host closed the connection]
zbyerly_ has quit [Ping timeout: 246 seconds]
<K-ballo>
HermioneBot: force build --branch=range hpx_gcc_4_9_4_boost_1_56_centos_x86_64_debug
<K-ballo>
oh wow, that's old
<K-ballo>
how is it done nowadays?
denis_blank has joined #ste||ar
<hkaiser>
K-ballo: shouldn't all classes which previously were marked as movable-only should be non-copyable now?
<hkaiser>
K-ballo: use RostamBot instead, on #ste||ar-dev
<K-ballo>
some of the classes previously marked as movable-only had no move operations, were effectively non-copyable
<K-ballo>
the rest had move operations, which NON_COPYABLE =deletes
<hkaiser>
K-ballo: ahh, so non-copyable now means no-copy-and-no-move
<K-ballo>
it always did, both the macro and the term
<hkaiser>
ok
<K-ballo>
MOVABLE_ONLY the macro was sometimes being used in place of NON_COPYABLE, because MOVABLE_ONLY doesn't make things movable, just prevents copies, which inhibits moves
<hkaiser>
so making a class move-only is now done by explicitly deleting the copy ctor/oper=
<hkaiser>
(and providing move ctor/oper=)
<K-ballo>
no, just providing the moves
<hkaiser>
does that inhibits copying?
<K-ballo>
deleting the copies won't hurt, but it's non idiomatic
<K-ballo>
yep, providing a move inhibits copies
<hkaiser>
ok, I can't ever remember what's inhibiting what :/
<K-ballo>
if you want moves add moves, if you want copies add copies, if you want both add both
<K-ballo>
if you want none, use the macro
<hkaiser>
sounds simple enough
<K-ballo>
if you don't add anything, not even the macro.. then who knows
<hkaiser>
then it probably depends on the properties of the members
<K-ballo>
nod, but it's not that simple either.. unless it's a trivial aggregation of things, I prefer to add them all with `=default` (if I in fact want all, and even that isn't that simple either)
<K-ballo>
=default can sometimes mean =delete, sometimes =delete as in deleted and other times =delete as in inhibited :P
<hkaiser>
ohh my
<K-ballo>
yeah..
<K-ballo>
just declare those you want, or declare that you want none, and things will work out
<hkaiser>
nod
bikineev has quit [Remote host closed the connection]
<K-ballo>
we should remove the msvc-12 builder now
<hkaiser>
K-ballo: I need to reinstall vs2015 and vs2017 on that machine
<K-ballo>
nod, that too, but I mean the msvc-12 build doesn't go past the configure step now
<hkaiser>
because I removed all versions of VS there
<K-ballo>
no, 2012 is present actually
<K-ballo>
it's because we've just dropped support for it :P