hkaiser changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar-group.org | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | This channel is logged: irclog.cct.lsu.edu
K-ballo has quit [Quit: K-ballo]
K-ballo has joined #ste||ar
hkaiser has quit [Quit: Bye!]
hkaiser has joined #ste||ar
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: Bye!]
K-ballo has joined #ste||ar
satyam_nith has joined #ste||ar
satyam_nith has quit [Client Quit]
hkaiser has joined #ste||ar
hkaiser has quit [Quit: Bye!]
diehlpk_work has joined #ste||ar
<pedro_barbosa[m]>
has anyone ever used APEX on HPXCL?
<pedro_barbosa[m]>
* on HPXCL? I'm having a few issues enabling the flags for HPX
<diehlpk_work>
@pedro_barbosa[m], What is the problem?
<diehlpk_work>
You do not need to enable anything for HPXCL
<diehlpk_work>
-DHPX_WITH_APEX=ON
<pedro_barbosa[m]>
I don't need to install HPX with APEX on and the CUDA option for APEX enabled?
<diehlpk_work>
-DAPEX_WITH_CUDA=ON
<pedro_barbosa[m]>
And this? -DAPEX_WITH_CUDA=TRUE
<diehlpk_work>
-DHPX_WITH_APEX_NO_UPDATE=FALSE \
<diehlpk_work>
-DHPX_WITH_APEX_TAG=develop \
<diehlpk_work>
All of these four flags
<diehlpk_work>
And you just compile HPXCL with that APEX
<diehlpk_work>
enabled HPX
<pedro_barbosa[m]>
I use those flags on HPXCL or on HPX and then build HPXCL with the HPX build?
<diehlpk_work>
Only on HPX
<diehlpk_work>
and build HPX with these flags
<diehlpk_work>
Aftr that you build HPXCL as before but using the HPX with APEX enabled
<diehlpk_work>
If you are running the hpxcl example, you need to do the following
<diehlpk_work>
export APEX_SCREEN_OUTPUT=1
<diehlpk_work>
export APEX_ENABLE_CUDA=1
<diehlpk_work>
and run the example
<diehlpk_work>
It will print some details about the function calls
<gonidelis[m]>
what's the problem with `some_foo->frobnicate(); // BOOM!` in the first bullet point?
<K-ballo>
accessing some_foo is UB
hkaiser has joined #ste||ar
<gonidelis[m]>
K-ballo: cause the type might not be alligned?
<K-ballo>
because some_foo does not point to any Foo
<K-ballo>
see the bullet text: "You can always cast a void* to a Foo* whether or not the object it points at is actually a Foo."
<gonidelis[m]>
so `fobricnate()` is a Foo member function that void* knows nothing about
<gonidelis[m]>
void^^
<gonidelis[m]>
(not void*)
<K-ballo>
uhm, what would it mean for some type T to know about some other type's members?
<gonidelis[m]>
being able to invoke them
<K-ballo>
types don't invoke members
<gonidelis[m]>
Objects of that type
<K-ballo>
still no idea what you mean
<K-ballo>
some_foo points to some std::string, not some Foo
<K-ballo>
the precondition for pointer derreference is that it actually points to an actual object of that type at the given address
<gonidelis[m]>
got it
<gonidelis[m]>
i didn't see it was pointing to the string tbh
<gonidelis[m]>
can visual studio connect to rostam and work remotely from there?
<hkaiser>
gonidelis[m]: should work, vscode is easier to use for this, however
<gonidelis[m]>
on it
<gonidelis[m]>
hkaiser: should we sweep all `decay<>::type`s and `enable_if<>::type`s at some point and just turn them to `decay_t`, `enable_if_t`?
<K-ballo>
eventually yes, but there's no point in doing it preemptively all at once, it's just noise
<gonidelis[m]>
K-ballo: you got it
<gonidelis[m]>
release step 1 (god's sake):
<gonidelis[m]>
"For minor and major releases: create and check out a new branch at an appropriate point on master with the name release-major.minor.X. major and minor should be the major and minor versions of the release. For patch releases: check out the corresponding release-major.minor.X branch."
<gonidelis[m]>
Do i open 3 branchese?
<gonidelis[m]>
branches*
<gonidelis[m]>
ms: hkaiser ^^
<hkaiser>
gonidelis[m]: I think ms[m] was using only one branch: 'release'