-
Notifications
You must be signed in to change notification settings - Fork 1
gpu fixes #1
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
gpu fixes #1
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR implements GPU offloading support using OpenMP target directives to accelerate computational kernels in the CFD solver. The changes add GPU execution paths for turbulence models, solver operations, and multigrid Poisson solvers.
Key Changes:
- Added comprehensive GPU execution tests and validation script
- Implemented GPU kernels for turbulence models (baseline mixing length, GEP, and neural network models)
- Added GPU acceleration for convective/diffusive terms and multigrid solver operations
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_turbulence.cpp | Added GPU upload calls before model updates for MLP and TBNN tests |
| tests/test_gpu_execution.cpp | New comprehensive test suite verifying GPU execution for MLP, TBNN, and basic GPU computations |
| test_gpu_offload.sh | New SLURM validation script for end-to-end GPU testing with performance benchmarks |
| src/turbulence_gep.cpp | Added GPU kernel for GEP turbulence model with inline variant selection |
| src/turbulence_baseline.cpp | Added GPU kernel for mixing length turbulence model |
| src/solver.cpp | Added GPU kernels for convective and diffusive term computations |
| src/poisson_solver_multigrid.cpp | Added GPU kernels for red-black Gauss-Seidel smoothing and residual computation |
| src/gpu_kernels.cpp | Removed unused variable idx_c from velocity gradient computation |
| include/turbulence_nn_tbnn.hpp | Added GPU state tracking fields (full_gpu_ready_, cached_n_cells_) |
| CMakeLists.txt | Added test_gpu_execution test target |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.