Skip to content

Start GPU porting#278

Merged
julianlitz merged 60 commits into
mainfrom
ebourne_gradual_gpu_port_part_1
May 29, 2026
Merged

Start GPU porting#278
julianlitz merged 60 commits into
mainfrom
ebourne_gradual_gpu_port_part_1

Conversation

@EmilyBourne
Copy link
Copy Markdown
Collaborator

This PR is not ready to review but I want to check the cuda compiler output as the output on GPU is not verbose enough

Merge Request - GuideLine Checklist

Guideline to check code before resolve WIP and approval, respectively.
As many checkboxes as possible should be ticked.

Checks by code author:

Always to be checked:

  • There is at least one issue associated with the pull request.
  • New code adheres with the coding guidelines
  • No large data files have been added to the repository. Maximum size for files should be of the order of KB not MB. In particular avoid adding of pdf, word, or other files that cannot be change-tracked correctly by git.

If functions were changed or functionality was added:

  • Tests for new functionality has been added
  • A local test was succesful

If new functionality was added:

  • There is appropriate documentation of your work. (use doxygen style comments)

If new third party software is used:

  • Did you pay attention to its license? Please remember to add it to the wiki after successful merging.

If new mathematical methods or epidemiological terms are used:

  • Are new methods referenced? Did you provide further documentation?

Checks by code reviewer(s):

  • Is the code clean of development artifacts e.g., unnecessary comments, prints, ...
  • The ticket goals for each associated issue are reached or problems are clearly addressed (i.e., a new issue was introduced).
  • There are appropriate unit tests and they pass.
  • The git history is clean and linearized for the merge request. All reviewers should squash commits and write a simple and meaningful commit message.
  • Coverage report for new code is acceptable.
  • No large data files have been added to the repository. Maximum size for files should be of the order of KB not MB. In particular avoid adding of pdf, word, or other files that cannot be change-tracked correctly by git.

@EmilyBourne EmilyBourne marked this pull request as draft May 20, 2026 11:23
@EmilyBourne EmilyBourne marked this pull request as ready for review May 20, 2026 12:19
@codecov
Copy link
Copy Markdown

codecov Bot commented May 20, 2026

Codecov Report

❌ Patch coverage is 98.70690% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 95.78%. Comparing base (3e5910f) to head (1f809c6).

Files with missing lines Patch % Lines
include/GMGPolar/setup.h 73.07% 7 Missing ⚠️
include/GMGPolar/utils.h 95.00% 1 Missing ⚠️
src/PolarGrid/polargrid.cpp 98.03% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #278      +/-   ##
==========================================
+ Coverage   95.76%   95.78%   +0.01%     
==========================================
  Files          79       79              
  Lines        8555     8634      +79     
==========================================
+ Hits         8193     8270      +77     
- Misses        362      364       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@julianlitz julianlitz self-requested a review May 20, 2026 13:06
julianlitz
julianlitz previously approved these changes May 20, 2026
Comment thread include/GMGPolar/setup.h
Comment thread include/GMGPolar/setup.h Outdated
Comment thread include/GMGPolar/setup.h Outdated
Comment thread include/LinearAlgebra/Matrix/coo_matrix.h
Comment thread include/LinearAlgebra/Matrix/coo_matrix.h
Comment thread include/LinearAlgebra/Matrix/coo_matrix.h Outdated
Comment thread include/PolarGrid/polargrid.h
Comment thread include/PolarGrid/polargrid.h Outdated
Comment thread include/Residual/residual.h
Comment thread src/ConfigParser/config_parser.cpp Outdated
Comment thread src/ConfigParser/config_parser.cpp Outdated
Comment thread src/ConfigParser/select_test_case.cpp
Comment thread src/PolarGrid/polargrid.cpp
Copy link
Copy Markdown
Collaborator

@julianlitz julianlitz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EmilyBourne and others added 11 commits May 29, 2026 08:53
Co-authored-by: Julian Litz <91479202+julianlitz@users.noreply.github.com>
Co-authored-by: Julian Litz <91479202+julianlitz@users.noreply.github.com>
Co-authored-by: Julian Litz <91479202+julianlitz@users.noreply.github.com>
Co-authored-by: Julian Litz <91479202+julianlitz@users.noreply.github.com>
Co-authored-by: Julian Litz <91479202+julianlitz@users.noreply.github.com>
@julianlitz
Copy link
Copy Markdown
Collaborator

julianlitz commented May 29, 2026

image
This would also be a possibility for the PolarGrid class. Store both Cpu and Gpu memory and then use ifdef to return the correct memory space value.

@EmilyBourne
Copy link
Copy Markdown
Collaborator Author

image This would also be a possibility for the PolarGrid class. Store both Cpu and Gpu memory and then use ifdef to return the correct memory space value.

I'm not sure I see an advantage in this. In gysela we often run on AMD (so not cuda), this fix wouldn't work for that case. It also makes it much harder to identify what has and hasn't been ported given that the aim is to only have the GPU version of PolarGrid at the end

@julianlitz julianlitz merged commit 138b597 into main May 29, 2026
9 checks passed
@julianlitz julianlitz deleted the ebourne_gradual_gpu_port_part_1 branch May 29, 2026 13:03
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