Wavelet subband coding of computer simulation output using the A++ array class library
Jonathan N. Bradley, Christopher M. Brislawn, Daniel J. Quinlan, H.D. Zhang, Veyis Nuri · 2002
Summary form only given. The work focuses on developing discrete wavelet transform/scalar quantization data compression software that can be ported easily between different hardware environments. This is an extremely important consideration given the great profusion of different high-performance computing architectures available, the high cost associated with learning how to map algorithms effectively onto a new architecture, and the rapid rate of evolution in the world of high-performance computing. The approach is to use the A++/P++ array class library, a C++ software library originally designed for adaptive mesh PDE algorithms. Using a C++ class library has the advantage of allowing to write the scientific algorithm in a high-level, platform-independent syntax; the machine-dependent optimization is hidden in low-level definitions of the library objects. Thus, the high-level code can be ported between different architectures with no rewriting of source code once the machine-dependent layers have been compiled. In particular, while "A++" refers to a serial library, the same source code can be linked to "P++" libraries, which contain platform-dependent parallelized code. The paper compares the overhead incurred in using A++ library operations with a serial implementation (written in C) when compressing the output of a global ocean circulation model running at the Los Alamos Advanced Computing Lab.