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/ | GSoC: https://github.com/STEllAR-GROUP/hpx/wiki/Google-Summer-of-Code-%28GSoC%29-2020
linus2 has quit [Quit: WeeChat 2.2]
Amy has joined #ste||ar
Amy is now known as Guest12402
Guest12402 is now known as linus2
linus2 has quit [Quit: WeeChat 2.2]
linus2 has joined #ste||ar
linus2 has quit [Client Quit]
linus2 has joined #ste||ar
nanmiao11 has joined #ste||ar
nanmiao11 has quit [Remote host closed the connection]
hkaiser has quit [Quit: bye]
weilewei has quit [Remote host closed the connection]
kale[m] has quit [Ping timeout: 258 seconds]
kale[m] has joined #ste||ar
kale[m] has quit [Ping timeout: 272 seconds]
kale[m] has joined #ste||ar
toralf[m]1 has joined #ste||ar
kale[m] has quit [Ping timeout: 256 seconds]
kale[m] has joined #ste||ar
nikunj97 has joined #ste||ar
kale[m] has quit [Ping timeout: 256 seconds]
kale[m] has joined #ste||ar
Nikunj__ has joined #ste||ar
nikunj97 has quit [Ping timeout: 260 seconds]
Nikunj__ is now known as nikunj97
kale[m] has quit [Ping timeout: 246 seconds]
nikunj has quit [Remote host closed the connection]
kale[m] has joined #ste||ar
nikunj has joined #ste||ar
hkaiser has joined #ste||ar
<K-ballo> what's the status of the release plans?
<hkaiser> K-ballo: no fixed date has been set
nanmiao11 has joined #ste||ar
<kale[m]> hkaiser: Can you explain how the symlinks in HPX and Phylanx works? I tried changing one of the symlink to an exact copy of the actual library and it didn't work (throws a seg fault). This information will be helpful with our pip package as generating wheels do not preserve symlinks.
<hkaiser> kale[m]: what symlinks?
<kale[m]> hkaiser: For example libhpx_phylanxd.so.0.0.1 has 2 symlinks libhpx_phylanxd.so.0 and libhpx_phylanxd.so. If I replace the libhpx_phylanxd.so file with libhpx_phylanxd.so.0.0.1 (i.e. make 2 copies of libhpx_phylanxd.so.0.0.1 with different names) I get a segmentation fault while executing a phylanx test.
<hkaiser> kale[m]: why would you want to do that?
<kale[m]> hkaiser: Because creating wheels do not preserve symlinks. So copies of the dynamic libraries are made instead.
<hkaiser> kale[m]: the symlinks can be recreated, no
<hkaiser> I also think those are not symlinks, but softlinks that also have the rpath encoded
<hkaiser> in the end they are textfiles
<kale[m]> pip install does not allow post transactions. So we will not be able to automate the step at user's end.
<hkaiser> it might work if you don't have those links at all
<nikunj97> hkaiser, just a back story. We were able to create a pip package for all linux os but somehow it always seg faulted. We initially thought that it was a linking issue. Later we found that it was because that replacing those copied libraries back to symlink made it work.
<hkaiser> things should work as long as the LD_LIBRARYPATHs and PYTHONPATHs are correct
<nikunj97> s/because/because of the copied libraries/
<hkaiser> sure
<hkaiser> if you duplicate the binaries things might not work correctly
<nikunj97> hkaiser, yea that's what we're experiencing at the moment
<nikunj97> btw are you sure they're text files and not symlinks? file <library_name> shows it to be a symlink
<hkaiser> leave out the links and make sure all loader paths are set correctly
<hkaiser> ok, I might misremember things
<nikunj97> but if we leave out the links, we'll have a situation of library not found. Afterall symlink was the bridge between the first dynamic library and its secondary dynamic library dependency
<hkaiser> I don't know anything about how this is workin gon linux, sorry
<hkaiser> the ysmlinks are created by cmake
<nikunj97> I see, heller1, K-ballo any idea how we can resolve it?
<K-ballo> too much context, summarize?
<hkaiser> nikunj97: would naming the binaries .0.0.1 (or similar) work?
<nikunj97> we want HPX to work if we remove all the symlinnks in linux
<nikunj97> hkaiser, we tried it, didn't work sadly
<hkaiser> what's the problem, there?
<hkaiser> hold on
<hkaiser> the linker uses the plain binary names for resolving symbols
<nikunj97> not sure really. Linux is not happy with renaming/cloning libraries.
<hkaiser> so whayy are the symlinks needed?
akheir has joined #ste||ar
<hkaiser> why*
<nikunj97> because HPX and Phylanx installations create 3 version of the library, 2 of which are symlinks and one is the actual library.
<hkaiser> that's not what I meant
<hkaiser> why doesn't it work if you remove the symlinks?
<hkaiser> what does ldd say?
<nikunj97> aah gotcha, the symlinks are needed because libraries link to libhpx_phylanxd.so.0 (which is a symlink to libhpx_phylanxd.so.0.0.1)
<nikunj97> removing libhpx_phylanxd.so.0 will give library not found from ldd
<hkaiser> ok, so you should be able to name the binaries like the symlinks used to resolve references
<hkaiser> libhpx_phylanxd.so.0
<nikunj97> making a copy of libhpx_phylanxd.so.0.0.1 as libhpx_phylanxd.so.0 throws seg fault for some reason
<hkaiser> not copy, rename
<nikunj97> ok, well haven't tried that. kale[m] you may want to try this ^^
<kale[m]> Yes, I'm on it
<hkaiser> nikunj97: you should be able to remove the VERSION/SOVERSION from our cmake scripts for your case
<hkaiser> that should prevent generating the symlinks
<nikunj97> hkaiser, aah that's a fallback option. But we'll be needing to integrate it with the Phylanx CI for updated pip packages. It may be troublesome in that case.
<hkaiser> or set -DNO_SONAME=On
<nikunj97> or well we can just build phylanx and hpx with the cmake option. Shouldn't change any testing result behavior imo.
<hkaiser> right
<hkaiser> needs to be tried out, though ;-)
<nikunj97> yes, thanks a lot for the help ;-)
<kale[m]> hkaiser: Thanks for the lead, it passes the test as expected when I move the library instead of copying.
<hkaiser> good
<nikunj97> kale[m], no seg fault anymore?
<kale[m]> nikunj97: No segfaults :)
<nikunj97> kale[m], nice! We should be able to get a working wheel soon then :)
<gonidelis[m]> hkaiser: Did you have any time to check #4809 after my latest commits?
<hkaiser> not yet, will do
<hkaiser> gonidelis[m]: one minor comment (I think inconsequential) other LGTM
kale[m] has quit [Ping timeout: 256 seconds]
kale[m] has joined #ste||ar
<gonidelis[m]> hkaiser: thanks! could that be the reason why tests.unit.modules.segmented_algorithms fails on build-and-test?
<hkaiser> gonidelis[m]: I don't know
<gonidelis[m]> Should I remove the whitespace?
<hkaiser> yes clang-format should do that, btw
<hkaiser> gonidelis[m]: I think the other failures are unrelated
<gonidelis[m]> ok thanks!
<gonidelis[m]> hkaiser: ahh clang-format is off in that line
<hkaiser> gonidelis[m]: btw, FYI, please see #4821 and #4822
kale[m] has quit [Ping timeout: 240 seconds]
kale[m] has joined #ste||ar
<nikunj97> hkaiser, yt?
nanmiao11 has quit [Remote host closed the connection]
<hkaiser> nikunj97: here
<nikunj97> hkaiser, when will we have access to the Arm processors you were talking about?
<nikunj97> I was thinking to do testing of my resiliency work for both Arm and x86. Should improve our chances of acceptance.
<hkaiser> nikunj97: I have not heard back from them, sorry
<nikunj97> aah ok. No worries. Was curious to know :)
kale[m] has quit [Ping timeout: 256 seconds]
kale[m] has joined #ste||ar
kale[m] has quit [Ping timeout: 246 seconds]
kale[m] has joined #ste||ar
weilewei has joined #ste||ar
<weilewei> when we do clang format to hpx files, what command line should I use?
<hkaiser> clang-format -i <file-name>
<weilewei> YAML:45:21: error: unknown key 'AfterCaseLabel' AfterCaseLabel: true ^~~~Error reading /home/weile/project/dev/src/hpx/.clang-format: Invalid argument
<weilewei> I got this issue...
<hkaiser> use a newer clang-format, I think we require at least v8
<weilewei> Ok, will give it a try
Nikunj__ has joined #ste||ar
nikunj97 has quit [Ping timeout: 256 seconds]
Nikunj__ has quit [Ping timeout: 246 seconds]