[MSLITE][Develop] fix bug of arm cpu fp16 op matmul, init const tensor before judging infershape done

pull/8268/head
yangruoqi713 4 years ago
parent a5b0d13141
commit ca477b3580

@ -14,6 +14,8 @@ Float16ToFloat32:
// https://github.com/ARM-software/abi-aa/blob/master/aapcs64/aapcs64.rst#simd-and-floating-point-registers
// x19 ~ x29 should be also preserved
// whereas our coding style do not permit such amount of parameters
cmp x2, #0
beq LoopEnd
cmp x2, #64
blt Loop
Loop64:

@ -14,6 +14,8 @@ Float32ToFloat16:
// https://github.com/ARM-software/abi-aa/blob/master/aapcs64/aapcs64.rst#simd-and-floating-point-registers
// x19 ~ x29 should be also preserved
// whereas our coding style do not permit such amount of parameters
cmp x2, #0
beq LoopEnd
cmp x2, #64
blt Loop
Loop64:

File diff suppressed because it is too large Load Diff

@ -39,6 +39,10 @@ class MatmulFP16CPUKernel : public MatmulBaseCPUKernel {
int RunImpl(int task_id);
private:
int MallocMatrixABuffer();
int MallocMatrixBBuffer();
int InitBias();
int MallocFp16Output();
void InitMatrixA(float *a_ptr, float16_t *a_pack_ptr);
void InitMatrixA(float16_t *a_ptr, float16_t *a_pack_ptr);
void InitMatrixB(float *b_ptr, float16_t *b_pack_ptr);

@ -162,7 +162,7 @@ int TransposeCPUKernel::Run() {
return ret;
}
return ret;
} // namespace mindspore::kernel
}
kernel::LiteKernel *CpuTransposeFp32KernelCreator(const std::vector<lite::Tensor *> &inputs,
const std::vector<lite::Tensor *> &outputs, OpParameter *opParameter,

Loading…
Cancel
Save