@@ -150,17 +150,16 @@ def test_all_events(self):
150
150
output_sizes = [[4 , 4 ]]
151
151
expectedState = MatchState .FULLY_MATCHED
152
152
if collective in [
153
+ "reduce_scatter" ,
153
154
"_reduce_scatter_base" ,
154
155
"reduce_scatter_tensor_coalesced" ,
155
- "REDUCESCATTER_coalesced" ,
156
156
]:
157
157
input_sizes = [[4 , 4 ]]
158
158
output_sizes = [[input_sizes [0 ][0 ] * 2 ]]
159
159
if collective in [
160
160
"all_gather" ,
161
161
"_all_gather_base" ,
162
162
"all_gather_into_tensor_coalesced" ,
163
- "ALLGATHER_coalesced" ,
164
163
]:
165
164
output_sizes = [[math .prod (input_sizes [0 ]) * 2 ]]
166
165
if collective == "all_to_all" :
@@ -295,7 +294,7 @@ def testBuildDB(self):
295
294
create_one_entry (1 , "_broadcast_oop" , [[5 , 5 ]], [[5 , 5 ]])
296
295
)
297
296
details4 ["dump_file_rank_0" ]["entries" ].append (
298
- create_one_entry (2 , "coalesced " , [[]], [[]])
297
+ create_one_entry (2 , "ALLGATHER_coalesced " , [[]], [[]])
299
298
)
300
299
details4 ["dump_file_rank_1" ]["entries" ].append (
301
300
create_one_entry (0 , "_broadcast_oop" , [[4 , 4 ]], [[4 , 4 ]])
@@ -304,13 +303,41 @@ def testBuildDB(self):
304
303
create_one_entry (1 , "_broadcast_oop" , [[4 , 4 ]], [[4 , 4 ]])
305
304
)
306
305
details4 ["dump_file_rank_1" ]["entries" ].append (
307
- create_one_entry (2 , "coalesced " , [[]], [[]])
306
+ create_one_entry (2 , "ALLGATHER_coalesced " , [[]], [[]])
308
307
)
309
308
db = build_db (details4 , args , version )
310
309
self .assertEqual (len (db .collectives ), 1 )
311
310
self .assertEqual (db .collectives [0 ].record_id , 1 )
312
311
self .assertEqual (db .collectives [0 ].collective_name , "nccl:_broadcast_oop" )
313
312
self .assertEqual (db .collectives [0 ].pass_check , False )
313
+ # Test case 5: matched uneven reduce scatter case.
314
+ details5 = copy .deepcopy (LOADED_FR_DETAIL_TEMPLATE )
315
+ # sequence ID should not increase for coalesced collectives
316
+ details5 ["dump_file_rank_0" ]["entries" ].append (
317
+ create_one_entry (0 , "_reduce_oop" , [[4 , 4 ]], [[4 , 4 ]])
318
+ )
319
+ details5 ["dump_file_rank_0" ]["entries" ].append (
320
+ create_one_entry (1 , "_reduce_oop" , [[4 , 4 ]], [[4 , 4 ]])
321
+ )
322
+ details5 ["dump_file_rank_0" ]["entries" ].append (
323
+ create_one_entry (2 , "REDUCE_SCATTER_coalesced" , [[]], [[]])
324
+ )
325
+ details5 ["dump_file_rank_1" ]["entries" ].append (
326
+ create_one_entry (0 , "_reduce_oop" , [[4 , 4 ]], [[4 , 4 ]])
327
+ )
328
+ details5 ["dump_file_rank_1" ]["entries" ].append (
329
+ create_one_entry (1 , "_reduce_oop" , [[4 , 4 ]], [[4 , 4 ]])
330
+ )
331
+ details5 ["dump_file_rank_1" ]["entries" ].append (
332
+ create_one_entry (2 , "REDUCE_SCATTER_coalesced" , [[]], [[]])
333
+ )
334
+ db = build_db (details5 , args , version )
335
+ self .assertEqual (len (db .collectives ), 1 )
336
+ self .assertEqual (db .collectives [0 ].record_id , 2 )
337
+ self .assertEqual (
338
+ db .collectives [0 ].collective_name , "nccl:REDUCE_SCATTER_coalesced"
339
+ )
340
+ self .assertEqual (db .collectives [0 ].pass_check , True )
314
341
315
342
316
343
if __name__ == "__main__" :
0 commit comments