Enabling the optimization can give a significant speed up with Scan at the cost of slightly increased memory usage.
The interaction of which one give the lower peak memory usage is complicated and not predictable, so if you are close to the peak memory usage, trying both could give you a small gain.
Enable or disable parallel computation on the CPU with Open MP.
This can have a severe impact on performance and so should not be done outside of debugging. So if you have a memory error while using the cache, try to allocate more memory at the start or disable it.
If you try this, report your result on :ref`theano-dev`.
For larger elements it does not make a difference yet.
In the future when true multi-stream is enabled in libgpuarray, this may change.In particular, on the GPU, we will avoid using Atomic Add.Sometimes we will still use non-deterministic implementaion, e.g.when we do not have a GPU implementation that is deterministic. This sets the default for the use of the Theano garbage collector for intermediate results.To use less memory, Theano frees the intermediate results as soon as they are no longer needed.At the moment it behaves differently from numpy in the following situations: Float value Default: 0 (Preallocation of size 0, only cache the allocation) Controls the preallocation of memory with the gpuarray backend.