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

Feature/tests #22

Merged
merged 19 commits into from Feb 15, 2022
Merged

Feature/tests #22

merged 19 commits into from Feb 15, 2022

Conversation

fluidnumerics-joe
Copy link
Member

This PR brings in changes to the CI infrastructure to

  • Split SELF dependencies build (~1h) and SELF build (~10 minutes)
  • Run serial tests within Google Cloud Build - all programs listed under examples/ are now run as part of the tests.
  • Generate coverage reports and upload reports to codecov

* Ths ContravariantProjection method for Vector data is now public, so
  that other modules can leverage this method for handling "Reproject"
  actions to  map from physical to computational coordinates. Because
  this is normally used for element interior flux calculations, and
  boundary fluxes are calculated using a Riemann solver, this method now
  excludes computation of  % boundary attributes.

* The associated HIP kernels now copy the physical vector components to
  scalar values so that the input and output arrays can be identical
* This provides the advantage of code re-use and the ability to use the
  GPU accelerated kernel for the reproject step in the update workflow
* I've also added a step to apply the contravariant projection to the
  velocity field, prior to calling flux divergence.
* This transition requires moving the velocity attribute to the
  SELF_Model level. This reduces the amount of development required to
  implement a new solver with either split-form or conservative methods.
* When GPU acceleration is enabled, we need to copy the interior and
boundary solution to the GPU.
* Because SELF dependencies take 1h+ to install, I've separated the
  cloud build yaml's and Dockerfiles into a "base" and the standard SELF
  build. The base build creates a container called `self-base` that is
  used as the starting container for standard SELF builds; the base
  container is  expected to updated at a slower pace than SELF.

* The standard SELF build pipelines are broken into a `local.yaml` and
  the standard `.yaml`. The `cloudbuild.local.yaml` file is expected to
  be used with cloud-build-local for users to run tests on their local
  systems, provided they have Docker and cloud-build-local installed.
@fluidnumerics-joe
Copy link
Member Author

/gcbrun

@fluidnumerics-joe
Copy link
Member Author

/gcbrun

@codecov
Copy link

codecov bot commented Feb 14, 2022

Codecov Report

❗ No coverage uploaded for pull request base (develop@a2594f4). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##             develop     #22   +/-   ##
=========================================
  Coverage           ?   7.80%           
=========================================
  Files              ?      16           
  Lines              ?    6805           
  Branches           ?    2966           
=========================================
  Hits               ?     531           
  Misses             ?    5984           
  Partials           ?     290           

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 a2594f4...f6bf1a2. Read the comment docs.

* This minimizes management of .gcda and .gcno files generated from
  coverage reporting
@fluidnumerics-joe
Copy link
Member Author

/gcbrun

@fluidnumerics-joe
Copy link
Member Author

/gcbrun

@fluidnumerics-joe
Copy link
Member Author

/gcbrun

@fluidnumerics-joe
Copy link
Member Author

/gcbrun

* there are a handful of tools that we need to run the gcov and codecov
  from the base container (curl, gcov, and gcovr) in addition to
  compiler libraries necessary to execute code.
@fluidnumerics-joe
Copy link
Member Author

/gcbrun

@fluidnumerics-joe fluidnumerics-joe merged commit fac6158 into develop Feb 15, 2022
@fluidnumerics-joe fluidnumerics-joe deleted the feature/tests branch February 15, 2022 04:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant