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

Fix compilation issues and PVT Driver unit test on Pangea3 #2910

Merged
merged 7 commits into from
Jan 12, 2024

Conversation

sframba
Copy link
Contributor

@sframba sframba commented Dec 22, 2023

Currently, GEOS is broken on Pangea3 due to a few issues with compilation and with the PVTDriver module's tests.

  • This PR closes issue PVT module broken on Pangea 3 - no reservoir simulation possible #2823, by removing direct access to some private class members that are not allowed from device code.
  • Furthermore, this PR updates the Pangea3 host config file following the upgrade of cuda to version 11.5 on Pangea3. In particular,
    • Hypre is by default compiled without CUDA acceleration (not completely supported); hypre with cuda acceleration seems to be mostly working now
    • The LvArray benchmarks are disabled since they do not compile with this version of cuda(solution suggested by @corbett5), and
    • A flag is addedd to allow host constexpr function call from device code.

Overall, this PR restores compilation and functionality on Pangea3.
There is a companion thirdPartyLibs PR, #253, which updates and makes the host config files consistent.

@sframba sframba added type: bug Something isn't working flag: ready for review labels Dec 22, 2023
@sframba sframba self-assigned this Dec 22, 2023
@sframba sframba changed the title Fix compilation issues and PVT Driver on Pangea3 Fix compilation issues and PVT Driver unit test on Pangea3 Dec 22, 2023
@sframba sframba added the flag: no rebaseline Does not require rebaseline label Dec 22, 2023
Copy link
Contributor

@dkachuma dkachuma 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 me. Thanks.

@TotoGaz TotoGaz added the flag: requires updated TPL(s) Needs a specific TPL PR label Jan 10, 2024
using ExecPolicy = typename FLUID_TYPE::exec_policy;
forAll< ExecPolicy >( composition.size( 0 ),
[this, numPhases, numComponents, numSteps, kernelWrapper,
Copy link
Collaborator

Choose a reason for hiding this comment

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

ah yeah, capturing this by value won't work if run on device.

@CusiniM CusiniM added the ci: run CUDA builds Allows to triggers (costly) CUDA jobs label Jan 12, 2024
@CusiniM CusiniM merged commit 741b6ab into develop Jan 12, 2024
20 checks passed
@CusiniM CusiniM deleted the bugfix/p3configuration branch January 12, 2024 21:05
ouassimkh pushed a commit that referenced this pull request Feb 16, 2024
* removed access to private class members from device code

* modified host config for P3

* removed CUDA Hypre flag (does not completely work on P3)

* Re-enabled cuda acceleration for hypre

---------

Co-authored-by: Matteo Cusini <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci: run CUDA builds Allows to triggers (costly) CUDA jobs flag: no rebaseline Does not require rebaseline flag: ready for review flag: requires updated TPL(s) Needs a specific TPL PR type: bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants