  This paper introduces and evaluates a freely available cellular nonlinear
network simulator optimized for the effective use of GPUs, to achieve fast
modelling and simulations. Its relevance is demonstrated for several
applications in nonlinear complex dynamical systems, such as slow-growth
phenomena as well as for various image processing applications such as edge
detection. The simulator is designed as a Jupyter notebook written in Python
and functionally tested and optimized to run on the freely available cloud
platform Google Collaboratory. Although the simulator, in its actual form, is
designed to model the FitzHugh Nagumo Reaction-Diffusion cellular nonlinear
network, it can be easily adapted for any other type of finite-difference
time-domain model. Four implementation versions are considered, namely using
the PyCUDA, NUMBA respectively CUPY libraries (all three supporting GPU
computations) as well as a NUMPY-based implementation to be used when GPU is
not available. The specificities and performances for each of the four
implementations are analyzed concluding that the PyCUDA implementation ensures
a very good performance being capable to run up to 14000 Mega cells per seconds
(each cell referring to the basic nonlinear dynamic system composing the
cellular nonlinear network).
