-
Notifications
You must be signed in to change notification settings - Fork 100
Project Meeting 2023.08.22
Michelle Bina edited this page Aug 31, 2023
·
9 revisions
- Numeric Data Type Update
- Admin
- Response to Miller Editorial - Final
- Partners Only Meeting 8/24: Phase 9 Procurement
- ActivitySim Drive
- Overview of Approach
- There are different types of options for numeric values: integer type (8, 16, 32, or 64) with signed (range of -128 to 127) or unsigned (range of 0 to 255).
- For most variables, we'd be safe to use unsigned int8. However, when we do numeric operations on unsigned int8, a negative could be produced, which could default to 255. For these reasons, it was recommended to move forward without using unsigned integers.
- For signed integers, there is numeric overflow with lower byte integer specifications. For example, there are operations that calculate a chaperone weight. Each individual variable is int8; when the weight is calculated, there’s an overflow with the calculations. The process currently does not smartly upflow the number of integer bytes that are needed. A potential solution would be to resolve these cases by manually upcast the variables as int64.
- Implications
- Developers would need to manually upcast in the code and users need to keep this in mind when creating formulas in UECs and preprocessors.
- There will be savings in memory but have cost in that needs to be very intentional in code/UECs.
- Concern that it wouldn’t be obvious on the user end if this process is going to mess up calculations.
- Some risk on the developer side; but larger risk on the user side, it’s complicated and not clear when someone messes it up.
- Next Steps
- Sijia to put together a memory profile to see memory savings with the downcasting, to see if it’s worth the effort
- Need to make a decision on whether to downcast numerics, but need a little more analysis from Sijia to make that decision
- There is an issue under the sharrow implementation (skim values are not being returned correctly on time period categoricals). Sijia and Jeff to work through implementing a solution.
- The response to Eric Miller editorial has been finalized
- If interested as a signatory, one representative person from each agency is requested
- Focus of partners only meeting will be to focus on how to do Phase 9 procurement
- ActivitySim Google Drive
- Joe has created and is moving things around
- Please ignore any notifications about resharing, annoying emails, etc.