  This paper examines an algorithm using dual OpenCL image buffers to optimize
data streaming for ensemble processing and visualization. Image buffers were
utilized because they allow cached memory access, unlike simple data buffers,
which are more commonly used. OpenCL image object performance was improved by
allowing upload and mapping into one buffer to occur concurrently with mapping
and/or processing of data in another buffer. This technique was applied in an
interactive application allowing multiple flood extent maps to be combined into
a single image, and allowing users to vary input image sets in real time. The
efficiency of this technique was tested by varying both dimensions of input
images and number of iterations; computation scaled linearly with number of
input images, with best results achieved using ~4k images. Tests were performed
to determine the rate at which data could be moved from data buffers to image
buffers, examining a large range of possible image buffer dimensions.
Additional tests examined kernel runtimes with different image and buffer
variants. Limitations of the algorithm and possible applications are discussed.
