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

Cross section generation is triggered for XS IDs that are not even in the core #2014

Open
keckler opened this issue Nov 20, 2024 · 1 comment
Labels
feature request Smaller user request optimization related to measuring and speeding up the code or reducing memory

Comments

@keckler
Copy link
Member

keckler commented Nov 20, 2024

I have a case that runs many cycles and has a lot of assembly definitions. Many of these assembly definitions are not present in the initial core. Some of those have their own unique XS ID.

I've noticed that when cross sections are generated for the initial core, they are generated for these XS IDs that are not represented in the core, even though it is known that they will not be used. This is a waste of computational resources.

For cases when LatticePhysicsFrequency is BOC or higher, we do not need to be generating all of these cross sections so frequently. Instead, we should look to see what is in the core and only work on those.

Note, before #1288 , this would not have been possible because the shuffling took place after the XSGM was run. But at this point, I'm pretty sure the information is there for us to be smarter about this.

@john-science john-science added the feature request Smaller user request label Nov 21, 2024
@john-science
Copy link
Member

Okay, Chris and I talked about this and I think this is a fair point.

Somewhere in the XSGM:

class CrossSectionGroupManager(interfaces.Interface):

we create representative blocks for all the assemblies that exist, then calculate cross sections for them. So far it appears we only NEED to calculate XS for assemblies that are in the Core.

On first glance, this seems like an important enough performance boost to make it worth doing.

@john-science john-science added the optimization related to measuring and speeding up the code or reducing memory label Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Smaller user request optimization related to measuring and speeding up the code or reducing memory
Projects
None yet
Development

No branches or pull requests

2 participants