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

FF: additional OpenMP parallelizations in FAST.Farm #1310

Merged
merged 10 commits into from
Nov 7, 2022

Conversation

ebranlard
Copy link
Contributor

This pull request ready to be merged

Feature or improvement description

  • Adds more OpenMP statements in FAST.Farm Subs.
    - NOTE: parallelizing FWrap_Init (i.e. the step that reads all the OpenFAST input file, can result in the same input files being read by multiple processors. The NWTC_IO had a check that would prevent this, I have removed it).
    - Parallelize WD_CalcOutp
    - Isolate the calls to AWAE_UpdateStates (run after all the OpenFAST Turbine Update states), (small slow down expected because before this step was done in parallel, but separating this calls makes the process cleaner and leaves room for OpenMP Optimization of AWAE_UpdateStates. This shouldn't matter if you have more turbines than cores. )
    - Parallelize the Reading of HighRes boxes in AWAE_UpdatesStates
  • Explicitly set the number of threads in the github workflow. Note: I have tested with 2,4, and 8 threads, all seem to work and don't seem to produce overhead from multithreading (but tests have few number of turbines)

Impacted areas of the software
Fast.Farm

Test results, if applicable
Unchanged

@ebranlard ebranlard self-assigned this Nov 2, 2022
@ebranlard ebranlard added this to the v3.4.0 milestone Nov 2, 2022
@ebranlard ebranlard merged commit 4fbac48 into OpenFAST:dev Nov 7, 2022
@ebranlard ebranlard deleted the f/ff-openmp branch November 10, 2022 17:37
@rafmudaf rafmudaf mentioned this pull request Dec 19, 2022
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants