Skip to content

Improve proxy generator#90

Merged
inducer merged 15 commits intoinducer:mainfrom
alexfikl:extend-proxy-qbx
Jun 7, 2021
Merged

Improve proxy generator#90
inducer merged 15 commits intoinducer:mainfrom
alexfikl:extend-proxy-qbx

Conversation

@alexfikl
Copy link
Collaborator

@alexfikl alexfikl commented Jun 3, 2021

This takes out another chunk out of #30 that just changes the proxy generator. The bigger changes are

  • Separated out a ProxyGenerator, that ignores any QBX expansions, and a QBXProxyGenerator, that makes proxies outside of the QBX expansions.
  • Separated the loopy kernels that get centers and radii to make the proxy balls. Also split some inames and things, but that probably requires a careful (and knowledgeable) look.
  • removed unused gather_block_interaction_points, which was meant to just make a big array of neighbors + proxies to be evaluated together.
  • cleaned up the tests a bit and added some more checks.

Looking at the diff, it looks a bit big, but it should just be moving things around.

@inducer
Copy link
Owner

inducer commented Jun 7, 2021

That diff is genuinely unhelpful, but the end result looks OK. As for your split_inames: It wouldn't really fly on a GPU, but it'll do for CPU use. :)

@inducer inducer merged commit 5db90c4 into inducer:main Jun 7, 2021
@inducer
Copy link
Owner

inducer commented Jun 7, 2021

Thanks!

@alexfikl alexfikl deleted the extend-proxy-qbx branch June 7, 2021 22:37
@alexfikl
Copy link
Collaborator Author

alexfikl commented Jun 7, 2021

As for your split_inames: It wouldn't really fly on a GPU, but it'll do for CPU use. :)

I mostly copied that from some stuff I managed to sneak by you a long time ago in sumpy. What would be a better way to optimize those kernels a bit?

@inducer
Copy link
Owner

inducer commented Jun 7, 2021

Got a whole course on that: https://relate.cs.illinois.edu/course/cs598apk-f18/ :) But I'd be happy to chat on Thursday. Which ones are the expensive ones?

@alexfikl
Copy link
Collaborator Author

alexfikl commented Jun 7, 2021

Got a whole course on that: relate.cs.illinois.edu/course/cs598apk-f18 :) But I'd be happy to chat on Thursday. Which ones are the expensive ones?

It was just meant to do a bare minimum sort of thing, since I haven't profiled anything. For the moment, all the geometries we've been playing with have like 2-3000 points, so it probably doesn't matter that much anyway.

Thanks! I'll give that a read!

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.

2 participants