Help with the Math library

maintenance
math

#1

If anyone wants to help with the Math library, I could really use some help paying down technical debt. Some of these are easy and can be done independently, others are a little more complicated.

If you’d like to help, please reach out here. Prerequisites: templated C++ knowledge and an ability to not get super-frustrated with error novels.

Here are immediate things that come to mind:

  1. Continuous integration.
    • some of it got messed up over the years. Right now, I know it’s not checking make test-math-dependencies. We need to turn that back on, but we currently have errors that prevent us from turning that on. fixed with math#1107
    • it looks like make test-headers is also broken (see stan-dev/math#1106). We will also need to fix that.
  2. Generalized test framework for gradients. See stan-dev/math#993. This would make life easier for all developers in the future.
  3. Flattening the mat, arr, prim folders. See stan-dev/math#937

There are other things that would be really useful. Some things we desperately need and require less expertise:

  1. Documenting and testing our template metaprograms in meta. We tend to forget what’s there and write new metaprograms. That’s not good.
  2. Splitting the logic for check_* functions into is_* functions that return a bool. I’ve always wanted to expose all the is_* functions to the Stan language so it’s easier to error check. There’s no reason we don’t do this.

There’s a ton of other stuff… if anyone wants to help, please reach out.

edit: adding strikeout to what’s been accomplished.


#2

Can we just remove the tests that fail and leave the rest in place?


#3

Sorry, I should have been updating this thread. stan-dev/math#1107 fixes the first bullet.


#4

If I can get the rev branch of gpu stuff finished on Saturday I can volunteer to do this on Sunday


#5

@syclik I can do whatever you think is appropriate


#6

@syclik Is https://github.com/stan-dev/math/issues/1106 still an open issue? Based on Bob’s comments in the discussion I am not sure whether its intended or not?

I am going to tackle some of the metaprograms documenting and tests in the coming days. I will be running some perf tests and will have some downtime to work on this.


#7

@rok_cesnovar, thanks! You’re right… it’s been fixed. Thanks for helping clean up the issues; it’s really helpful and appreciated.