Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance docs #878

Merged
merged 18 commits into from
Jul 26, 2024
Merged

Performance docs #878

merged 18 commits into from
Jul 26, 2024

Conversation

jpn--
Copy link
Member

@jpn-- jpn-- commented Jul 16, 2024

Documentation updates to explain how users can tune ActivitySim models for decent performance.

@jpn-- jpn-- requested review from i-am-sijia and dhensle July 16, 2024 00:31
Copy link
Contributor

@dhensle dhensle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need a recommended checklist or something similar for people that are handed a model and data and want to run it performantly on a new server. This would probably be something like:

  1. run sharrow compile with a small hh sample size and save the sharrow cache to be used in subsequent runs
  2. run memory profiling with a 10% or so sample to determine memory requirements
  3. configure chunking if necessary
  4. Run full sample in multiprocessing with 10 cores
  5. Experiment with number of cores and threads to find the best performance.

docs/users-guide/performance/chunking.md Show resolved Hide resolved
docs/users-guide/performance/chunking.md Outdated Show resolved Hide resolved
Copy link
Contributor

@i-am-sijia i-am-sijia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In addition to David's comments. I'd like to add:

  • We did a lot of memory and run time profiling in phase 9A. It would be nice to add an Example Model Performance section in the user docs to document the example 1-zone and 2-zone model performance.
  • Recommend setting sharrow: test to catch components that are sharrow incompatible if a region is running sharrow for the first time with their model. It will be helpful to give some guidance on how to find the problematic expressions. It be helpful to also document some example incompatible expressions and how to fix them, e.g., move them into preprocessor.

docs/users-guide/performance/index.md Outdated Show resolved Hide resolved
docs/users-guide/performance/index.md Outdated Show resolved Hide resolved
docs/users-guide/performance/index.md Outdated Show resolved Hide resolved
docs/users-guide/performance/sharrow.md Show resolved Hide resolved
@jpn-- jpn-- requested review from i-am-sijia and dhensle July 22, 2024 19:22
@jpn--
Copy link
Member Author

jpn-- commented Jul 22, 2024

  • We did a lot of memory and run time profiling in phase 9A. It would be nice to add an Example Model Performance section in the user docs to document the example 1-zone and 2-zone model performance.

I will open another PR with a summary of performance results and a description of the new two "canonical" examples.

@jpn--
Copy link
Member Author

jpn-- commented Jul 25, 2024

I believe I have addressed all the review comments. @dhensle @i-am-sijia

Copy link
Contributor

@i-am-sijia i-am-sijia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@jpn-- jpn-- merged commit d81f5f2 into ActivitySim:main Jul 26, 2024
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants