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 [Ping timeout: 276 seconds]
Matombo has quit [Remote host closed the connection]
bikineev_ has quit [Remote host closed the connection]
<github> [hpx] hkaiser pushed 1 new commit to fixing_2847: https://git.io/v5Uih
<github> hpx/fixing_2847 d101822 Hartmut Kaiser: Fixing unrelated compilation errors
eschnett has joined #ste||ar
comtix has joined #ste||ar
comtix has left #ste||ar ["Leaving"]
hkaiser has quit [Quit: bye]
K-ballo has quit [Quit: K-ballo]
jaafar has quit [Ping timeout: 246 seconds]
david_pfander has joined #ste||ar
david_pfander has quit [Client Quit]
david_pfander has joined #ste||ar
Matombo has joined #ste||ar
mcopik has joined #ste||ar
eschnett has quit [Quit: eschnett]
eschnett has joined #ste||ar
bikineev has joined #ste||ar
Matombo has quit [Remote host closed the connection]
bikineev has quit [Remote host closed the connection]
<github> [hpx] atrantan opened pull request #2855: Add documentation for coarrays (master...coarray_docs) https://git.io/v5TJ3
<github> [hpx] StellarBot pushed 1 new commit to gh-pages: https://git.io/v5TJ5
<github> hpx/gh-pages 117a115 StellarBot: Updating docs
hkaiser has joined #ste||ar
<github> [hpx] sithhell created fix_ubsan (+1 new commit): https://git.io/v5TO4
<github> hpx/fix_ubsan 1839bda Thomas Heller: Fixing component handling for lcos...
<heller> hkaiser: ^^
<github> [hpx] sithhell opened pull request #2856: Fixing component handling for lcos (master...fix_ubsan) https://git.io/v5TOE
<github> [hpx] hkaiser force-pushed fixing_2847 from d101822 to 68a3177: https://git.io/v5ect
<github> hpx/fixing_2847 68a3177 Hartmut Kaiser: Fixing unrelated compilation errors
<hkaiser> heller: I don't like that - let's rather get rid of the simple_component_tag alltogether - that shouldn't break any code
<heller> hkaiser: that was something I thought of as well, wasn't sure you liked it so I went with the verbose solution
<heller> let me adapt
<hkaiser> heller: yah and I see now why adsan is complaining - this is benign, though
<hkaiser> heller: we've kept the simple_component_base as a compatibility solution, but the tag shouldn't matter
Smasher has quit [Ping timeout: 246 seconds]
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
<heller> hkaiser: yup
<hkaiser> nice catch, though
<heller> I am not sure if it is 100% benign though
<heller> is the layout between base_lco_with_value and simple_component garuanteed though?
Smasher has joined #ste||ar
<hkaiser> heller: I think the problem is that component_base and simple_component_base are not the same type, changing the derivation to a simple typedef should change things as well
K-ballo has joined #ste||ar
<heller> hkaiser: the problem is not with not deriving from _base
<heller> or is it?
<hkaiser> heller: I don't think the problem is that base_lco_with_value and simple_component_base are differen ttypes
<hkaiser> it's that component_base and simple_component_base are not the same
<heller> the problem occurs when creating simple_component<Component>
<hkaiser> sure
<heller> I am not exactly sure how it ever worked...
<heller> does simple_component_base derive from simple_component?
<heller> or vice versa?
<heller> I am not sure how this create function ever worked
<hkaiser> heller: changing this: https://github.com/STEllAR-GROUP/hpx/blob/master/hpx/runtime/components/server/component_base.hpp#L15 to a using should solve the issue as well
<heller> not for base_lco_with_value
<hkaiser> sure it will
<hkaiser> the tags need to be typedef'd as well, though
<hkaiser> heller: I think it's not about base_lco_with_value
<heller> first thing I did was to use simple_component_tag instead component_tag
<hkaiser> k
<heller> the error then was a invalid downcast of lcos::server::channel<int> to simple_component<...>
<heller> using support is required nowadays, right?
<hkaiser> yes
<heller> I would rather switch it around, such that template <typename Component> using simple_component = component<Component>
<hkaiser> btw, the derivation chain is [simple_]component<> -> your component type -> [simple_]component_base<>
<heller> except for base lcos ;)
<hkaiser> heller: yah, fine by me
<hkaiser> base_lco is not a component
<hkaiser> it's an interface
<heller> hmm
<heller> ok, then I am really confused
<hkaiser> the component type derives from both, the base_lco and the component_base
<heller> base_lco_with_value shouldn't derive from the component tag then
<hkaiser> ok, good point - not sure why I added that
<heller> let me revisit the patch ...
<heller> makes more sense now
<heller> hkaiser: also, if base_lco_with_value is not a component, why does it have an entry in the component type database?
<heller> ah, because it is used as the base type for the actions...
<heller> given the inheritance chain above, this should have never worked in the first place
<hkaiser> yah, that looks suspicious ;)
<hkaiser> well, the derived type has no members, so it did work, but only coincidentally
<heller> yeah
<heller> hkaiser: the component_tag in base_loc_with_value is needed
<heller> so in some sense, base_lco_with_value is an abstract component
<hkaiser> k
bikineev has joined #ste||ar
pree has joined #ste||ar
eschnett has quit [Quit: eschnett]
bikineev has quit [Ping timeout: 240 seconds]
bikineev has joined #ste||ar
eschnett has joined #ste||ar
pree has quit [Ping timeout: 240 seconds]
<github> [hpx] hkaiser force-pushed fixing_2847 from 68a3177 to 274c6e4: https://git.io/v5ect
<github> hpx/fixing_2847 274c6e4 Hartmut Kaiser: Fixing unrelated compilation errors
<hkaiser> (at least with the way we have it now)
<github> [hpx] hkaiser pushed 1 new commit to fixing_2847: https://git.io/v5T2U
<github> hpx/fixing_2847 8563441 Hartmut Kaiser: Switching assert for an exception (review comment)
<heller> hkaiser: yes, I fixed that already
<heller> thanks
<heller> hkaiser: /home/inf3/heller/programming/hpx/hpx/traits/serialization_access_data.hpp:100:17: runtime error: store to misaligned address 0x7fd7948cbc11 for type 'std::uint64_t' (aka 'unsigned long'), which requires 8 byte alignment
<heller> 0x7fd7948cbc11: note: pointer points here
<heller> 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00
<heller> uh oh
<hkaiser> not sure what you changed...
<heller> that's unrelated to my changes
<hkaiser> which test is causing this?
<heller> get_ptr
bikineev has quit [Ping timeout: 248 seconds]
<github> [hpx] sithhell pushed 1 new commit to fix_ubsan: https://git.io/v5TVt
<github> hpx/fix_ubsan 938127f Thomas Heller: Switching simple_component to be component...
<heller> investigating now
<heller> the component change should be complete now
eschnett has quit [Quit: eschnett]
<hkaiser> heller: great, thanks!
<heller> hkaiser: ahh, I think I know what's causing the unaligned stores
<hkaiser> heller: first I would like to go ahead with the resource_partitioner branch - any objections?
<heller> hkaiser: a few
<heller> one sec
<hkaiser> k
hkaiser has quit [Quit: bye]
<github> [hpx] sithhell force-pushed fix_ubsan from 938127f to 1ba33f7: https://git.io/v5Tol
<github> hpx/fix_ubsan 1ba33f7 Thomas Heller: Switching simple_component to be component...
<diehlpk_work> heller, Do you know if all students passed GSoC 2015?
<diehlpk_work> Did we attend GSoC in 2014?
<heller> diehlpk_work: easy to find out
<diehlpk_work> I found it for 2015 up to 2017
<diehlpk_work> Where can I find the amount of passed students for 2014 and 2015?
<diehlpk_work> I start to make a statistics on the blog
<diehlpk_work> With nice plots ov amount of students per year, how many of them failed, PR per GSoC and so on
eschnett has joined #ste||ar
<heller> diehlpk_work: i'll check
hkaiser has joined #ste||ar
<github> [hpx] hkaiser pushed 1 new commit to resource_partitioner: https://git.io/v5T1r
<github> hpx/resource_partitioner a051f7e Hartmut Kaiser: Addressing review comments
<github> [hpx] hkaiser deleted fixing_2848 at 18cec56: https://git.io/v5TMt
<diehlpk_work> heller, https://github.com/diehlpk/HPX_GSoC_Stats This is the repo for the gsoc stats
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
<K-ballo> hpx w/boost 1.65.0 works on vs17 u3.1
<zao> With Boost.Config mutations?
<zao> Or out-of-box?
<K-ballo> only mutation was silencing the annoying #message
<K-ballo> so you can consider it out-of-box
<K-ballo> it's also using the defaults, so /std:c++14 and so on
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
<hkaiser> K-ballo: yah, works with /std:c++latest as well
<K-ballo> with or without _HAS_AUTO_PTR ?
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
<hkaiser> K-ballo: sorry, horrible network here
<hkaiser> K-ballo: with _HAS_AUTO_PTR
<K-ballo> I'll give it a try later, plus /pedantic- as well
hkaiser_ has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
bikineev has joined #ste||ar
eschnett has quit [Quit: eschnett]
hkaiser_ has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
eschnett has joined #ste||ar
<K-ballo> wow, immediate error in the windows sdk
hkaiser has quit [Read error: Connection reset by peer]
david_pfander has quit [Ping timeout: 240 seconds]
hkaiser has joined #ste||ar
pree has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
jaafar has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
ajaivgeorge has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
pree has quit [Remote host closed the connection]
pree has joined #ste||ar
EverYoung has joined #ste||ar
hkaiser has quit [Ping timeout: 255 seconds]
EverYoun_ has joined #ste||ar
EverYoung has quit [Ping timeout: 255 seconds]
EverYoun_ has quit [Ping timeout: 246 seconds]
EverYoung has joined #ste||ar
hkaiser has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
EverYoung has quit [Remote host closed the connection]
hkaiser has quit [Read error: Connection reset by peer]
EverYoung has joined #ste||ar
EverYoung has quit [Ping timeout: 255 seconds]
EverYoung has joined #ste||ar
jakemp has joined #ste||ar
hkaiser has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
hkaiser has quit [Ping timeout: 246 seconds]
bikineev has quit [Ping timeout: 240 seconds]
<github> [hpx] K-ballo force-pushed pack-short-circuit from fde9b6b to dfc2e88: https://git.io/v762b
<github> hpx/pack-short-circuit dfc2e88 Agustin K-ballo Berge: Short-circuit all_of/any_of/none_of instantiations
bikineev has joined #ste||ar
<K-ballo> silly circle-ci is broken again
<zao> *gasp*
bikineev has quit [Remote host closed the connection]
bikineev has joined #ste||ar
bikineev has quit [Remote host closed the connection]
denis_blank has joined #ste||ar
bikineev has joined #ste||ar
hkaiser has joined #ste||ar
hkaiser has quit [Ping timeout: 248 seconds]
eschnett has quit [Quit: eschnett]
<github> [hpx] hkaiser force-pushed resource_partitioner from a051f7e to 78b4f27: https://git.io/v7lfK
<github> hpx/resource_partitioner 78b4f27 Hartmut Kaiser: Addressing review comments
EverYoun_ has joined #ste||ar
EverYoung has quit [Ping timeout: 255 seconds]
<github> [hpx] hkaiser closed pull request #2853: Update Table 17. Non-modifying Parallel Algorithms in Documentation (master...patch-1) https://git.io/v5UZL
<github> [hpx] hkaiser closed pull request #2855: Add documentation for coarrays (master...coarray_docs) https://git.io/v5TJ3
hkaiser has joined #ste||ar
<heller> hkaiser: I am really a bit worried about this extra pointer
<heller> worried is too strong
<heller> I just don't like it ;)
hkaiser has quit [Ping timeout: 246 seconds]
<github> [hpx] hkaiser created inspect_assert (+1 new commit): https://git.io/v5koX
<github> hpx/inspect_assert feed278 Hartmut Kaiser: Deprecate use of BOOST_ASSERT and ensure HPX_ASSERT has corresponding #include present
hkaiser has joined #ste||ar
<hkaiser> heller: I don't like it myself - just don't have a better solution
EverYoun_ has quit [Remote host closed the connection]
EverYoung has joined #ste||ar
<heller> hkaiser: not sure if it is really worth it
<hkaiser> that's what I'm saying - might not be worth it
<heller> hkaiser: btw, https://github.com/STEllAR-GROUP/hpx/blob/master/hpx/traits/serialization_access_data.hpp#L100 <-- this is what's causing the unaligned stores and loads
jfbastien has quit [Read error: Connection reset by peer]
<heller> the loads are obviously in the respective read function
denis_blank has quit [Quit: denis_blank]
<hkaiser> what's the problem with unaligned reads/writes on x86?
<heller> do you remember what the gain of this optimization was?
<hkaiser> heller: this massively improves performance
<heller> hmmm
<K-ballo> should make no difference in gcc/clang
<heller> yeah, memcpy is usually very cheap
<K-ballo> memcpy is a builtin for them
<heller> and intrinsically known by compilers
<hkaiser> K-ballo: it should not indeed, my measurements showed a significant effect
<K-ballo> msvc, on the other hand...
<hkaiser> K-ballo: it's an intrinsic there as well
<K-ballo> since when?
<heller> might not be a big deal on x86, other platforms might suffer though
<heller> and well, it is flagged by ubsan
<K-ballo> on x86 it's no longer a performance issue, but it is still undefined behavior
<hkaiser> is it now?
<K-ballo> "when you specify /Oi" ok, I'll have to recheck
<heller> hkaiser: I didn't run into a problem with it other than the ubsan diagnostic
<K-ballo> what's /Oi? is that /O<i> ?
<hkaiser> heller: let's wrap it into a pp constant and disable it for ubsan and other problematic platforms
<hkaiser> right
<hkaiser> that could have been why I did see the benefit, it's not an intrinsic without /Oi
<heller> hkaiser: ok, which benchmark did you run that showed the performance increase?
<K-ballo> so it's an intrinsic in release builds.. I wonder now if calls to memcpy with hardcoded constants would have the same effect
<hkaiser> I think serialization_overhead
<heller> I'll try and see
<hkaiser> K-ballo: in our release builds /Oi is off, at least it's not explicitly on
<hkaiser> could be implicit with /O2
<hkaiser> yes, /O2 is the same as /Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy
pree has quit [Ping timeout: 248 seconds]
<heller> another option would be to have seperate unrolled stores/loads with char instead of the "natural" ones
<hkaiser> heller: try it
<K-ballo> on a regular VS project I see both /O2 and /Oi in Release configuration, but not so on HPX's project
<hkaiser> K-ballo: I think I removed /O2 at some point as one of the versions was giving an ICE
<hkaiser> I think VS2015
<K-ballo> RelWithDebInfo has /O2, no /Oi; Release has /Ox, no /Oi
<hkaiser> yah, /O2implies /Oi
<hkaiser> same for /Ox
<K-ballo> yet the project configuration says No
<K-ballo> whereas a regular VS project gets both /O2 and /Oi for Release, and project configuration says Yes
<K-ballo> I suppose No means no /Oi whereas *No* means /Oi- ?
<hkaiser> who knows
<K-ballo> in that case, the entire effect of the optimization likely comes from the hard coded constants and not the intrinsics
eschnett has joined #ste||ar
EverYoung has quit [Remote host closed the connection]
EverYoung has joined #ste||ar
EverYoung has quit [Remote host closed the connection]
EverYoung has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
eschnett has quit [Quit: eschnett]
EverYoun_ has joined #ste||ar
EverYoung has quit [Ping timeout: 246 seconds]
EverYoun_ has quit [Ping timeout: 246 seconds]
hkaiser has joined #ste||ar