mdolab / mdolab/OpenAeroStruct

Make OAS MPhys components distributed

Open
#456 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
281
Forks
135
PR merge metrics
No merged PRs in 30d

Description

Description of feature

The current OAS MPhys builder sets up the aero solver group as non-distributed, this means that the solver group and all it's data are duplicated on every proc when running in parallel, which leads to huge memory usage.

Potential solution

It would be preferable to mark the solver group as distributed and then only do anything on the root proc.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in openaerostruct/mphys/aero_builder.py around lines 60-75, where the OAS MPhys builder configures the aero solver group. Read how the group is constructed and how parallel execution is handled, then determine the required root-process behavior. Done means the solver group and its data are no longer duplicated on every process while the parallel builder still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
distributed-systems, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.