skyreflectedinmirrors / spyJac

Working repo for pyJac sparse upgrade
MIT License
1 stars 0 forks source link

More bugfixes #5

Closed skyreflectedinmirrors closed 6 years ago

skyreflectedinmirrors commented 6 years ago

The technical debt is large.

kyleniemeyer commented 6 years ago

What’s the current testing framework situation...?

skyreflectedinmirrors commented 6 years ago

@kyleniemeyer so currently the unit tests run on POCL (using deep/wide/and unvectorized OpenCL code) and a pure C/OpenMP backend (just parallel). The tests include every individual function in the source rate / dense / sparse Jacobian evaluation (with reference answers calculated by Cantera / Adept respectively). Additionally C / F data ordering are testing, as well as CONP / CONV when appropriate (i.e., when there is actually a difference between the two).

The only things that aren't tested fully yet (due to time constraints on the CI) are the "full" jacobian / source rate tests, which goes through the complete process of:

  1. In python, generate source rate / Jacobian code, compiling this to a C-library & write a binary data file that the C-library interface knows how to read.
  2. Via a subprocess call to the C-library, evaluate the source rates / jacobian, and write back to a binary file.
  3. Read the computed data back and compare to the reference answer.

That said, point 1 has it's own tests for the individual steps and points 2 & 3 are tested in the functional tester (and they do have a unit test that we don't run, because it takes too damn long).

This is currently failing because I haven't bothered to rename everything to satisfy the Flake8 linter yet see here