已开启
AIV Jetty build failure with CANN C API headers #232
AIV Jetty build failure with CANN C API headers #232
已开启
KaranocaVe创建于 26 天前
共 1 个文件变更+13-13
@@ -12,7 +12,7 @@
12#define IMPL_ADV_API_DETAIL_HCOMM_IMPL_PLATFORM_V310_HCOMM_AIV_URMA_JETTY_H12#define IMPL_ADV_API_DETAIL_HCOMM_IMPL_PLATFORM_V310_HCOMM_AIV_URMA_JETTY_H
13 13 
14#include <c_api/sync/sync.h>14#include <c_api/sync/sync.h>
15-#include <c_api/utils/sys_var.h>15+#include <c_api/sys_var/sys_var.h>
16#include <c_api/vector_datamove/vector_datamove.h>16#include <c_api/vector_datamove/vector_datamove.h>
17 17 
18#include "../../../hcomm/common/hcomm_inner_def.h"18#include "../../../hcomm/common/hcomm_inner_def.h"
@@ -39,7 +39,7 @@ __aicore__ inline HcommPeer::HcommPeer(__ubuf__ HcommJettyPeerInfo* peerInfo, GM
39{39{
40 HCOMM_DEBUG_TRAP_IF(peerInfo == nullptr || jettyTable == nullptr, "peerInfo or jettyTable is nullptr\n");40 HCOMM_DEBUG_TRAP_IF(peerInfo == nullptr || jettyTable == nullptr, "peerInfo or jettyTable is nullptr\n");
41 auto* table = reinterpret_cast<__gm__ uint64_t*>(jettyTable);41 auto* table = reinterpret_cast<__gm__ uint64_t*>(jettyTable);
42- uint64_t jettyValue = ReadGmBypassDCache(table + jettyIdx);42+ uint64_t jettyValue = ReadGmByPassDCache(table + jettyIdx);
43 HCOMM_DEBUG_TRAP_IF(jettyValue == 0U, "jettyTable[%u] is 0\n", jettyIdx);43 HCOMM_DEBUG_TRAP_IF(jettyValue == 0U, "jettyTable[%u] is 0\n", jettyIdx);
44 auto* jetty = reinterpret_cast<__gm__ ChannelEntity*>(jettyValue);44 auto* jetty = reinterpret_cast<__gm__ ChannelEntity*>(jettyValue);
45 HCOMM_DEBUG_TRAP_IF(45 HCOMM_DEBUG_TRAP_IF(
@@ -65,7 +65,7 @@ __aicore__ inline HcommJettyImpl::HcommJettyImpl(
65{65{
66 HCOMM_DEBUG_TRAP_IF(jettyInfo == nullptr || jettyTable == nullptr, "jettyInfo or jettyTable is nullptr\n");66 HCOMM_DEBUG_TRAP_IF(jettyInfo == nullptr || jettyTable == nullptr, "jettyInfo or jettyTable is nullptr\n");
67 auto* table = reinterpret_cast<__gm__ uint64_t*>(jettyTable);67 auto* table = reinterpret_cast<__gm__ uint64_t*>(jettyTable);
68- uint64_t jettyValue = ReadGmBypassDCache(table + jettyIdx);68+ uint64_t jettyValue = ReadGmByPassDCache(table + jettyIdx);
69 HCOMM_DEBUG_TRAP_IF(jettyValue == 0U, "jettyTable[%u] is 0\n", jettyIdx);69 HCOMM_DEBUG_TRAP_IF(jettyValue == 0U, "jettyTable[%u] is 0\n", jettyIdx);
70 auto* jetty = reinterpret_cast<__gm__ ChannelEntity*>(jettyValue);70 auto* jetty = reinterpret_cast<__gm__ ChannelEntity*>(jettyValue);
71 HCOMM_DEBUG_TRAP_IF(jetty->sqContextAddr == nullptr || jetty->cqContextAddr == nullptr, "jetty info is nullptr\n");71 HCOMM_DEBUG_TRAP_IF(jetty->sqContextAddr == nullptr || jetty->cqContextAddr == nullptr, "jetty info is nullptr\n");
@@ -78,7 +78,7 @@ __aicore__ inline HcommJettyImpl::HcommJettyImpl(
78 jettyInfo_->cqBaseAddr = cqContext->contextInfo.ubJfc.scqVa;78 jettyInfo_->cqBaseAddr = cqContext->contextInfo.ubJfc.scqVa;
79 jettyInfo_->cqTailAddr = cqContext->contextInfo.ubJfc.tailAddr;79 jettyInfo_->cqTailAddr = cqContext->contextInfo.ubJfc.tailAddr;
80 jettyInfo_->cqDoorbellAddr = cqContext->contextInfo.ubJfc.dbVa;80 jettyInfo_->cqDoorbellAddr = cqContext->contextInfo.ubJfc.dbVa;
81- jettyInfo_->packedHead = ReadGmBypassDCache(reinterpret_cast<__gm__ uint64_t*>(jettyInfo_->sqHeadAddr));81+ jettyInfo_->packedHead = ReadGmByPassDCache(reinterpret_cast<__gm__ uint64_t*>(jettyInfo_->sqHeadAddr));
82 jettyInfo_->numWqebbBytes = sqContext->contextInfo.ubJfs.wqeSize;82 jettyInfo_->numWqebbBytes = sqContext->contextInfo.ubJfs.wqeSize;
83 jettyInfo_->numCqeBytes = cqContext->contextInfo.ubJfc.cqeSize;83 jettyInfo_->numCqeBytes = cqContext->contextInfo.ubJfc.cqeSize;
84 jettyInfo_->sqDepth = sqContext->contextInfo.ubJfs.sqDepth;84 jettyInfo_->sqDepth = sqContext->contextInfo.ubJfs.sqDepth;
@@ -162,14 +162,14 @@ __aicore__ inline void HcommJettyImpl::AdvanceSq(uint32_t numWqebbs)
162 const uint32_t head = static_cast<uint32_t>(jettyInfo_->packedHead) + numWqebbs;162 const uint32_t head = static_cast<uint32_t>(jettyInfo_->packedHead) + numWqebbs;
163 const uint32_t expectedCqeCnt = static_cast<uint32_t>(jettyInfo_->packedHead >> 32U) + 1U;163 const uint32_t expectedCqeCnt = static_cast<uint32_t>(jettyInfo_->packedHead >> 32U) + 1U;
164 jettyInfo_->packedHead = static_cast<uint64_t>(head) | (static_cast<uint64_t>(expectedCqeCnt) << 32U);164 jettyInfo_->packedHead = static_cast<uint64_t>(head) | (static_cast<uint64_t>(expectedCqeCnt) << 32U);
165- WriteGmBypassDCache(reinterpret_cast<__gm__ uint64_t*>(jettyInfo_->sqHeadAddr), jettyInfo_->packedHead);165+ WriteGmByPassDCache(reinterpret_cast<__gm__ uint64_t*>(jettyInfo_->sqHeadAddr), jettyInfo_->packedHead);
166 AscendC::DataSyncBarrier<AscendC::MemDsbT::DDR>();166 AscendC::DataSyncBarrier<AscendC::MemDsbT::DDR>();
167}167}
168 168 
169__aicore__ inline void HcommJettyImpl::RingDoorbell()169__aicore__ inline void HcommJettyImpl::RingDoorbell()
170{170{
171 // The doorbell only takes the head, which lives in the low 32 bits of packedHead.171 // The doorbell only takes the head, which lives in the low 32 bits of packedHead.
172- WriteGmBypassDCache(172+ WriteGmByPassDCache(
173 reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->sqDoorbellAddr), static_cast<uint32_t>(jettyInfo_->packedHead));173 reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->sqDoorbellAddr), static_cast<uint32_t>(jettyInfo_->packedHead));
174}174}
175 175 
@@ -182,7 +182,7 @@ __aicore__ inline void HcommJettyImpl::PollCqWhenSqOverflow()
182 constexpr uint32_t nearFullThreshold = 10U;182 constexpr uint32_t nearFullThreshold = 10U;
183 constexpr uint32_t reclaimBatch = 100U;183 constexpr uint32_t reclaimBatch = 100U;
184 uint32_t completions = static_cast<uint32_t>(jettyInfo_->packedHead >> 32U);184 uint32_t completions = static_cast<uint32_t>(jettyInfo_->packedHead >> 32U);
185- uint32_t tail = ReadGmBypassDCache(reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->completionTailAddr));185+ uint32_t tail = ReadGmByPassDCache(reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->completionTailAddr));
186 if (completions - tail + nearFullThreshold >= jettyInfo_->cqDepth) {186 if (completions - tail + nearFullThreshold >= jettyInfo_->cqDepth) {
187 PollCq<timeoutCycles>(tail + reclaimBatch < completions ? tail + reclaimBatch : completions);187 PollCq<timeoutCycles>(tail + reclaimBatch < completions ? tail + reclaimBatch : completions);
188 }188 }
@@ -191,7 +191,7 @@ __aicore__ inline void HcommJettyImpl::PollCqWhenSqOverflow()
191template <int64_t timeoutCycles>191template <int64_t timeoutCycles>
192__aicore__ inline int32_t HcommJettyImpl::PollCq(uint32_t expectedTail)192__aicore__ inline int32_t HcommJettyImpl::PollCq(uint32_t expectedTail)
193{193{
194- uint32_t currentTail = ReadGmBypassDCache(reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->cqTailAddr));194+ uint32_t currentTail = ReadGmByPassDCache(reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->cqTailAddr));
195 while (currentTail != expectedTail) {195 while (currentTail != expectedTail) {
196 auto* cqe = reinterpret_cast<__gm__ uint32_t*>(196 auto* cqe = reinterpret_cast<__gm__ uint32_t*>(
197 jettyInfo_->cqBaseAddr +197 jettyInfo_->cqBaseAddr +
@@ -200,7 +200,7 @@ __aicore__ inline int32_t HcommJettyImpl::PollCq(uint32_t expectedTail)
200 uint64_t start = static_cast<uint64_t>(asc_get_system_cycle());200 uint64_t start = static_cast<uint64_t>(asc_get_system_cycle());
201 uint32_t header;201 uint32_t header;
202 do {202 do {
203- header = ReadGmBypassDCache(cqe);203+ header = ReadGmByPassDCache(cqe);
204 if (((header >> HCOMM_JETTY_CQE_OWNER_BIT) & 1U) != phase) {204 if (((header >> HCOMM_JETTY_CQE_OWNER_BIT) & 1U) != phase) {
205 break;205 break;
206 }206 }
@@ -218,10 +218,10 @@ __aicore__ inline int32_t HcommJettyImpl::PollCq(uint32_t expectedTail)
218 }218 }
219 ++currentTail;219 ++currentTail;
220 }220 }
221- WriteGmBypassDCache(reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->cqTailAddr), currentTail);221+ WriteGmByPassDCache(reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->cqTailAddr), currentTail);
222- WriteGmBypassDCache(222+ WriteGmByPassDCache(
223 reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->cqDoorbellAddr), currentTail & HCOMM_JETTY_CQ_DOORBELL_MASK);223 reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->cqDoorbellAddr), currentTail & HCOMM_JETTY_CQ_DOORBELL_MASK);
224- WriteGmBypassDCache(reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->completionTailAddr), currentTail);224+ WriteGmByPassDCache(reinterpret_cast<__gm__ uint32_t*>(jettyInfo_->completionTailAddr), currentTail);
225 AscendC::DataSyncBarrier<AscendC::MemDsbT::DDR>();225 AscendC::DataSyncBarrier<AscendC::MemDsbT::DDR>();
226 return HCOMM_SUCCESS;226 return HCOMM_SUCCESS;
227}227}
@@ -268,7 +268,7 @@ template <int64_t timeoutCycles>
268__aicore__ inline int32_t HcommJettyImpl::Drain()268__aicore__ inline int32_t HcommJettyImpl::Drain()
269{269{
270 HCOMM_DEBUG_TRAP_IF(!Ready() || jettyInfo_->numCqeBytes == 0U, "HcommJetty Drain on an unready jetty\n");270 HCOMM_DEBUG_TRAP_IF(!Ready() || jettyInfo_->numCqeBytes == 0U, "HcommJetty Drain on an unready jetty\n");
271- uint64_t packedHead = ReadGmBypassDCache(reinterpret_cast<__gm__ uint64_t*>(jettyInfo_->sqHeadAddr));271+ uint64_t packedHead = ReadGmByPassDCache(reinterpret_cast<__gm__ uint64_t*>(jettyInfo_->sqHeadAddr));
272 return PollCq<timeoutCycles>(static_cast<uint32_t>(packedHead >> 32U));272 return PollCq<timeoutCycles>(static_cast<uint32_t>(packedHead >> 32U));
273}273}
274 274