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 LMAX
,NSWORK
,NATWORK
etc., 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.