Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1232 Implement Storable collection trait in support of CUDA streams #1236

Merged
merged 12 commits into from
Jan 31, 2021

Conversation

lifflander
Copy link
Collaborator

Fixes #1232

Implement a general mechanism to store data with a collection element. Implemented with a key/value store that detects whether the value needs serialization or not. The string-based key could add some overhead, but I think it's fine for the use cases we have.

@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@codecov
Copy link

codecov bot commented Jan 28, 2021

Codecov Report

Merging #1236 (688890b) into develop (4c49014) will increase coverage by 0.14%.
The diff coverage is 100.00%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #1236      +/-   ##
===========================================
+ Coverage    81.11%   81.25%   +0.14%     
===========================================
  Files          733      738       +5     
  Lines        28144    28211      +67     
===========================================
+ Hits         22828    22923      +95     
+ Misses        5316     5288      -28     
Impacted Files Coverage Δ
src/vt/vrt/collection/migrate/migrate_msg.h 100.00% <ø> (ø)
.../vt/vrt/collection/migrate/migrate_handlers.impl.h 100.00% <100.00%> (ø)
src/vt/vrt/collection/types/migratable.h 100.00% <100.00%> (ø)
src/vt/vrt/collection/types/migratable.impl.h 100.00% <100.00%> (ø)
src/vt/vrt/collection/types/storage/storable.cc 100.00% <100.00%> (ø)
src/vt/vrt/collection/types/storage/storable.h 100.00% <100.00%> (ø)
...rc/vt/vrt/collection/types/storage/storable.impl.h 100.00% <100.00%> (ø)
src/vt/vrt/collection/types/storage/store_elm.h 100.00% <100.00%> (ø)
...c/vt/vrt/collection/types/storage/store_elm.impl.h 100.00% <100.00%> (ø)
tests/unit/collection/test_invoke.cc 100.00% <100.00%> (ø)
... and 38 more

@azure-pipelines
Copy link

PR tests (nvidia cuda 11.0, ubuntu, mpich)

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/linear_model.cc(66): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/linear_model.cc(66): warning: integer conversion resulted in a change of sign

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<TestMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<MyCol, TestMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=MyCol, MsgT=TestMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<MyCol, TestMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<MyCol, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(155): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=MyCol, T=TestMsg, f=&colHan, CbkT=vt::pipe::callback::cbunion::CallbackTyped<TestMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(116): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=MyCol, MsgT=TestMsg, f=&colHan]" 
/vt/examples/callback/callback.cc(151): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<LinearPb1DJacobi::ReduxMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<LinearPb1DJacobi, LinearPb1DJacobi::ReduxMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=LinearPb1DJacobi, MsgT=LinearPb1DJacobi::ReduxMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<LinearPb1DJacobi, LinearPb1DJacobi::ReduxMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<LinearPb1DJacobi, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=LinearPb1DJacobi, T=LinearPb1DJacobi::ReduxMsg, f=&LinearPb1DJacobi::checkCompleteCB, CbkT=vt::pipe::callback::cbunion::CallbackTyped<LinearPb1DJacobi::ReduxMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=LinearPb1DJacobi, MsgT=LinearPb1DJacobi::ReduxMsg, f=&LinearPb1DJacobi::checkCompleteCB]" 
/vt/examples/collection/jacobi1d_vt.cc(179): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<LinearPb2DJacobi::ReduxMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<LinearPb2DJacobi, LinearPb2DJacobi::ReduxMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=LinearPb2DJacobi, MsgT=LinearPb2DJacobi::ReduxMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<LinearPb2DJacobi, LinearPb2DJacobi::ReduxMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<LinearPb2DJacobi, vt::Index2D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=LinearPb2DJacobi, T=LinearPb2DJacobi::ReduxMsg, f=&LinearPb2DJacobi::checkCompleteCB, CbkT=vt::pipe::callback::cbunion::CallbackTyped<LinearPb2DJacobi::ReduxMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=LinearPb2DJacobi, MsgT=LinearPb2DJacobi::ReduxMsg, f=&LinearPb2DJacobi::checkCompleteCB]" 
/vt/examples/collection/jacobi2d_vt.cc(221): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<Hello::ReduceMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<Hello, Hello::ReduceMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=Hello, MsgT=Hello::ReduceMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<Hello, Hello::ReduceMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<Hello, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=Hello, T=Hello::ReduceMsg, f=&Hello::done, CbkT=vt::pipe::callback::cbunion::CallbackTyped<Hello::ReduceMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=Hello, MsgT=Hello::ReduceMsg, f=&Hello::done]" 
/vt/examples/hello_world/hello_world_collection_reduce.cc(64): here

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

