已合并
Linspace 精度问题 #3080
sunchun创建于 6月2日
Linspace 精度问题 #3080
已合并
sunchun创建于 6月2日
已删除 :linspace合入到cann/ops-mathmaster
1 个文件变更+2-2
@@ -162,7 +162,7 @@ __aicore__ inline void LinSpaceWithBigShape<T>::ComputeAndOut(const int64_t& loo
162 162 
163 for (int64_t idx = 1; idx < loopNum; idx++) {163 for (int64_t idx = 1; idx < loopNum; idx++) {
164 LocalTensor<T> outLocal = outQueue.AllocTensor<T>();164 LocalTensor<T> outLocal = outQueue.AllocTensor<T>();
165- if (idx == loopNum - 1) {165+ if (idx == loopNum - 1 && loopTail > 0) {
166 Adds(outLocal, outLocalBase, T(m_tilingData.scalar * maxOutNum * idx), loopTail);166 Adds(outLocal, outLocalBase, T(m_tilingData.scalar * maxOutNum * idx), loopTail);
167 outQueue.EnQue(outLocal);167 outQueue.EnQue(outLocal);
168 CopyOut(gmOutOffset + idx * maxOutNum, loopTail);168 CopyOut(gmOutOffset + idx * maxOutNum, loopTail);
@@ -203,7 +203,7 @@ __aicore__ inline void LinSpaceWithBigShape<T>::ComputeReverseAndOut(const int64
203 203 
204 for (int64_t idx = 1; idx < loopNum; idx++) {204 for (int64_t idx = 1; idx < loopNum; idx++) {
205 LocalTensor<T> outLocal = outQueue.AllocTensor<T>();205 LocalTensor<T> outLocal = outQueue.AllocTensor<T>();
206- if (idx == loopNum - 1) {206+ if (idx == loopNum - 1 && loopTail > 0) {
207 Adds(207 Adds(
208 outLocal[maxOutNum - loopTail], outLocalBase[maxOutNum - loopTail],208 outLocal[maxOutNum - loopTail], outLocalBase[maxOutNum - loopTail],
209 T(m_tilingData.scalar * maxOutNum * idx * reverseScalar), loopTail);209 T(m_tilingData.scalar * maxOutNum * idx * reverseScalar), loopTail);