cpp/layers/Linear.cpp (18 lines): - line 24: // FIXME: implement transposed MM - line 229: (char) 0, // FIXME: what here for inputScale? - line 230: (char) 0, // FIXME: what here for outputScale? - line 237: (char) 0, // FIXME: what here for inputScale? - line 238: (char) 0, // FIXME: what here for outputScale? - line 258: // FIXME: unimplemented conversion to posit - line 271: true, /* FIXME: beta */ - line 273: (char) 0, // FIXME: what here for inputScale? - line 274: (char) 0, // FIXME: what here for outputScale? - line 286: // FIXME: need transposed MM - line 295: true, /* FIXME: beta */ - line 297: (char) 0, // FIXME: what here for inputScale? - line 298: (char) 0, // FIXME: what here for outputScale? - line 302: // FIXME: cache - line 303: // FIXME: integrate with above - line 313: true, /* FIXME: beta */ - line 315: (char) 0, // FIXME: what here for inputScale? - line 316: (char) 0, // FIXME: what here for outputScale? rtl/float/FloatMultiply.sv (4 lines): - line 9: // FIXME: make denormal handling optional - line 10: // FIXME: make sticky bit calculation optional - line 111: // FIXME: can be EXP if we filter out infinity as input - line 362: .EXP_OUT(EXP_OUT), // FIXME: do we want this option? rtl/posit/PositUnpacked.sv (4 lines): - line 82: // FIXME: this was broken before? - line 143: // FIXME: should take sign flag - line 207: // FIXME: we don't convert to denormal values at present - line 248: // FIXME: we don't convert to denormal values at present cpp/ops/TensorMath.cpp (4 lines): - line 94: // FIXME: implement on the FPGA - line 233: // FIXME: handle transposed MM - line 281: // FIXME: implement batch - line 289: // FIXME: handle transposed MM cpp/utils/CLTensor-inl.h (4 lines): - line 140: // FIXME: handle empty tensors - line 167: // FIXME: handle empty tensors - line 187: // FIXME: handle empty tensors - line 216: // FIXME: handle empty tensors rtl/posit/QuireToPosit.sv (3 lines): - line 188: // FIXME: underflow or overflow should really be based on shifting the - line 207: // FIXME: this is broken for expAdjust - line 215: // FIXME: this is broken for expAdjust rtl/float/FloatAdd.sv (3 lines): - line 9: // FIXME: make denormal handling optional - line 10: // FIXME: make sticky bit calculation optional - line 346: // FIXME: what about one/both args being inf but output is non-nan? rtl/posit/PositDecode.sv (3 lines): - line 76: // FIXME: this is not quite right, it's max regime field size - 2 - line 84: // FIXME: I've changed the posit layout to not be symmetric, to have simpler decoding - line 96: // FIXME: signed regime is actually easier to calculate, store that cpp/FloatDefs.h (3 lines): - line 80: /// FIXME: remove - line 86: /// FIXME: remove - line 95: /// FIXME: remove rtl/float/FloatRoundStochastic.sv (3 lines): - line 16: // FIXME: does not match what I did with posits - line 37: // FIXME: we can either use a sum with carry bit, or a comparator. - line 50: // FIXME: how to use the sticky bits? rtl/log/LogDef_pkg.sv (3 lines): - line 9: // FIXME: run_dc flow encounters packages in alphabetic order it seems, so - line 29: // FIXME: after the log -> linear conversion, we actually have - line 49: // FIXME: after the log -> linear conversion, we actually have cpp/ops/TensorMemory.cpp (3 lines): - line 109: // FIXME: why does the linker complain about this but - line 120: // FIXME: why does the linker complain about this but - line 185: // FIXME: for transpose, we must be innermost contiguous, but we can be outer rtl/posit/PositToFloat.sv (2 lines): - line 49: // FIXME: really the number of bits added should be based on the max/min value - line 76: // FIXME: this isn't quite correct, need to be concerned about exponent rtl/posit/PositMultiplyForQuire.sv (2 lines): - line 47: // FIXME: in either case, maybe we shouldn't do the add? Should this be done - line 75: // FIXME: handle posit sign / fraction encoding (2s complement)? rtl/float/FloatContract.sv (2 lines): - line 8: // FIXME: add flag to skip denormal adjustment; denormals in the new width would - line 192: // FIXME: is this the right decision? rtl/utils/KulischConvertFixed.sv (2 lines): - line 76: // FIXME: would it be cheaper to use a comparator on the exponent? - line 109: // FIXME: what about sticky bit for any remainder? rtl/posit/PositQuireConvert.sv (2 lines): - line 37: // FIXME: in either case, maybe we shouldn't do the add? Should this be done - line 70: // FIXME: handle posit sign / fraction encoding (2s complement)? rtl/posit/PositMultiply.sv (2 lines): - line 85: // FIXME: handle posit sign / fraction encoding (2s complement)? - line 93: // FIXME: case where we are right at the limit, and the +1 from abExpShift rtl/float/KulischToFloat.sv (2 lines): - line 7: // FIXME: no denormal handling - line 58: // FIXME: we aren't checking to see if EXP is big enough bitstream/positlib/PositMath.cl (2 lines): - line 65: // FIXME: implement roundStochastic - line 112: // FIXME: compiler crashes if this is inside a branch below rtl/posit/PositRoundHelper.sv (2 lines): - line 17: // FIXME: remove ES overflow bit - line 102: // FIXME: (*) not true for max regime. Does this matter? rtl/float/FloatAddTest.sv (2 lines): - line 155: // FIXME: some +/1 ulp problem with rounding? dunno - line 166: // FIXME: I know what causes this, need to rewrite all float code rtl/log/conversions/FloatSignedToFloat.sv (2 lines): - line 7: // FIXME: no denormal handling - line 8: // FIXME: doesn't handle over/underflow, rounding rtl/posit/PositFromFloat.sv (2 lines): - line 57: // FIXME: really the number of bits added should be based on the max/min value - line 135: // FIXME: we are guaranteed to be unsigned rtl/posit/PositRoundToNearestEvenTest.sv (2 lines): - line 7: // FIXME: not a real test - line 34: // FIXME: only increment the frac if we are not at max frac precision cpp/layers/NLLLoss.cpp (1 line): - line 153: // FIXME: if total weight <= 0 do nothing rtl/float/FloatContractTest.sv (1 line): - line 7: // FIXME: not a complete test bitstream/loglib/LogConv.cl (1 line): - line 51: // FIXME: this will be completely serial!!! We need known bounds rtl/posit/QuireDivideTest.sv (1 line): - line 7: // FIXME: this is not much of a test rtl/posit/PositDivideTest.sv (1 line): - line 107: // FIXME: use positDef.testVal cpp/layers/Linear.h (1 line): - line 82: // FIXME: implement transposed MM rtl/float/Float.sv (1 line): - line 141: // FIXME: we're assuming that the float's denormal type is representable bitstream/loglib/LogMM.cl (1 line): - line 191: // FIXME: load and accumulate earlier rtl/posit/PositMultiplyTest.sv (1 line): - line 93: // FIXME: use positDef.testVal rtl/posit/QuireAdd.sv (1 line): - line 9: // FIXME: get rid of this, is no longer needed after the refactoring to rtl/log/conversions/LogCompactToLogUnpackedTest.sv (1 line): - line 7: // FIXME: not a test bitstream/positlib/PositConv.cl (1 line): - line 51: // FIXME: this will be completely serial!!! We need known bounds rtl/posit/PositDecodeTest.sv (1 line): - line 7: // FIXME: not a real test rtl/utils/DividerFixedPointTest.sv (1 line): - line 7: // FIXME: not a real test bitstream/positlib/PositLibRTL.h (1 line): - line 86: // FIXME: this is based on our current inversion of the standard cpp/utils/CLTensor.h (1 line): - line 258: // FIXME: remove dim_, should be implicit based on size_.size() cpp/utils/CLDimTensor-inl.h (1 line): - line 79: // FIXME: figure out better way to do this rtl/posit/PositDef_pkg.sv (1 line): - line 100: // FIXME: if the max exponent * 2 can fit in the same number of bits, we cpp/utils/DeviceMem.h (1 line): - line 115: // FIXME: assert region sizes rtl/utils/ZeroPadLeft.sv (1 line): - line 22: // FIXME: does this make sense? py/run_fpga_resnet.py (1 line): - line 37: # FIXME: attempt to fix d2h copy assert rtl/posit/PositAddTest.sv (1 line): - line 98: // FIXME: use positDef.testVal rtl/log/conversions/FloatSignedToLog.sv (1 line): - line 61: // FIXME: if EXP_IN == M, this isn't performed correctly cpp/utils/OpenCLUtils.cpp (1 line): - line 210: // FIXME c++17 adds non-const data() cpp/TorchUtils.h (1 line): - line 44: // FIXME: this is a copy bitstream/build_xml.py (1 line): - line 70: # FIXME: huh? cpp/layers/BatchNorm2d.cpp (1 line): - line 92: // FIXME: all of this work is planewise rtl/log/conversions/LinearFixedToFloatSigned.sv (1 line): - line 93: // FIXME: is this big enough? cpp/layers/Sequential.cpp (1 line): - line 65: // FIXME: what should this be? cpp/ops/TensorMath.h (1 line): - line 25: // FIXME: different initialization scheme bitstream/loglib/LogLibRTL.h (1 line): - line 86: // FIXME: this is based on our current inversion of the standard rtl/log/LogMultiplyAddTest.sv (1 line): - line 8: // FIXME: this is not much of a test rtl/log/conversions/LogNumberUnpackedToLogCompactTest.sv (1 line): - line 43: // FIXME: not a real test rtl/posit/PositRoundStochastic.sv (1 line): - line 15: // FIXME: do we want to parameterize this separately? rtl/utils/ZeroPadRight.sv (1 line): - line 22: // FIXME: does this make sense? rtl/log/conversions/FloatSignedToLinearFixed.sv (1 line): - line 8: // FIXME: implement overflow detection rtl/posit/PositDivide.sv (1 line): - line 76: // FIXME: ignore this, just preserve b.isZero rtl/log/conversions/FloatToFloatSigned.sv (1 line): - line 131: // FIXME: if FRAC/DENORMAL_OFFSET_SIZE are huge, this isn't right rtl/float/FloatExpand.sv (1 line): - line 102: // FIXME: this is not technically correct still; while the exponent rtl/utils/KulischConvertFixedTest.sv (1 line): - line 7: // FIXME: not much of a test rtl/posit/PositRoundStochasticTest.sv (1 line): - line 7: // FIXME: not a real test