The CuPit compiler for the MasPar MP-1 and MP-2: a literate programming document
暂无分享,去创建一个
This document contains the complete source code of the CuPit
compiler for the MasPar MP-1/MP-2 SIMD parallel machines. The
compiler is presented as a FunnelWeb literate programming document
that contains definitions for the various specification files needed
by the Eli compiler construction system.The exactly same set of
files that enabled FunnelWeb to produce this document also enable
Eli to produce the complete executable compiler, run time system,
and standard library. In this document the source code is
complemented by interspersed documentation text and several
larger introduction text blocks and appendices, in particular a
description of all errors found in the compiler during its
development and use.The compiler takes CuPit source code as input
and produces MPL source code as output. CuPit is a special purpose
language for neural network algorithms which dynamically change the
topology of the neural network. The compiler is designed to optimize
the irregular problems that arise when executing such algorithms for
both data locality and load balancing.The compiler can produce
several different versions of code: (1) a plain
do-as-good-as-you-can-without-any-tricks one (unoptimized), (2) one
that uses a better data distribution (statically optimized), (3) one
that contains additional instructions to collect information about
program behavior at run time, also known as the "rti version"
meaning "run time information version" (dynamically optimized).
[1] W GrayRobert,et al. Eli: a complete, flexible compiler construction system , 1992 .
[2] Donald E. Knuth,et al. The errors of tex , 1989, Softw. Pract. Exp..