@azure-pipelines
Copy link

PR tests (nvidia cuda 10.1, ubuntu, mpich)

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/linear_model.cc(66): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/linear_model.cc(66): warning: integer conversion resulted in a change of sign

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<TestMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<MyCol, TestMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=MyCol, MsgT=TestMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<MyCol, TestMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<MyCol, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(155): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=MyCol, T=TestMsg, f=colHan, CbkT=vt::pipe::callback::cbunion::CallbackTyped<TestMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(116): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=MyCol, MsgT=TestMsg, f=colHan]" 
/vt/examples/callback/callback.cc(151): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<LinearPb1DJacobi::ReduxMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<LinearPb1DJacobi, LinearPb1DJacobi::ReduxMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=LinearPb1DJacobi, MsgT=LinearPb1DJacobi::ReduxMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<LinearPb1DJacobi, LinearPb1DJacobi::ReduxMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<LinearPb1DJacobi, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=LinearPb1DJacobi, T=LinearPb1DJacobi::ReduxMsg, f=&LinearPb1DJacobi::checkCompleteCB, CbkT=vt::pipe::callback::cbunion::CallbackTyped<LinearPb1DJacobi::ReduxMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=LinearPb1DJacobi, MsgT=LinearPb1DJacobi::ReduxMsg, f=&LinearPb1DJacobi::checkCompleteCB]" 
/vt/examples/collection/jacobi1d_vt.cc(179): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<LinearPb2DJacobi::ReduxMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<LinearPb2DJacobi, LinearPb2DJacobi::ReduxMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=LinearPb2DJacobi, MsgT=LinearPb2DJacobi::ReduxMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<LinearPb2DJacobi, LinearPb2DJacobi::ReduxMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<LinearPb2DJacobi, vt::Index2D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=LinearPb2DJacobi, T=LinearPb2DJacobi::ReduxMsg, f=&LinearPb2DJacobi::checkCompleteCB, CbkT=vt::pipe::callback::cbunion::CallbackTyped<LinearPb2DJacobi::ReduxMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=LinearPb2DJacobi, MsgT=LinearPb2DJacobi::ReduxMsg, f=&LinearPb2DJacobi::checkCompleteCB]" 
/vt/examples/collection/jacobi2d_vt.cc(221): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<Hello::ReduceMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<Hello, Hello::ReduceMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=Hello, MsgT=Hello::ReduceMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<Hello, Hello::ReduceMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<Hello, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=Hello, T=Hello::ReduceMsg, f=&Hello::done, CbkT=vt::pipe::callback::cbunion::CallbackTyped<Hello::ReduceMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=Hello, MsgT=Hello::ReduceMsg, f=&Hello::done]" 
/vt/examples/hello_world/hello_world_collection_reduce.cc(64): here

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

@azure-pipelines
Copy link

PR tests (intel 19, ubuntu, mpich)

icc: command line warning #10148: option '-Wdouble-promotion' not supported
icc: command line warning #10148: option '-Wcast-align' not supported
icc: command line warning #10148: option '-W=strict-overflow=5' not supported
icc: command line warning #10148: option '-Wpedantic' not supported
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo

@azure-pipelines
Copy link

PR tests (intel 18.03, ubuntu, mpich)

icc: command line warning #10006: ignoring unknown option '-Wdouble-promotion'
icc: command line warning #10006: ignoring unknown option '-Wcast-align'
icc: command line warning #10006: ignoring unknown option '-Wstrict-overflow=5'
icc: command line warning #10006: ignoring unknown option '-Wpedantic'
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo

