The INFIDEL Virtual Machine

Luigi Semenzato

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-93-761
July 1993

http://www2.eecs.berkeley.edu/Pubs/TechRpts/1993/CSD-93-761.pdf

INFIDEL is an abstract machine that operates on grids. It is written in L as an extension of Basil. It has been designed as a target for the FIDIL compiler, but it can be programmed directly in L. The machine implements the abstract types "grid" and "domain." Domains represent sets of points with integer coordinates. Grids are an extension of arrays for finite-difference algorithms. These types correspond closely to the FIDIL types "map" and "domain." INFIDEL serves three purposes. First, it is proposed as an intermediate step in the compilation of FIDIL programs. Second, it defines the level at which FIDIL programs and foreign code can be linked together. Third, part of the interface is not only available for direct use in application programs, but is also usable in yet-to-be-written system code that will implement INFIDEL on new architectures.


BibTeX citation:

@techreport{Semenzato:CSD-93-761,
    Author = {Semenzato, Luigi},
    Title = {The INFIDEL Virtual Machine},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1993},
    Month = {Jul},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1993/6289.html},
    Number = {UCB/CSD-93-761},
    Abstract = {INFIDEL is an abstract machine that operates on grids. It is written in L as an extension of Basil. It has been designed as a target for the FIDIL compiler, but it can be programmed directly in L.  The machine implements the abstract types "grid" and "domain." Domains represent sets of points with integer coordinates. Grids are an extension of arrays for finite-difference algorithms. These types correspond closely to the FIDIL types "map" and "domain." INFIDEL serves three purposes.  First, it is proposed as an intermediate step in the compilation of FIDIL programs. Second, it defines the level at which FIDIL programs and foreign code can be linked together. Third, part of the interface is not only available for direct use in application programs, but is also usable in yet-to-be-written system code that will implement INFIDEL on new architectures.}
}

EndNote citation:

%0 Report
%A Semenzato, Luigi
%T The INFIDEL Virtual Machine
%I EECS Department, University of California, Berkeley
%D 1993
%@ UCB/CSD-93-761
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/1993/6289.html
%F Semenzato:CSD-93-761