-
Notifications
You must be signed in to change notification settings - Fork 100
Project Meeting 2023.03.16
Michelle Bina edited this page Mar 16, 2023
·
2 revisions
2 zone memory profiling
-
Presentation: ActivitySim Memory Profiling Task – Progress Update 3-16-2023.pptx
-
Models: placeholder_sandag and placeholder_psrc (only two 2-zone examples currently available)
- SANDAG model doesn’t include the new features presented last week
- SEMCOG 2-zone model is a PR but hasn’t been merged yet. RSG to pull it in and mark as ready.
- 1-zone profiling included mtc, mwcog, arc
-
SANDAG test: same peak memory despite tests with different sample sizes
- Mandatory tour scheduling is not the memory peak
- Accessibility calculation is same size regardless of sample size.
- Memory peak because of all the MAZ OD pairs
-
PSRC test: not able to run successfully with single processor
- Need to change hardware or add chunking for accessibilities if we want to continue testing with this PSRC example
- Instead of using this example, could use SEMCOG’s 2-zone example, once it's pulled in
- Could chose number of processors by step (use multiprocessing for accessibilities)
-
Potential future improvements (but haven’t tested these possibilities, just exploring ideas at this point)
- Don’t do MAZ-MAZ costs because the skims are TAZ-based (what’s being done behind the scenes anyway)
- Note size term is MAZ-MAZ
- Adapt sampling process from disaggregate accessibilities RSG implemented in Phase 7, to avoid the full enumeration of MAZ-MAZ accessibilities.
- Need to confirm where the accessibilities are being used and whether the disaggregate accessibilities would work for that particular model.
- Depends on the costs that go into the accessibility utility function.
- Needs to be carefully thought out, but tools and methods seem to be there if someone wanted to go this route for their model.
- Don’t do MAZ-MAZ costs because the skims are TAZ-based (what’s being done behind the scenes anyway)
-
Regarding memory allocation, how would you characterize ActivitySim's garbage collection behavior? Do we have anything that survive multiple garbage collection cycles?
- Could be why there’s a zig-zag of memory profile or related to memory leak issue. WSP will be ooking into this is in a future task.
-
Accessibility calcs and data types
- Not many columns, mostly skims
- Float 64 for skims
- Accessibility terms are float 64 (10 different ones – auto/transit/non-motorized for peak/offpeak)
-
Next steps
- Next Thursday to present more on 2-zone memory profiling
- Decide whether to sub SEMCOG for PSRC or change settings to be able to run PSRC