@DARMA-tasking DARMA-tasking deleted a comment from azure-pipelines bot Jan 28, 2021
@azure-pipelines
Copy link

PR tests (nvidia cuda 10.1, ubuntu, mpich)

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/linear_model.cc(66): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/linear_model.cc(66): warning: integer conversion resulted in a change of sign

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<TestMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<MyCol, TestMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=MyCol, MsgT=TestMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<MyCol, TestMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<MyCol, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(155): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=MyCol, T=TestMsg, f=colHan, CbkT=vt::pipe::callback::cbunion::CallbackTyped<TestMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(116): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=MyCol, MsgT=TestMsg, f=colHan]" 
/vt/examples/callback/callback.cc(151): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<LinearPb1DJacobi::ReduxMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<LinearPb1DJacobi, LinearPb1DJacobi::ReduxMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=LinearPb1DJacobi, MsgT=LinearPb1DJacobi::ReduxMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<LinearPb1DJacobi, LinearPb1DJacobi::ReduxMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<LinearPb1DJacobi, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=LinearPb1DJacobi, T=LinearPb1DJacobi::ReduxMsg, f=&LinearPb1DJacobi::checkCompleteCB, CbkT=vt::pipe::callback::cbunion::CallbackTyped<LinearPb1DJacobi::ReduxMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=LinearPb1DJacobi, MsgT=LinearPb1DJacobi::ReduxMsg, f=&LinearPb1DJacobi::checkCompleteCB]" 
/vt/examples/collection/jacobi1d_vt.cc(179): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<LinearPb2DJacobi::ReduxMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<LinearPb2DJacobi, LinearPb2DJacobi::ReduxMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=LinearPb2DJacobi, MsgT=LinearPb2DJacobi::ReduxMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<LinearPb2DJacobi, LinearPb2DJacobi::ReduxMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<LinearPb2DJacobi, vt::Index2D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=LinearPb2DJacobi, T=LinearPb2DJacobi::ReduxMsg, f=&LinearPb2DJacobi::checkCompleteCB, CbkT=vt::pipe::callback::cbunion::CallbackTyped<LinearPb2DJacobi::ReduxMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=LinearPb2DJacobi, MsgT=LinearPb2DJacobi::ReduxMsg, f=&LinearPb2DJacobi::checkCompleteCB]" 
/vt/examples/collection/jacobi2d_vt.cc(221): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<Hello::ReduceMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<Hello, Hello::ReduceMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=Hello, MsgT=Hello::ReduceMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<Hello, Hello::ReduceMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<Hello, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=Hello, T=Hello::ReduceMsg, f=&Hello::done, CbkT=vt::pipe::callback::cbunion::CallbackTyped<Hello::ReduceMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=Hello, MsgT=Hello::ReduceMsg, f=&Hello::done]" 
/vt/examples/hello_world/hello_world_collection_reduce.cc(64): here

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

@azure-pipelines
Copy link

PR tests (intel 18.03, ubuntu, mpich)

icc: command line warning #10006: ignoring unknown option '-Wdouble-promotion'
icc: command line warning #10006: ignoring unknown option '-Wcast-align'
icc: command line warning #10006: ignoring unknown option '-Wstrict-overflow=5'
icc: command line warning #10006: ignoring unknown option '-Wpedantic'
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo

@azure-pipelines
Copy link

PR tests (intel 19, ubuntu, mpich)

icc: command line warning #10148: option '-Wdouble-promotion' not supported
icc: command line warning #10148: option '-Wcast-align' not supported
icc: command line warning #10148: option '-W=strict-overflow=5' not supported
icc: command line warning #10148: option '-Wpedantic' not supported
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo

Copy link
Contributor

@cz4rs cz4rs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good overall 👍 please have a look at the questions posted

src/vt/vrt/collection/types/storage/storable.cc Outdated Show resolved Hide resolved
tests/unit/collection/test_storage.cc Show resolved Hide resolved
@PhilMiller
Copy link
Member

