Parallel APL 

for Apl Parallel EXecutor

Robert Bernecky, Msc Thesis Toronto 1997

APL with parallel extensions

from Abstract

Related languages
APL => APEX   Extension of
SISAL => APEX   Compiled to

  • Bernecky, Robert An overview of the APEX compiler. Technical Report 305/97, Department of Computer Science, University of Toronto, 1997 view details pdf
  • Bernecky, Robert APEX: The APL parallel executor. Master’s thesis, University of Toronto, 1997 view details pdf Abstract: APEX is an APL compiler. APEX generates high-performance, portable, parallel code that executes up to several hundred times faster than interpreted APL, with serial performance of kernels competitive with FORTRAN. Preliminary results indicate that acceptable multi-processor speedup is achievable. The excellent run-time performance of APEX-generated code arises from attention to all aspects of program execution: run-time syntax analysis is eliminated, setup costs are reduced, algebraic identities and phrase recognition detect special cases, some matrix products exploit a generalization of sparse-matrix algebra, and loop fusion and copy optimizations eliminate many array-valued temporaries. In addition, the compiler exploits Static Single Assignment and array morphology, our generalization of data flow analysis to arrays, to generate run-time primitives that use superior algorithms and simpler storage types. Extensions to APL, including rank, cut, and a monadic operand for dyadic reduction, improve compiled and interpreted code performance.
    APEX introduced Array Morphology as a generalization of data flow analysis for array languages
  • Bernecky, Robert Reducing computational complexity with array predicates. In Sergio Picchi and Marco Micocci, editors, APL98 Conference Proceedings, pages 46-54. APL Italiana, July 1998 view details