Caveats#
This page discusses any gotchas or considerations that users should keep in mind while implementing their tests.
Parallelization#
When using multiple processes for parallelization, the cost function (which may contain a model and
specification), the optimizer, and the options object will all need to be communicated across
processes. \(\Psi\)-TaLiRo uses the built-in multiprocessing module, which uses the
pickle module for data serialization. This means that only cost functions and optimizers
which can be serialized with pickle can be used in tests with multiple processes. Closures and
other data types which depend on local variables cannot be used in this context because they cannot
be serialized.