-
Notifications
You must be signed in to change notification settings - Fork 918
Hybrid Parallel Compressible RANS Solvers #861
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
Merged
Merged
Changes from all commits
Commits
Show all changes
142 commits
Select commit
Hold shift + click to select a range
17b90ab
all numerics allocated one-per-thread
pcarruscag 55739da
Merge branch 'feature_hybrid_parallel_and_SIMD_tmp' into feature_hybr…
pcarruscag a772260
const correct MMS classes for thread safety
pcarruscag 04f7b37
array of FluidModels for parallel execution (not trivial to make it t…
pcarruscag 83521b7
begin SetTimeStep
pcarruscag c316c8d
intermediate changes
pcarruscag f58bd8f
Merge branch 'restructure_solvers' into tmp
pcarruscag 92200e8
finish time_step routine, allow array of numerics to be passed to sol…
pcarruscag 87cb8bb
split and move CNumerics files
pcarruscag 6ec4a40
spaces and tabs
pcarruscag 0cdac84
update meson
pcarruscag 64010eb
removed unused functions / variables
pcarruscag 1d6939e
more cleaning
pcarruscag 4be6a0b
reduce number of includes
pcarruscag b56b39c
fix some indentation and comments in CConfig
pcarruscag 37b36e3
faster (much) compilation by disabling map definition when not needed
pcarruscag b6aa9ae
fix un-init warning
pcarruscag 9172ca0
fix SU2_DOT compilation
pcarruscag 038769a
fix some indentation in option_structure
pcarruscag 088fdf2
reduce number of numerics files, difficult to understand inheritance …
pcarruscag 118bb22
update build systems
pcarruscag fa5b9c5
fix build again
pcarruscag 4f2f9d9
Merge remote-tracking branch 'upstream/develop' into feature_hybrid_p…
pcarruscag 048f9d2
work around a segfault during parallel allocation of numerics
pcarruscag 4a0716e
compressible centered schemes working in parallel
pcarruscag aa4ce5f
thread-safe compressible upwind residual loop
pcarruscag 0e3a8dc
delete some unused variables
pcarruscag 5534707
thread-safe AUSM family
pcarruscag c071319
thread safe CUSP
pcarruscag 91303e9
thread safe MSW
pcarruscag b159d1d
thread safe HLLC
pcarruscag 2dca913
thread safe Roe family
pcarruscag ce5447c
fix variable lifetime issues
pcarruscag 9a30827
change the signature of Source_Residual to pass another index of nume…
pcarruscag 8444c6b
fix calls to CNumerics::ComputeResidual in BC contexts
pcarruscag d3d338c
make the improved compilation mechanism more readable
pcarruscag 03c5109
Merge remote-tracking branch 'upstream/develop' into feature_hybrid_p…
pcarruscag efe60d9
fix blanks and tabs in config_structure.hpp
pcarruscag 7e307ea
fix a warning
pcarruscag d8aba8f
remove the config .inl
pcarruscag dfd8902
Merge branch 'feature_faster_compilation' into feature_hybrid_paralle…
pcarruscag b6387e1
fix merge
pcarruscag 41d50e2
fix warning the right way
pcarruscag b46bb21
Merge remote-tracking branch 'upstream/feature_faster_compilation' in…
pcarruscag 3ed72ef
better ComputeResidual overload for the thread-safe classes + const C…
pcarruscag ae9486b
Merge branch 'develop' into feature_hybrid_parallel_and_SIMD
pcarruscag 317753a
parallel CEulerSolver::SourceResidual
pcarruscag 4ff3d71
fluid source classes made thread-safe
pcarruscag 740f3b9
remove a forgoten debug statement
pcarruscag be2824a
carried away with const, caused overload resolution problems
pcarruscag 3072afb
fix source residual of CIncEulerSolver
pcarruscag d97ddda
fully exploit the fast lookup mechanisms in CSysMatrix
pcarruscag c632de1
parallel SetMax_Eigenvalue
pcarruscag d4fd63d
parallel SetUndivided_Laplacian
pcarruscag d18c17f
parallel SetCentered_Dissipation_Sensor
pcarruscag f9e9ba3
parallel SetUpwind_Ducros_Sensor
pcarruscag 08f9972
cleanup some mpi code
pcarruscag e8eec6d
clean more postprocessing code
pcarruscag 3471e4d
parallel explicit iterations
pcarruscag 684f39b
wrong order of cases in switch
pcarruscag a5427c0
parallel implicit Euler iteration
pcarruscag 2f82358
more cleanup of turbo stuff
pcarruscag 31bc0bf
more postprocessing cleanup in NS solver
pcarruscag e5096f1
parallel SetVorticity_StrainMag
pcarruscag 81de82f
primitive variables loop
pcarruscag 49f928f
SetTime_Step of the NS solver
pcarruscag bbc7daf
reduce duplication off SetTime_Step
pcarruscag 713c84f
pass one more dim of numerics in viscous residual
pcarruscag df42c31
parallel NSSolver viscous residual loop
pcarruscag 064ff3d
small cleanup
pcarruscag 29138ee
update boundary conditions to use the right overload of ComputeResidual
pcarruscag b3619c3
fix segfault
pcarruscag bbc47be
fix segfault on laminar cases
pcarruscag 4ac3ccc
Merge remote-tracking branch 'upstream/develop' into feature_hybrid_p…
pcarruscag 42a3982
messed up the merge
pcarruscag a121394
cleanup computation of aero coefficients
pcarruscag 3a84305
complete the aero coefficients auxilary type
pcarruscag 46fddd8
merge still not ok, files left behind
pcarruscag 7d0bb9b
make OpenMP parallel sections easier to find by using allways a versi…
pcarruscag 594bfda
cleaner handling of AD-compatible dot-product
pcarruscag 3910f3d
update version of new files to 7.0.1
pcarruscag 3cb4ad7
simplify some OpenMP reductions
pcarruscag 253580a
parallel upwind and viscous loops of CTurbSolver
pcarruscag f53aec3
thread-safe convection and diffusion turbulence numerics
pcarruscag 1061736
parallel implicit euler of CTurbSolver
pcarruscag 7c6a91f
parallel pre and postprocessing SA and SST
pcarruscag 9ea05ef
parallel source loops SA and SST
pcarruscag 080f0e0
thread safe turbulence sources
pcarruscag 4d048a0
color balancing on coarse grids, config options for edge coloring gro…
pcarruscag d3c016f
more ctor cleanup
pcarruscag ded9c08
fix #857
pcarruscag f14ba27
natural coloring when running single threaded
pcarruscag 810f8b4
transform the edge loop in SetTimeStep to point loop
pcarruscag 93eb726
make SetMax_Eigenvalue a point loop
pcarruscag 3fd3d24
reducer strategy on coarse grids (coloring fails too often)
pcarruscag caa4d7b
fix AD compilation
pcarruscag e9ad0d5
more ctor cleanup
pcarruscag 10aa2ce
document and cleanup reducer strategy
pcarruscag 7ef421a
move incompressible convective numerics to new return type
pcarruscag 2620ac6
parallel CTurbSolver::SetResidual_DualTime
pcarruscag 32451e7
Merge remote-tracking branch 'upstream/develop' into hybrid_parallel_…
pcarruscag d3dbfd0
fix automake
pcarruscag 9ba1988
cleanup of CSysVector access
pcarruscag b56c46c
update sliding interface testcases
pcarruscag c6907c2
update cases with minute changes
pcarruscag f013845
update UQ testcases after comparing solution
pcarruscag a3df199
add worksharing to some CVariable methods
pcarruscag 1993f85
move the parallel region out of CSysSolve, clients call "Solve" alrea…
pcarruscag 704bf09
missing sliding_interface updates
pcarruscag 466338b
Merge remote-tracking branch 'upstream/develop' into hybrid_parallel_…
pcarruscag 9d95257
add worksharing construct to MG routines
pcarruscag c06342a
split CIntegration files
pcarruscag 3c01897
cleanup integration classes, unused/not implemented, unnecessary virt…
pcarruscag 0f97d62
add worksharing to SingleGridIntegration
pcarruscag 65787cc
more worksharing in CIntegration
pcarruscag 22bbb44
prepare limiters and gradients to be called in parallel
pcarruscag 252b2d2
fix build
pcarruscag 2687904
single parallel section for all preprocessing, reduce number of CSolv…
pcarruscag fcc39c0
single parallel regions for pre/post processing turbulence solvers
pcarruscag c3b06ce
single parallel region for entire multigrid and singlegrid iterations
pcarruscag f590376
leave TODO in CSolver::AdaptCFLNumber
pcarruscag f188072
do the MG and SG iterations in parallel only if the solver supports it
pcarruscag 3a123cd
cleanup unreachable calls to FEA time integration methods
pcarruscag e1eb786
update some sliding cases (again)
pcarruscag 6ea86f4
allow compilation with AD+OpenMP (experimental)
pcarruscag 9bb71bb
cleanup color loops no more need for #ifdef HAVE_OMP
pcarruscag f48e3e4
fix some typos
pcarruscag 3fdfd0c
fix #846
pcarruscag 3e98ddd
Merge remote-tracking branch 'upstream/develop' into feature_hybrid_p…
pcarruscag abee892
allow Forward mode with OpenMP
pcarruscag 16a8332
remove unnecessary accesses via GetNodes()
pcarruscag f5d59ad
Merge branch 'hybrid_parallel_compressible_rans' of https://github.co…
pcarruscag 51e1ab3
Merge remote-tracking branch 'upstream/develop' into hybrid_parallel_…
pcarruscag 5ab50ba
fix warnings and non standard indentation in inlet interpolation
pcarruscag 19a4506
Merge branch 'develop' into hybrid_parallel_compressible_rans
pcarruscag cb111c9
make structural BC's less error prone (clear and compute tractions ev…
pcarruscag 9da9ca8
fix displacement BC for nonlinear elasticity
pcarruscag 17522ad
cleanup ctors of CDiscAdjFEASolver
pcarruscag 36aa5a5
cleanup unused variables CDiscAdjFEASolver
pcarruscag 4a946fc
fix bug affecting shape derivatives of elasticity cases
pcarruscag d9e85db
Damping proportional to area in Damper BC (FEA solver)
pcarruscag 553a4e5
Merge remote-tracking branch 'upstream/develop' into hybrid_parallel_…
pcarruscag File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Another small bit of probably unusual code for most.
This is SFINAE (substitution failure is not an error), the bottom function is active for arithmetic types (int, long, floats, doubles, etc.) for which atomic operations are defined by the OpenMP standard.
The top function will be used otherwise, using a critical region is slower but compatible with any type, which allows writing code that compiles with the AD types without #ifdefs in the code.
Forward mode AD + OpenMP is now enabled.