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

Template land and sea MOST iters #1654

Closed
wants to merge 7 commits into from

Conversation

AMLattanzi
Copy link
Collaborator

This avoids the need to do two loops over the MOST iters for each step. Instead, we define a base struct that has the iteration signature (used by all other derived structs). We then find the struct type we want and pass that through the templated wrapper. This was only compile tested.

@AMLattanzi AMLattanzi requested a review from WeiqunZhang June 20, 2024 22:27
@AMLattanzi
Copy link
Collaborator Author

@WeiqunZhang can you provide some insight on the SYCL failure and whether this PR can be modified to circumnavigate said issue?

@WeiqunZhang
Copy link
Collaborator

Virtual functions are not supported on GPUs. This is not just a SYCL issue. It's a compile time issue for SYCL, but a run time issue for CUDA. The latter is arguably worse. Even for CPU, the current approach of using virtual functions inside loops over cells is bad for performance. You have to go back to the old approach.

@AMLattanzi AMLattanzi closed this Jul 2, 2024
@AMLattanzi AMLattanzi deleted the LandSeaTemplate branch July 10, 2024 16:10
@AMLattanzi AMLattanzi restored the LandSeaTemplate branch July 10, 2024 16:10
@AMLattanzi AMLattanzi deleted the LandSeaTemplate branch November 12, 2024 21:10
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