If we wanted to not use string-based keys, we could use tag types with a registry instance.

Copy link
Member

@PhilMiller PhilMiller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll be happy to have this for the CUDA support work. Looks great.

@azure-pipelines
Copy link

PR tests (nvidia cuda 11.0, ubuntu, mpich)

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/linear_model.cc(66): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/linear_model.cc(66): warning: integer conversion resulted in a change of sign

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<TestMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<MyCol, TestMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=MyCol, MsgT=TestMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<MyCol, TestMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<MyCol, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(155): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=MyCol, T=TestMsg, f=&colHan, CbkT=vt::pipe::callback::cbunion::CallbackTyped<TestMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(116): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=MyCol, MsgT=TestMsg, f=&colHan]" 
/vt/examples/callback/callback.cc(151): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<LinearPb1DJacobi::ReduxMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<LinearPb1DJacobi, LinearPb1DJacobi::ReduxMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=LinearPb1DJacobi, MsgT=LinearPb1DJacobi::ReduxMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<LinearPb1DJacobi, LinearPb1DJacobi::ReduxMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<LinearPb1DJacobi, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=LinearPb1DJacobi, T=LinearPb1DJacobi::ReduxMsg, f=&LinearPb1DJacobi::checkCompleteCB, CbkT=vt::pipe::callback::cbunion::CallbackTyped<LinearPb1DJacobi::ReduxMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=LinearPb1DJacobi, MsgT=LinearPb1DJacobi::ReduxMsg, f=&LinearPb1DJacobi::checkCompleteCB]" 
/vt/examples/collection/jacobi1d_vt.cc(179): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<LinearPb2DJacobi::ReduxMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<LinearPb2DJacobi, LinearPb2DJacobi::ReduxMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=LinearPb2DJacobi, MsgT=LinearPb2DJacobi::ReduxMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<LinearPb2DJacobi, LinearPb2DJacobi::ReduxMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<LinearPb2DJacobi, vt::Index2D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=LinearPb2DJacobi, T=LinearPb2DJacobi::ReduxMsg, f=&LinearPb2DJacobi::checkCompleteCB, CbkT=vt::pipe::callback::cbunion::CallbackTyped<LinearPb2DJacobi::ReduxMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=LinearPb2DJacobi, MsgT=LinearPb2DJacobi::ReduxMsg, f=&LinearPb2DJacobi::checkCompleteCB]" 
/vt/examples/collection/jacobi2d_vt.cc(221): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<Hello::ReduceMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<Hello, Hello::ReduceMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=Hello, MsgT=Hello::ReduceMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<Hello, Hello::ReduceMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<Hello, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=Hello, T=Hello::ReduceMsg, f=&Hello::done, CbkT=vt::pipe::callback::cbunion::CallbackTyped<Hello::ReduceMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=Hello, MsgT=Hello::ReduceMsg, f=&Hello::done]" 
/vt/examples/hello_world/hello_world_collection_reduce.cc(64): here

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

@azure-pipelines
Copy link

PR tests (intel 18.03, ubuntu, mpich)

icc: command line warning #10006: ignoring unknown option '-Wdouble-promotion'
icc: command line warning #10006: ignoring unknown option '-Wcast-align'
icc: command line warning #10006: ignoring unknown option '-Wstrict-overflow=5'
icc: command line warning #10006: ignoring unknown option '-Wpedantic'
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo

@azure-pipelines
Copy link

PR tests (nvidia cuda 10.1, ubuntu, mpich)

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/linear_model.cc(66): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/linear_model.cc(66): warning: integer conversion resulted in a change of sign

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<TestMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<MyCol, TestMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=MyCol, MsgT=TestMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<MyCol, TestMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<MyCol, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(155): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=MyCol, T=TestMsg, f=colHan, CbkT=vt::pipe::callback::cbunion::CallbackTyped<TestMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(116): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=MyCol, MsgT=TestMsg, f=colHan]" 
/vt/examples/callback/callback.cc(151): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<LinearPb1DJacobi::ReduxMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<LinearPb1DJacobi, LinearPb1DJacobi::ReduxMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=LinearPb1DJacobi, MsgT=LinearPb1DJacobi::ReduxMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<LinearPb1DJacobi, LinearPb1DJacobi::ReduxMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<LinearPb1DJacobi, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=LinearPb1DJacobi, T=LinearPb1DJacobi::ReduxMsg, f=&LinearPb1DJacobi::checkCompleteCB, CbkT=vt::pipe::callback::cbunion::CallbackTyped<LinearPb1DJacobi::ReduxMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=LinearPb1DJacobi, MsgT=LinearPb1DJacobi::ReduxMsg, f=&LinearPb1DJacobi::checkCompleteCB]" 
/vt/examples/collection/jacobi1d_vt.cc(179): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<LinearPb2DJacobi::ReduxMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<LinearPb2DJacobi, LinearPb2DJacobi::ReduxMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=LinearPb2DJacobi, MsgT=LinearPb2DJacobi::ReduxMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<LinearPb2DJacobi, LinearPb2DJacobi::ReduxMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<LinearPb2DJacobi, vt::Index2D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=LinearPb2DJacobi, T=LinearPb2DJacobi::ReduxMsg, f=&LinearPb2DJacobi::checkCompleteCB, CbkT=vt::pipe::callback::cbunion::CallbackTyped<LinearPb2DJacobi::ReduxMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=LinearPb2DJacobi, MsgT=LinearPb2DJacobi::ReduxMsg, f=&LinearPb2DJacobi::checkCompleteCB]" 
/vt/examples/collection/jacobi2d_vt.cc(221): here

/vt/src/vt/pipe/callback/proxy_send/callback_proxy_send.h(61): warning: overloaded virtual function "vt::pipe::callback::CallbackBase<SignalT>::trigger_ [with SignalT=vt::pipe::signal::Signal<Hello::ReduceMsg>]" is only partially overridden in class "vt::pipe::callback::CallbackProxySend<Hello, Hello::ReduceMsg>"
          detected during:
            instantiation of class "vt::pipe::callback::CallbackProxySend<ColT, MsgT> [with ColT=Hello, MsgT=Hello::ReduceMsg]" 
/usr/include/c++/7/bits/unique_ptr.h(821): here
            instantiation of "std::_MakeUniq<_Tp>::__single_object std::make_unique<_Tp,_Args...>(_Args &&...) [with _Tp=vt::pipe::callback::CallbackProxySend<Hello, Hello::ReduceMsg>, _Args=<const vt::HandlerType &, vt::vrt::VirtualElmProxyType<Hello, vt::Index1D> &>]" 
/vt/src/vt/pipe/pipe_manager_tl.impl.h(176): here
            instantiation of "CbkT vt::pipe::PipeManagerTL::makeCallbackSingleProxySend<ColT,T,f,CbkT>(ColT::ProxyType) [with ColT=Hello, T=Hello::ReduceMsg, f=&Hello::done, CbkT=vt::pipe::callback::cbunion::CallbackTyped<Hello::ReduceMsg>]" 
/vt/src/vt/pipe/pipe_manager.impl.h(121): here
            instantiation of "vt::Callback<MsgT> vt::pipe::PipeManager::makeSend<ColT,MsgT,f>(ColT::ProxyType) [with ColT=Hello, MsgT=Hello::ReduceMsg, f=&Hello::done]" 
/vt/examples/hello_world/hello_world_collection_reduce.cc(64): here

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

/vt/src/vt/vrt/collection/balance/model/raw_data.h(81): warning: integer conversion resulted in a change of sign

@azure-pipelines
Copy link

PR tests (intel 19, ubuntu, mpich)

icc: command line warning #10148: option '-Wdouble-promotion' not supported
icc: command line warning #10148: option '-Wcast-align' not supported
icc: command line warning #10148: option '-W=strict-overflow=5' not supported
icc: command line warning #10148: option '-Wpedantic' not supported
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo

@lifflander lifflander merged commit f7ce521 into develop Jan 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Associate data with collection elements w/ user getter/setters
3 participants