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

Hypoelasticity to HLLC, preliminary features for RMT (update) #727

Merged
merged 512 commits into from
Dec 20, 2024

Conversation

mrodrig6
Copy link
Member

@mrodrig6 mrodrig6 commented Nov 13, 2024

Description

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Scope

  • This PR comprises a set of related changes with a common goal

If you cannot check the above box, please split your PR into multiple PRs that each have a common goal.

Checklist

  • I have added comments for the new code
  • I added Doxygen docstrings to the new code
  • I have made corresponding changes to the documentation (docs/)
  • I have added regression tests to the test suite so that people can verify in the future that the feature is behaving as expected
  • I have added example cases in examples/ that demonstrate my new feature performing as expected.
    They run to completion and demonstrate "interesting physics"
  • I ran ./mfc.sh format before committing my code
  • New and existing tests pass locally with my changes, including with GPU capability enabled (both NVIDIA hardware with NVHPC compilers and AMD hardware with CRAY compilers) and disabled
  • This PR does not introduce any repeated code (it follows the DRY principle)
  • I cannot think of a way to condense this code and reduce any introduced additional line count

If your code changes any code source files (anything in src/simulation)

To make sure the code is performing as expected on GPU devices, I have:

  • Checked that the code compiles using NVHPC compilers
  • Checked that the code compiles using CRAY compilers
  • Ran the code on either V100, A100, or H100 GPUs and ensured the new feature performed as expected (the GPU results match the CPU results)
  • Ran the code on MI200+ GPUs and ensure the new features performed as expected (the GPU results match the CPU results)
  • Enclosed the new feature via nvtx ranges so that they can be identified in profiles
  • Ran a Nsight Systems profile using ./mfc.sh run XXXX --gpu -t simulation --nsys, and have attached the output file (.nsys-rep) and plain text results to this PR
  • Ran an Omniperf profile using ./mfc.sh run XXXX --gpu -t simulation --omniperf, and have attached the output file and plain text results to this PR.
  • Ran my code using various numbers of different GPUs (1, 2, and 8, for example) in parallel and made sure that the results scale similarly to what happens if you run without the new code/feature

mrodrig6 and others added 30 commits June 22, 2024 08:01
@sbryngelson
Copy link
Member

Thanks @anandrdbz - I believe we should remove these example cases because hyper elasticity isn't even in the code yet, and I'm not sure what to expect of the bubble-in-channel case but it should also likely be removed because it doesn't involve hypo/hyper elasticity.

@mrodrig6 please add @anandrdbz to the GitHub org/repo. like you added myself and @wilfonba and @henryleberre.

That said, there are now many conflicts that need to be resolved with the merge this morning of #632 . These are all trivial but (potentially) annoying.

@anandrdbz
Copy link
Contributor

Yeah sounds good, I will delete these cases and add my changes once I have access; I'll then take a quick look at the conflicts

@sbryngelson
Copy link
Member

@anandrdbz I requested that @mrodrig6 give you access.

In the meantime, if you run git diff > update.patch it should create a file update.patch you can send to me, and I can apply it to this repo. right now.

@anandrdbz
Copy link
Contributor

anandrdbz commented Dec 16, 2024

update.patch

@sbryngelson here you go

@sbryngelson
Copy link
Member

@anandrdbz ugg your patch conflicts with the PR I just merged, so almost all the lines in the patch file are just changes between (0d0) and (wp). Can you send me a trimmed file that doesn't include those and only the actual changes you made?

@anandrdbz
Copy link
Contributor

@sbryngelson I sent you the wrong file, just a minute

@anandrdbz
Copy link
Contributor

update.patch

Here's the correct file @sbryngelson

@sbryngelson
Copy link
Member

@anandrdbz Patch applied. I already removed the failing examples per above. Unfortunately, until merge conflicts with #626 are resolved we won't see CI run.

@anandrdbz
Copy link
Contributor

Okay, test suite does run locally, so most likely it should work for all cpu runs at the very least. I can resolve the merge conflicts once I have access from Mauro

@sbryngelson
Copy link
Member

@anandrdbz I resolved them all myself in this commit: 23822da (#727)

@mrodrig6 please review this commit to see if it looks like something is wrong.

@anandrdbz
Copy link
Contributor

I think the resolution of merge conflicts introduced some additional bugs while building

@sbryngelson
Copy link
Member

I think the resolution of merge conflicts introduced some additional bugs while building

I'm fixing those now. I'm hoping I didn't introduce proper bugs that will subtly cause problems in the computation that our test suite doesn't cover. It would be helpful if someone looked at it @mrodrig6

@sbryngelson
Copy link
Member

@anandrdbz
Copy link
Contributor

I think the PR is ready for merge, seems like the phoenix GPU job is stuck

@sbryngelson sbryngelson merged commit 10b2209 into MFlowCode:master Dec 20, 2024
27 of 28 checks passed
@sbryngelson sbryngelson deleted the prcode branch December 20, 2024 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

Successfully merging this pull request may close these issues.

7 participants