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

[FEATURE REQUEST] Investigate performance of aerosol chemistry #1069

Open
yantosca opened this issue Dec 15, 2021 · 5 comments
Open

[FEATURE REQUEST] Investigate performance of aerosol chemistry #1069

yantosca opened this issue Dec 15, 2021 · 5 comments
Assignees
Labels
category: Feature Request New feature or request deferred Issues/PRs that we cannot work on right away topic: Performance Related to GEOS-Chem speed, memory, or parallelization

Comments

@yantosca
Copy link
Contributor

As shown in the timing results from 1-month internal benchmarks, GEOS-Chem 13 versions now spend more time in aerosol chemistry (green bar) than in gas-phase chemistry/KPP solver (red bar). We should look into ways in which we can improve the performance of aerosol chemistry, perhaps by optimizing the computations.

1mo

This is not yet slated for any upcoming version, but I am just opening the issue so that we don't lose sight of this.

@yantosca yantosca self-assigned this Dec 15, 2021
@yantosca yantosca added the topic: Performance Related to GEOS-Chem speed, memory, or parallelization label Jan 21, 2022
@yantosca yantosca added deferred Issues/PRs that we cannot work on right away and removed future development labels Mar 13, 2024
@yantosca
Copy link
Contributor Author

@lizziel @msulprizio: Several recent code modifications have added a lot of cluttered code to aerosol_mod.F90. This module would benefit from "never-nesting" (i.e. refactoring code to remove ELSE blocks). However this is probably not a development priority at this time given scheduling constraints. We should keep this on our radar though.

@lizziel
Copy link
Contributor

lizziel commented Mar 25, 2024

It looks like the amount of time for aerosol chem nearly doubled with the update "13.3.0+MEGANfix...", and it has not gone down since. Do you know what changed in there to cause that? Could it be a bug?

@msulprizio
Copy link
Contributor

It looks like the amount of time for aerosol chem nearly doubled with the update "13.3.0+MEGANfix...", and it has not gone down since. Do you know what changed in there to cause that? Could it be a bug?

The run "13.3.0+MEGANfix_wGCC10.2" that you're referring to is identical to the previous bar. It's not labeled in the image above but that bar corresponds to "13.3.0+MEGANfix" (which used ifort 19). That suggests that the switch in compiler from ifort 19 to gnu 10.2 caused the increase in aerosol chem timing.

@lizziel
Copy link
Contributor

lizziel commented Mar 25, 2024

Ah, and I just realized that figure is from 2021! The latest timing results show a much more reasonable timing ratio of aerosol chem to gas phase.
Screenshot 2024-03-25 at 1 20 49 PM

@yantosca
Copy link
Contributor Author

@lizziel @msulprizio: I still think we can do better in the aerosol chemistry, since there are a lot of IF / ELSE blocks. If we refactor properly then I think we can get better performance. But it may be a ways off before we can tackle this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: Feature Request New feature or request deferred Issues/PRs that we cannot work on right away topic: Performance Related to GEOS-Chem speed, memory, or parallelization
Projects
None yet
Development

No branches or pull requests

3 participants