Generic comm_data component (#132)

* Generic comm_data component

- moved rccl_comm_data to comm_data
- comm_data includes communication data for MPI

* fix timemory include with quotes

* Only support MPI comm data with full MPI support

* Increase timeouts + kill perfetto

* Update timemory submodule

* Fix missing command killall

* set +e in Kill Perfetto workflow step

* Updated MPI example to include MPI_Send and MPI_Recv calls

* Update timemory submodule with storage merge fix

* Perfetto comm data

- tracing::now<T>() function

* Fix timemory header include
This commit is contained in:
Jonathan R. Madsen
2022-08-25 19:48:10 -05:00
committed by GitHub
parent a1afd69a02
commit 0dd8f52292
15 changed files with 860 additions and 248 deletions
@@ -196,74 +196,5 @@ rcclp_handle::get_tool_count()
{
return get_persistent_data().m_count;
}
void
rccl_comm_data::preinit()
{
omnitrace::rcclp::configure();
}
// ncclReduce
void
rccl_comm_data::audit(const gotcha_data& _data, audit::incoming, const void*, void*,
size_t count, ncclDataType_t datatype, ncclRedOp_t, int root,
ncclComm_t, hipStream_t)
{
int size = rccl_type_size(datatype);
add(_data, count * size, JOIN('_', _data.tool_id.c_str(), "root", root));
}
// ncclSend
void
rccl_comm_data::audit(const gotcha_data& _data, audit::incoming, const void*,
size_t count, ncclDataType_t datatype, int peer, ncclComm_t,
hipStream_t)
{
int size = rccl_type_size(datatype);
add(_data, count * size, JOIN('_', _data.tool_id.c_str(), "root", peer));
}
// ncclBcast
// ncclRecv
void
rccl_comm_data::audit(const gotcha_data& _data, audit::incoming, void*, size_t count,
ncclDataType_t datatype, int root, ncclComm_t, hipStream_t)
{
int size = rccl_type_size(datatype);
add(_data, count * size, JOIN('_', _data.tool_id.c_str(), "root", root));
}
// ncclBroadcast
void
rccl_comm_data::audit(const gotcha_data& _data, audit::incoming, const void*, void*,
size_t count, ncclDataType_t datatype, int root, ncclComm_t,
hipStream_t)
{
int size = rccl_type_size(datatype);
add(_data, count * size, JOIN('_', _data.tool_id.c_str(), "root", root));
}
// ncclAllReduce
// ncclReduceScatter
void
rccl_comm_data::audit(const gotcha_data& _data, audit::incoming, const void*, void*,
size_t count, ncclDataType_t datatype, ncclRedOp_t, ncclComm_t,
hipStream_t)
{
int size = rccl_type_size(datatype);
add(_data, count * size);
}
// ncclAllGather
void
rccl_comm_data::audit(const gotcha_data& _data, audit::incoming, const void*, void*,
size_t count, ncclDataType_t datatype, ncclComm_t, hipStream_t)
{
int size = rccl_type_size(datatype);
add(_data, count * size);
}
} // namespace component
} // namespace tim
TIMEMORY_INITIALIZE_STORAGE(rccl_comm_data, rccl_data_tracker_t)