  This work develops a parallelized algorithm to compute the dynamic mode
decomposition (DMD) on a graphics processing unit using the streaming method of
snapshots singular value decomposition. This allows the algorithm to operate
efficiently on streaming data by avoiding redundant inner-products as new data
becomes available. In addition, it is possible to leverage the native
compressed format of many data streams, such as HD video and computational
physics codes that are represented sparsely in the Fourier domain, to massively
reduce data transfer from CPU to GPU and to enable sparse matrix
multiplications. Taken together, these algorithms facilitate real-time
streaming DMD on high-dimensional data streams. We demonstrate the proposed
method on numerous high-dimensional data sets ranging from video background
modeling to scientific computing applications, where DMD is becoming a mainstay
algorithm. The computational framework is developed as an open-source library
written in C++ with CUDA, and the algorithms may be generalized to include
other DMD advances, such as compressed sensing DMD, multi resolution DMD, or
DMD with control. Keywords: Singular value decomposition, dynamic mode
decomposition, streaming computations, graphics processing unit, video
background modeling, scientific computing.
