Case statements switched to if/else for ordering.f90 #239
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
During the TGV case run I tested for 1000 iterations and AMD uProfiler output showed 10 hottest functions and it turns out to be the
reorder_ompis the second highest time consuming function which repeatedly calls the modulem_ordering. Before diving deep with algorithmic optimisations I wanted to try something with slight modifications. I noticed that it usesselect casefor decisions instead ofif else. This is not ideal for the compiler. So I modified them to be if/else statement.Disclaimer would be this change is not necessary for other modules because they are not the first or second hottest functions.
The 1000 TGV run
Before:
After:
Overall, for 20000 case I would expect at least ~3 minute improvement with execution time which is not massive but good small step forward