bnyra opened a new pull request #1286: URL: https://github.com/apache/systemds/pull/1286
This patch adds a lineage based debugger which keeps track of special values in matrixblocks in CP instructions. Therefore, the following design decisions are made and implemented: - `LINEAGE_DEBUGGER` flag as DMLScript option to enable the debugger (default: false) - Added `class BooleanArray32` for storing boolean information in an memory efficient way - This class is used as an attribute `_specialValueBits` in `LineageItem` to store the special value information - Check of special values is done in the `postprocessInstruction()` - Added serialization and deserialization of `_specialValueBits` with surrounding brackets - Added helper function to find the first occurrence of a special value given a `LineageItem`. Additional info: - Only CP instructions are supported - Debugger keeps track of `Double.NaN`, `Double.POSITIVE_INFINITY` and `Double.NEGATIVE_INFINITY` - Fixed missing default post-process call in `CPInstruction` and `GPUInstruction` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
