Compiling the OpenCL code on demand gives flaky variable test times
Hypothesis gives lots of random errors about flaky tests which fail the
deadline check on the first run but not on the second. This is almost certainly due to the time taken to compile the OpenCL program (for the second run, the compiled program is fetched from the cache).
Stick to a single set of values for
NATWORKetc., rather than drawing these from a hypothesis strategy
- Have a pytest fixture that compiles the program once, before the tests are run, to ensure that it is in the cache.