v4.3 update. (#2709)
* v4.3 update. * Update the cute_dsl_api changelog's doc link * Update version to 4.3.0 * Update the example link * Update doc to encourage user to install DSL from requirements.txt --------- Co-authored-by: Larry Wu <larwu@nvidia.com>
This commit is contained in:
@@ -1039,10 +1039,6 @@ struct Sm100FmhaMlaKernelTmaWarpspecialized {
|
||||
auto pipeline_commit_state = pipeline_acquire_state;
|
||||
int pipeline_offset = 0;
|
||||
|
||||
for (int i = 0; i < StagesPV; i++) {
|
||||
cutlass::arch::cp_async_fence();
|
||||
}
|
||||
|
||||
auto load_stage = [&](auto fn) {
|
||||
pipeline_load.producer_acquire(pipeline_acquire_state);
|
||||
fn(pipeline_acquire_state.index());
|
||||
@@ -1132,6 +1128,13 @@ struct Sm100FmhaMlaKernelTmaWarpspecialized {
|
||||
pipeline_page_table.consumer_release(pipeline_pt_release_state);
|
||||
++pipeline_pt_release_state;
|
||||
|
||||
// Extra async fence if the pipeline_offset can't meet the StagesPV
|
||||
int extra_offset = 0;
|
||||
while (pipeline_offset + extra_offset < StagesPV - 1) {
|
||||
extra_offset++;
|
||||
cutlass::arch::cp_async_fence();
|
||||
}
|
||||
|
||||
while (pipeline_offset > 0) {
|
||||
cutlass::arch::cp_async_fence();
|
||||
|
||||
@@ -2097,7 +2100,7 @@ struct Sm100FmhaMlaKernelTmaWarpspecialized {
|
||||
cutlass::arch::NamedBarrier(
|
||||
(kNumComputeWarps + kNumLoadWarps) * NumThreadsPerWarp,
|
||||
kNamedBarrierEpilogue
|
||||
).arrive();
|
||||
).arrive_and_wait();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user