Abstract
Fortran 90 provides a rich set of array intrinsic functions, and they are useful to represent array expressions and data parallel programming. In the case that these intrinsic functions are applied to sparse data sets on distributed memory environments, it is however not supported by vendor Fortran 90 or HPF compilers. In a series of our research work, we attempt to provide parallel sparse supports for array intrinsics of Fortran 90. In our design, we support sparse modules with overloaded array operations and intrinsics. In the process of our lab's experiments and design, we found that the sparsity information of sparse arrays are crucial for performance issues, such as compression, distribution, and communication cost. It became crucial how we could obtain the sparsity information for arrays of our programs. Previously, we provided probabilistic inference schemes to estimate sparsity ratio of target arrays operated based on Fortran 90 array operations and intrinsics. Our methods gave an inference scheme to estimate the sparsity ratio of the target array of an expression using array intrinsic functions of Fortran 90 assuming a uniform distribution of sparsity among source array elements. However, it remains open for this problem when the sparse dataset is with non-uniform distributions. In this thesis, a solutions was proposed to address the issues for the non-uniform distribution of sparse elements. This work gives sparse inference schemes for the complete set of array operations and array intrinsics of Fortran 90 for non-uniform distributions of sparse datasets. Experiments are also done to observe our sampling techniques for sparse arrays with the Harwell-Boeing sparse matrix collection. We also demonstrate with our experiments and analytical model that a compiler can distinguish the performances among different OLAP programs with the help of the sparsity structures of the source arrays and our probabilistic inference schemes. Our experiments are done on IBM SP-2 and with the support of our sparse array intrinsics of Fortran 90.