From 3f8d0e1ef8d6d86035f972c49c9cee79a3174802 Mon Sep 17 00:00:00 2001 From: Matthew Poremba Date: Mon, 18 Mar 2024 19:02:10 -0500 Subject: [PATCH] arch-vega: Fix V_FMAC_F32 data type The datatype is U32 but should be F32. This is causing an implicit cast leading to incorrect results. This fixes nn.Dropout in PyTorch. Change-Id: I546aa917fde1fd6bc832d9d0fa9ffe66505e87dd --- src/arch/amdgpu/vega/insts/vop2.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/arch/amdgpu/vega/insts/vop2.cc b/src/arch/amdgpu/vega/insts/vop2.cc index ddd77e27da..2672063d0c 100644 --- a/src/arch/amdgpu/vega/insts/vop2.cc +++ b/src/arch/amdgpu/vega/insts/vop2.cc @@ -2167,9 +2167,9 @@ namespace VegaISA Inst_VOP2__V_FMAC_F32::execute(GPUDynInstPtr gpuDynInst) { Wavefront *wf = gpuDynInst->wavefront(); - ConstVecOperandU32 src0(gpuDynInst, instData.SRC0); - ConstVecOperandU32 src1(gpuDynInst, instData.VSRC1); - VecOperandU32 vdst(gpuDynInst, instData.VDST); + ConstVecOperandF32 src0(gpuDynInst, instData.SRC0); + ConstVecOperandF32 src1(gpuDynInst, instData.VSRC1); + VecOperandF32 vdst(gpuDynInst, instData.VDST); src0.readSrc(); src1.read();