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

Improve kkt creation on GPUs #299

Merged
merged 44 commits into from
Mar 6, 2024
Merged

Improve kkt creation on GPUs #299

merged 44 commits into from
Mar 6, 2024

Conversation

sshin23
Copy link
Member

@sshin23 sshin23 commented Mar 4, 2024

This PR improves KKT System creation on GPUs.

For some parts, we've been calling CPU versions. We introduce native GPU code for them.

@codecov-commenter
Copy link

codecov-commenter commented Mar 4, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.75%. Comparing base (8801bef) to head (2058da4).
Report is 2 commits behind head on master.

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #299      +/-   ##
==========================================
- Coverage   68.75%   68.75%   -0.01%     
==========================================
  Files          42       41       -1     
  Lines        4622     4621       -1     
==========================================
- Hits         3178     3177       -1     
  Misses       1444     1444              

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

Copy link
Collaborator

@frapac frapac left a comment

Choose a reason for hiding this comment

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

Good we can accelerate the KKT creation on the GPU, I noticed too that this was one of our bottleneck.

I have only minor comments. As a general rule of thumb, I would be in favor of adopting a proper naming convention for the GPU kernels. I am trying to follow the guideline:

@kernel! _do_operation_kernel!(modified_args, @Const(constant_args))

but I would welcome any other better suggestion.

lib/MadNLPGPU/src/interface.jl Outdated Show resolved Hide resolved
lib/MadNLPGPU/src/interface.jl Outdated Show resolved Hide resolved
lib/MadNLPGPU/src/interface.jl Show resolved Hide resolved
lib/MadNLPGPU/src/interface.jl Outdated Show resolved Hide resolved
lib/MadNLPGPU/src/interface.jl Outdated Show resolved Hide resolved
lib/MadNLPGPU/src/interface.jl Outdated Show resolved Hide resolved
lib/MadNLPGPU/src/interface.jl Outdated Show resolved Hide resolved
lib/MadNLPGPU/src/interface.jl Outdated Show resolved Hide resolved
lib/MadNLPGPU/src/interface.jl Outdated Show resolved Hide resolved
lib/MadNLPGPU/src/interface.jl Outdated Show resolved Hide resolved
Copy link
Collaborator

@frapac frapac left a comment

Choose a reason for hiding this comment

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

Looks good to merge!

@sshin23 sshin23 merged commit 8b704e7 into master Mar 6, 2024
7 checks passed
@sshin23 sshin23 deleted the ss/minor_improvement branch March 6, 2024 14:31
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