已关闭
fix(hcomm): 独立更新 SIMT 队列计数器的两个 32 位字段 #231
fix(hcomm): 独立更新 SIMT 队列计数器的两个 32 位字段 #231
已关闭
little_apple_12创建于 9月26日关闭于 5 天前
共 1 个文件变更+3-2
@@ -92,8 +92,9 @@ __simt_callee__ inline bool HcommSimtTryReserve(
92 return false;92 return false;
93 }93 }
94 94 
95- uint64_t delta = (static_cast<uint64_t>(cqeCnt) << 32U) | static_cast<uint64_t>(bbCnt);95+ uint32_t nextHeadIdx = HcommSimtHeadIdx(headVal) + bbCnt;
96- *headAddr = headVal + delta;96+ uint32_t nextWqeCnt = HcommSimtWqeCnt(headVal) + cqeCnt;
97+ *headAddr = (static_cast<uint64_t>(nextWqeCnt) << 32U) | static_cast<uint64_t>(nextHeadIdx);
97 return true;98 return true;
98}99}
99 100