"git@developer.sourcefind.cn:OpenDAS/fastmoe.git" did not exist on "53844b652bec54b999eeb08641e118ae272cecd9"
Commit c097eb34 authored by Anthony Chang's avatar Anthony Chang
Browse files

fix standalone softmax race condition around blockwise reduction

parent 63914743
...@@ -250,8 +250,10 @@ struct GridwiseSoftmax_mk_to_mk ...@@ -250,8 +250,10 @@ struct GridwiseSoftmax_mk_to_mk
reducedTiles++; reducedTiles++;
} while(reducedTiles < num_k_block_tile_iteration); } while(reducedTiles < num_k_block_tile_iteration);
static_for<0, MThreadSliceSize, 1>{}( static_for<0, MThreadSliceSize, 1>{}([&](auto I) {
[&](auto I) { BlockwiseMaxReduce::Reduce(reduce_work_buf, max_value_buf(I)); }); BlockwiseMaxReduce::Reduce(reduce_work_buf, max_value_buf(I));
block_sync_lds();
});
threadwise_src_load.MoveSrcSliceWindow(in_grid_desc_m_k, in_thread_copy_bwd_step); threadwise_src_load.MoveSrcSliceWindow(in_grid_desc_m_k, in_thread_copy_bwd_step);
...@@ -303,9 +305,10 @@ struct GridwiseSoftmax_mk_to_mk ...@@ -303,9 +305,10 @@ struct GridwiseSoftmax_mk_to_mk
reducedTiles++; reducedTiles++;
} while(reducedTiles < num_k_block_tile_iteration); } while(reducedTiles < num_k_block_tile_iteration);
block_sync_lds(); // wait for reading being complete before writing to LDS
static_for<0, MThreadSliceSize, 1>{}([&](auto I) { static_for<0, MThreadSliceSize, 1>{}([&](auto I) {
BlockwiseSumReduce::Reduce(reduce_work_buf, accu_value_buf(I)); BlockwiseSumReduce::Reduce(reduce_work_buf, accu_value_buf(I));
// block_sync_lds(); block_sync_lds();
}); });
threadwise_src_load.MoveSrcSliceWindow(in_grid_desc_m_k, in_thread_copy_fwd_step); threadwise_src_load.MoveSrcSliceWindow(in_grid_desc_m_k, in_thread_copy_fwd_step);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment