hkaiser changed the topic of #ste||ar to: The topic is '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/
<primef>
Hello all, I'm working with allocators and futures. More in particular I would like to use the block_allocator to allocate a shared_future vector to NUMA nodes. Is this possible?
<primef>
As an additional remark, I'm using an own defined type as data type for the shared future vector. In other words my code is like this: typedef hpx::shared_future <tile_type> tile;typedef hpx::compute::host::block_allocator<tile> allocator_type;typedef hpx::compute::vector <tile, allocator_type> grid;typedef hpx::compute::host::block_executor<>
<primef>
executor_type;
hkaiser has joined #ste||ar
primef has quit [Remote host closed the connection]
primef has joined #ste||ar
weilewei has quit [Remote host closed the connection]
<primef>
Hi, I'm sorry I got disconnected. My internet connection isn't stable today unfortunately. Any updates on my previous question? Thank you!
hkaiser has quit [Ping timeout: 252 seconds]
<zao>
primef: No.
<zao>
(you can see the log of the channel with the link in the topic, by the way)
hkaiser has joined #ste||ar
<zao>
hkaiser: Got any clue about the question primef had just above when you were disconnected?
<primef>
zao: thanks for your hint!
<primef>
As for my issue: I'm asking because I get an error which states: error: binding reference of type 'hpx::compute::host::block_allocator<hpx::lcos::shared_future<tile_type> >&' to 'const allocator_type' {aka 'const hpx::compute::host::block_allocator<hpx::lcos::shared_future<tile_type> >'} discards qualifiers
<diehlpk_work>
jbjnr, I like to ask for an update about libfabric?
<diehlpk_work>
Since Cori is available again, we like to run the first tests
<hkaiser>
primef: looks like you have a const-correctness issue
<primef>
hkaiser: first, thanks for your help! I thought of that, but cannot make my head around it. Does the HPX API require a const somewehere?
<primef>
*Does the HPX API for the block_allocator require a const
<heller>
primef: can you maybe post the full error message?
<primef>
In file included from /home/nfs/fprimerano/pad/hpx149/hpx/hpx/include/compute.hpp:12, from /home/nfs/fprimerano/pad/project/src/3_stencil/stencil_optimized_numa.cpp:8:/home/nfs/fprimerano/pad/hpx149/hpx/libs/compute/include/hpx/compute/vector.hpp: In instantiation of 'hpx::compute::vector<T, Allocator>& hpx::compute::vector<T,
<primef>
Allocator>::operator=(const hpx::compute::vector<T, Allocator>&) [with T = hpx::lcos::shared_future<tile_type>; Allocator = hpx::compute::host::block_allocator<hpx::lcos::shared_future<tile_type> >]':/home/nfs/fprimerano/pad/project/src/3_stencil/stencil_optimized_numa.cpp:221:16: required from
<primef>
here/home/nfs/fprimerano/pad/hpx149/hpx/libs/compute/include/hpx/compute/vector.hpp:173:46: error: binding reference of type 'hpx::compute::host::block_allocator<hpx::lcos::shared_future<tile_type> >&' to 'const allocator_type' {aka 'const hpx::compute::host::block_allocator<hpx::lcos::shared_future<tile_type> >'} discards qualifiers 173 |
<primef>
alloc_traits::allocate(other.alloc_, other.capacity_); | ~~~~~~^~~~~~In file included from /opt/asc/pub/spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/gcc-9.2.0-2ljfzije77bz7bz3b6zwwzhdyulfhvqo/include/c++/9.2.0/ext/alloc_traits.h:36, from
<primef>
/opt/asc/pub/spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/gcc-9.2.0-2ljfzije77bz7bz3b6zwwzhdyulfhvqo/include/c++/9.2.0/bits/basic_string.h:40, from /opt/asc/pub/spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/gcc-9.2.0-2ljfzije77bz7bz3b6zwwzhdyulfhvqo/include/c++/9.2.0/string:55, from
<primef>
/opt/asc/pub/spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/gcc-9.2.0-2ljfzije77bz7bz3b6zwwzhdyulfhvqo/include/c++/9.2.0/bits/locale_classes.h:40, from /opt/asc/pub/spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/gcc-9.2.0-2ljfzije77bz7bz3b6zwwzhdyulfhvqo/include/c++/9.2.0/bits/ios_base.h:41, from
<primef>
/opt/asc/pub/spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/gcc-9.2.0-2ljfzije77bz7bz3b6zwwzhdyulfhvqo/include/c++/9.2.0/ios:42, from /opt/asc/pub/spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/gcc-9.2.0-2ljfzije77bz7bz3b6zwwzhdyulfhvqo/include/c++/9.2.0/ostream:38, from
<primef>
/home/nfs/fprimerano/.local/boost_1_72_0/boost/system/error_code.hpp:17, from /home/nfs/fprimerano/pad/hpx149/hpx/libs/errors/include/hpx/errors/error.hpp:16, from /home/nfs/fprimerano/pad/hpx149/hpx/build/libs/errors/include/hpx/errors.hpp:12, from
<primef>
/home/nfs/fprimerano/pad/hpx149/hpx/hpx/hpx_finalize.hpp:13, from /home/nfs/fprimerano/pad/hpx149/hpx/hpx/hpx_init.hpp:16, from
<primef>
/home/nfs/fprimerano/pad/project/src/3_stencil/stencil_optimized_numa.cpp:5:/opt/asc/pub/spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/gcc-9.2.0-2ljfzije77bz7bz3b6zwwzhdyulfhvqo/include/c++/9.2.0/bits/alloc_traits.h:305:24: note: initializing argument 1 of 'static std::allocator_traits<_Alloc>::pointer
<primef>
heller: sorry for the formatting, if you have any hint how to format it better please let me know
<primef>
As my understanding, during an assignment operation (=) between two vectors, the error arises. Hence the overloaded operator's function vector& operator=(vector const& other), is called.
<K-ballo>
next time use some paste site and drop the link here
<K-ballo>
the error looks correct, seems like there's a bug in compute/vector
<K-ballo>
vector::op= should be copying over other.alloc and operating with that instead
<primef>
K-ballo: I open an issue for that on GitHub? And do you have a workaround?
RostamLog has joined #ste||ar
<K-ballo>
can't think of a workaround, can't think how it may actually be working somewhere
Yorlik has joined #ste||ar
<primef>
What about ditching the compute::vector and use an alternative instead?
<K-ballo>
I wouldn't know, I know nothing about compute
<primef>
Alright, thank you anyways. Do you have any suggestions as how to fix this? So that I can apply a hot fix in my local installation.
primef has quit [Remote host closed the connection]
<K-ballo>
maybe wait for more than 10 seconds?
hkaiser has quit [Ping timeout: 258 seconds]
hkaiser has joined #ste||ar
primef has joined #ste||ar
<primef>
K-ballo: sorry for dropping out. I had to leave the office and take the last train to go home. Back to my question. Do you have any suggestion for a hot-fux?
<primef>
*fix
primef has quit [Remote host closed the connection]
hkaiser has quit [Quit: bye]
primef has joined #ste||ar
primef has quit [Remote host closed the connection]
hkaiser has joined #ste||ar
primef has joined #ste||ar
primef has quit [Remote host closed the connection]