mdolab / idwarp

IDWarp is a mesh warping package for the MACH framework.
Other
17 stars 29 forks source link

Update AD code structure #62

Closed ewu63 closed 2 years ago

ewu63 commented 2 years ago

Purpose

I updated the entire AD code structure:

Type of change

Testing

This PR just changes the AD build process. Existing tests should pass.

Checklist

codecov[bot] commented 2 years ago

Codecov Report

Merging #62 (35b5b2b) into master (055874b) will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master      #62   +/-   ##
=======================================
  Coverage   45.80%   45.80%           
=======================================
  Files           6        6           
  Lines         751      751           
=======================================
  Hits          344      344           
  Misses        407      407           

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 055874b...35b5b2b. Read the comment docs.

bernardopacini commented 2 years ago

I left two broader comments about the PR. I think the changes are fine, but since we are refactoring things now it may be worth making these small changes too while we are here.

Since I worked with you (@nwu63) on this, we should have at least one more person who knows about Tapenade review this.

bernardopacini commented 2 years ago

The changes look good, but then again, I am no expert on any of the files that have changes. My only broad comment would be to be careful about a possible parallel make. I am not sure if tapenade makefiles even do that, but just something that can cause race conditions with the addition and removal of temp files. If what I am saying is completely unrelated, then this PR is probably good to go for me.

As far as I know, Tapenade does not support that kind of parallelism and we do not use it anywhere even if it does. I don't think we have to worry about this, Tapenade handles IO itself and our preprocessing is serial in the makefile. Tapenade is realistically pretty quick so I think that we should avoid parallelism in the future even if it does exist -- not worth the extra effort. If Tapenade is parallel within the executable that's fine, it shouldn't change anything for our makefile.

anilyil commented 2 years ago

Okay, then it looks good on my end. We need 2 approvals to merge I think.