@@ -756,7 +756,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::send(
756
756
-1 , // globalRankStart
757
757
-1 , // globalRankStride
758
758
this ->getSize (), // worldSize
759
- " N/A" ); // async_op
759
+ " N/A" , // async_op
760
+ " N/A" ); // reductionOp
760
761
761
762
auto ret = pointToPoint (
762
763
tensor,
@@ -806,7 +807,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::recv(
806
807
-1 , // globalRankStart
807
808
-1 , // globalRankStride
808
809
this ->getSize (), // worldSize
809
- " N/A" ); // async_op
810
+ " N/A" , // async_op
811
+ " N/A" ); // reductionOp
810
812
811
813
auto ret = pointToPoint (
812
814
tensor,
@@ -892,7 +894,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::gather(
892
894
-1 , // globalRankStart
893
895
-1 , // globalRankStride
894
896
this ->getSize (), // worldSize
895
- opts.asyncOp ); // async_op
897
+ opts.asyncOp , // async_op
898
+ " N/A" ); // reductionOp
896
899
897
900
auto inputs = std::vector<at::Tensor>{inputTensor};
898
901
return collective (
@@ -1007,7 +1010,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::scatter(
1007
1010
-1 , // globalRankStart
1008
1011
-1 , // globalRankStride
1009
1012
this ->getSize (), // worldSize
1010
- opts.asyncOp ); // async_op
1013
+ opts.asyncOp , // async_op
1014
+ " N/A" ); // reductionOp
1011
1015
1012
1016
const auto root = opts.rootRank ;
1013
1017
@@ -1136,7 +1140,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::allreduce(
1136
1140
-1 , // globalRankStart
1137
1141
-1 , // globalRankStride
1138
1142
size_, // worldSize
1139
- opts.asyncOp ); // async_op
1143
+ opts.asyncOp , // async_op
1144
+ reduceOpToString (opts.reduceOp )); // reductionOp
1140
1145
1141
1146
return allreduce_impl (tensor, " xccl:all_reduce" , opts);
1142
1147
}
@@ -1163,7 +1168,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::allreduce_coalesced(
1163
1168
-1 , // globalRankStart
1164
1169
-1 , // globalRankStride
1165
1170
this ->getSize (), // worldSize
1166
- opts.asyncOp ); // async_op
1171
+ opts.asyncOp , // async_op
1172
+ reduceOpToString (opts.reduceOp )); // reductionOp
1167
1173
1168
1174
return collectiveCoalesced (
1169
1175
tensors,
@@ -1226,7 +1232,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::broadcast(
1226
1232
-1 , // globalRankStart
1227
1233
-1 , // globalRankStride
1228
1234
this ->getSize (), // worldSize
1229
- opts.asyncOp ); // async_op
1235
+ opts.asyncOp , // async_op
1236
+ " N/A" ); // reductionOp
1230
1237
1231
1238
const auto root = opts.rootRank + opts.rootTensor ;
1232
1239
@@ -1318,7 +1325,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::reduce(
1318
1325
-1 , // globalRankStart
1319
1326
-1 , // globalRankStride
1320
1327
this ->getSize (), // worldSize
1321
- opts.asyncOp ); // async_op
1328
+ opts.asyncOp , // async_op
1329
+ reduceOpToString (opts.reduceOp )); // reductionOp
1322
1330
1323
1331
return collective (
1324
1332
tensor,
@@ -1428,7 +1436,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::allgather(
1428
1436
-1 , // globalRankStart
1429
1437
-1 , // globalRankStride
1430
1438
this ->getSize (), // worldSize
1431
- opts.asyncOp ); // async_op
1439
+ opts.asyncOp , // async_op
1440
+ " N/A" ); // reductionOp
1432
1441
1433
1442
bool same_size = checkSameSize (outputTensors_);
1434
1443
if (same_size) {
@@ -1516,7 +1525,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::_allgather_base(
1516
1525
-1 , // globalRankStart
1517
1526
-1 , // globalRankStride
1518
1527
this ->getSize (), // worldSize
1519
- opts.asyncOp ); // async_op
1528
+ opts.asyncOp , // async_op
1529
+ " N/A" ); // reductionOp
1520
1530
1521
1531
return collective (
1522
1532
input_tensor,
@@ -1563,7 +1573,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::allgather_into_tensor_coalesced(
1563
1573
-1 , // globalRankStart
1564
1574
-1 , // globalRankStride
1565
1575
this ->getSize (), // worldSize
1566
- opts.asyncOp ); // async_op
1576
+ opts.asyncOp , // async_op
1577
+ " N/A" ); // reductionOp
1567
1578
1568
1579
return collectiveCoalesced (
1569
1580
inputs,
@@ -1615,7 +1626,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::reduce_scatter(
1615
1626
-1 , // globalRankStart
1616
1627
-1 , // globalRankStride
1617
1628
this ->getSize (), // worldSize
1618
- opts.asyncOp ); // async_op
1629
+ opts.asyncOp , // async_op
1630
+ reduceOpToString (opts.reduceOp )); // reductionOp
1619
1631
1620
1632
bool same_size = checkSameSize (inputTensors_);
1621
1633
if (same_size) {
@@ -1713,7 +1725,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::_reduce_scatter_base(
1713
1725
-1 , // globalRankStart
1714
1726
-1 , // globalRankStride
1715
1727
this ->getSize (), // worldSize
1716
- opts.asyncOp ); // async_op
1728
+ opts.asyncOp , // async_op
1729
+ reduceOpToString (opts.reduceOp )); // reductionOp
1717
1730
1718
1731
return collective (
1719
1732
inputTensor,
@@ -1771,7 +1784,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::reduce_scatter_tensor_coalesced(
1771
1784
-1 , // globalRankStart
1772
1785
-1 , // globalRankStride
1773
1786
this ->getSize (), // worldSize
1774
- opts.asyncOp ); // async_op
1787
+ opts.asyncOp , // async_op
1788
+ reduceOpToString (opts.reduceOp )); // reductionOp
1775
1789
1776
1790
return collectiveCoalesced (
1777
1791
inputs,
@@ -1902,7 +1916,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::alltoall_base(
1902
1916
-1 , // globalRankStart
1903
1917
-1 , // globalRankStride
1904
1918
this ->getSize (), // worldSize
1905
- opts.asyncOp ); // async_op
1919
+ opts.asyncOp , // async_op
1920
+ " N/A" ); // reductionOp
1906
1921
1907
1922
TORCH_CHECK (
1908
1923
outputTensor.numel () == inputTensor.numel () &&
@@ -1953,7 +1968,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::alltoall_base(
1953
1968
-1 , // globalRankStart
1954
1969
-1 , // globalRankStride
1955
1970
this ->getSize (), // worldSize
1956
- opts.asyncOp ); // async_op
1971
+ opts.asyncOp , // async_op
1972
+ " N/A" ); // reductionOp
1957
1973
1958
1974
return collective (
1959
1975
inputTensor,
@@ -2030,7 +2046,8 @@ c10::intrusive_ptr<Work> ProcessGroupXCCL::alltoall(
2030
2046
-1 , // globalRankStart
2031
2047
-1 , // globalRankStride
2032
2048
this ->getSize (), // worldSize
2033
- opts.asyncOp ); // async_op
2049
+ opts.asyncOp , // async_op
2050
+ " N/A" ); // reductionOp
2034
2051
2035
2052
return collective (
2036
2053
inputTensors,
0 commit comments