We present a classification scheme for array language primitives that quantifies the variation in parallelism and data locality that results from the fusion of any two primitives. We also present an algorithm based on this scheme that efficiently determines when it is beneficial to fuse any two primitives. Experimental results show that five LINPACK routines report 50% performance improvement from the fusion of array operators. >
['Dz-Ching Ju', 'Chuan-lin Wu', 'Paul R. Carini']
The classification, fusion, and parallelization of array language primitives