66 Commits

Author SHA1 Message Date
Wenkai Du 03bb6bcb54 Increase minimal channels for gfx908 (#259)
[ROCm/rccl commit: c5cbece6d0]
2020-08-26 11:40:11 -07:00
Wenkai Du 5f49a0e088 Add NPS4 support on some models (#256)
* Add NPS4 support on some models

* Add XML models

[ROCm/rccl commit: 391bbf3f1e]
2020-08-19 11:03:20 -07:00
Wenkai Du 3d5fb8142e Add another Rome model (#249)
* Add another Rome model

* Add gfx908 4P3L models and support

* Revert "Use cached value for detecting GDR support only once"

This reverts commit 0108a1219d.

* Skip using ibverb for GPU direct RDMA detection

* Fine tune one Rome model

[ROCm/rccl commit: a51e4071e3]
2020-08-17 10:51:02 -07:00
Wenkai Du c9815aaa36 Add more Rome 4P2H models
[ROCm/rccl commit: 09ef75656a]
2020-08-06 18:20:02 +00:00
Wenkai Du 487f93b83f Topology tuning for 4P2H on Rome (#242)
* Topology tuning for 4P2H on Rome

* Use ncclTopoIdToIndex

[ROCm/rccl commit: e7a10aa0e4]
2020-07-27 11:53:57 -07:00
Sourav Chakraborty e55a3f20ba add 4 node 8P6L 1 NIC 2nd Hive model
[ROCm/rccl commit: 2475daafee]
2020-07-22 16:27:15 +00:00
Sourav Chakraborty b3306d1c13 simplify model definitions in topo expl
[ROCm/rccl commit: db55afb014]
2020-07-22 16:05:53 +00:00
Wenkai Du f604fc774e Add 8P6L multi-node models (#239)
[ROCm/rccl commit: d5f90e19b5]
2020-07-21 14:10:36 -07:00
Wenkai Du 2f99c7bbad topo_expl: each rank needs to have its own memory for graphs (#225)
[ROCm/rccl commit: d3548cc474]
2020-07-01 15:11:02 -07:00
Wenkai Du 15cd2aff3c Add gather, scatter and alltoall collectives
Introducing 3 new APIs:
ncclResult_t  ncclGather(const void* sendbuff, void* recvbuff, size_t sendcount,
    ncclDataType_t datatype, int root, ncclComm_t comm, hipStream_t stream);
ncclResult_t  ncclScatter(const void* sendbuff, void* recvbuff,
    size_t recvcount, ncclDataType_t datatype, int root, ncclComm_t comm,
    hipStream_t stream);
ncclResult_t  ncclAllToAll(const void* sendbuff, void* recvbuff, size_t count,
    ncclDataType_t datatype, ncclComm_t comm, hipStream_t stream);

Only out of place operation is supported.
Preprocessor symbol RCCL_GATHER_SCATTER=1 indicates API availibility.
By default the APIs launche RCCL kernel implementation, which can be disabled by
RCCL_ALLTOALL_KERNEL_DISABLE=1. Then the APIs use wrapper around ncclSend and ncclRecv.


[ROCm/rccl commit: e80e29573c]
2020-06-09 17:44:08 -07:00
Wenkai Du 27519fd019 Give preference to path with more XGMI connections
[ROCm/rccl commit: b3c9852634]
2020-05-14 15:33:16 -07:00
Wenkai Du 8852e54181 topo_expl: update to 2.6
[ROCm/rccl commit: 6f54b23503]
2020-04-01 13:37:08 -07:00
Wenkai Du 7882b2f0c5 topo_expl: add a few more single node models
[ROCm/rccl commit: 32388d60a9]
2020-03-02 11:43:03 -08:00
Wenkai Du 3886f9bea8 topo_expl: use bandwidth numbers defined in graph in CPU models
[ROCm/rccl commit: 934b6de557]
2020-02-26 14:17:36 -08:00
Wenkai Du 45a7541582 Revise PCI BW numbers on Rome
[ROCm/rccl commit: d2adc61bf6]
2020-02-26 13:17:49 -08:00
Wenkai Du 00f421ccbd Add topology explorer
[ROCm/rccl commit: 55f8e2dec7]
2020-02-19 14:42:06 -08:00