📄 node93.html
字号:
<html><!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
<!Converted with LaTeX2HTML 95.1 (Fri Jan 20 1995) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
<HEAD>
<TITLE> Chapter Notes</TITLE>
</HEAD>
<BODY>
<meta name="description" value=" Chapter Notes">
<meta name="keywords" value="book">
<meta name="resource-type" value="document">
<meta name="distribution" value="global">
<P>
<BR> <HR><a href="msgs0.htm#2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#2"><img ALIGN=MIDDLE src="asm_color_tiny.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/asm_color_tiny.gif" alt="[DBPP]"></a> <A NAME=tex2html3072 HREF="node92.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node92.html"><IMG ALIGN=MIDDLE ALT="previous" SRC="previous_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/previous_motif.gif"></A> <A NAME=tex2html3078 HREF="node94.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node94.html"><IMG ALIGN=MIDDLE ALT="next" SRC="next_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/next_motif.gif"></A> <A NAME=tex2html3076 HREF="node82.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node82.html"><IMG ALIGN=MIDDLE ALT="up" SRC="up_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/up_motif.gif"></A> <A NAME=tex2html3080 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html"><IMG ALIGN=MIDDLE ALT="contents" SRC="contents_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/contents_motif.gif"></A> <A NAME=tex2html3081 HREF="node133.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node133.html"><IMG ALIGN=MIDDLE ALT="index" SRC="index_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/index_motif.gif"></A> <a href="msgs0.htm#3" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#3"><img ALIGN=MIDDLE src="search_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/search_motif.gif" alt="[Search]"></a> <BR>
<B> Next:</B> <A NAME=tex2html3079 HREF="node94.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node94.html">8 Message Passing Interface</A>
<B>Up:</B> <A NAME=tex2html3077 HREF="node82.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node82.html">7 High Performance Fortran</A>
<B> Previous:</B> <A NAME=tex2html3073 HREF="node92.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node92.html"> Exercises</A>
<BR><HR><P>
<H1><A NAME=SECTION034110000000000000000> Chapter Notes</A></H1>
<P>
<A NAME=11691> </A>
Early data-parallel programming notations included
<A NAME=11692> </A>
Kali [<A HREF="node132.html#Kali" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Kali">200</A>],
<A NAME=11694> </A>
CM Fortran [<A HREF="node132.html#CMF" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#CMF">282</A>],
<A NAME=11696> </A>
Fortran D [<A HREF="node132.html#FD" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#FD">112</A>], and Vienna
<A NAME=11698> </A>
Fortran [<A HREF="node132.html#Vienna" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Vienna">56</A>]. Other data-parallel languages include
<A NAME=11700> </A>
*Lisp [<A HREF="node132.html#Thi90a" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Thi90a">281</A>],
<A NAME=11702> </A>
C* [<A HREF="node132.html#Thi90a" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Thi90a">281</A>],
<A NAME=11704> </A>
Data-parallel
<A NAME=11705> </A>
C [<A HREF="node132.html#DPC" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#DPC">136</A>,<A HREF="node132.html#HQL91" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#HQL91">137</A>], pC++
[<A HREF="node132.html#BBG91" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#BBG91">38</A>], NESL [<A HREF="node132.html#Ble90" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Ble90">37</A>], and
<A NAME=11709> </A>
DINO [<A HREF="node132.html#RSW90" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#RSW90">247</A>]. In a rather different approach, several projects
have explored the use of C++
class libraries to encapsulate
data-parallel operations on data objects such as
arrays [<A HREF="node132.html#Pozo" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Pozo">83</A>,<A HREF="node132.html#LQ" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#LQ">188</A>].
<P>
<A NAME=11712> </A>
The compilation of HPF and related languages requires specialized
analysis and optimization techniques. Hiranandani et
al. [<A HREF="node132.html#HKTCACM" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#HKTCACM">152</A>] and Zima and Chapman [<A HREF="node132.html#ZimaBook" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#ZimaBook">303</A>] provide a
good introduction to these topics; see also papers by Albert, Lukas,
and Steele [<A HREF="node132.html#Albert" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Albert">10</A>], Bozkus et al. [<A HREF="node132.html#Choudhary" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Choudhary">42</A>], Callahan and
Kennedy [<A HREF="node132.html#CaKeCompiling" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#CaKeCompiling">45</A>], Rogers and Pingali [<A HREF="node132.html#RP89" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#RP89">245</A>], and
Zima, Bast, and Gerndt [<A HREF="node132.html#ZiBGSUPERB" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#ZiBGSUPERB">302</A>] and the monographs by
Banerjee [<A HREF="node132.html#Ban88" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Ban88">27</A>] and Wolfe [<A HREF="node132.html#Wol89" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Wol89">296</A>].
<P>
The description of F90 and HPF provided here is necessarily brief.
<A NAME=11722> </A>
See Chapter <A HREF="node67.html#chapfm" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node67.html#chapfm">6</A> for F90 references.
Loveman [<A HREF="node132.html#Lovemanhpf" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Lovemanhpf">193</A>] provides more information on both the HPF
language and the process by which it was designed. The HPF Language
Specification prepared by the HPF Forum provides a comprehensive,
although sometimes impenetrable, description of the
language [<A HREF="node132.html#HPFspec" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#HPFspec">149</A>]. The book by Koelbel et al. [<A HREF="node132.html#HPFBook" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#HPFBook">176</A>]
presents essentially the same information but in a more readable form,
and also provides a useful introduction to F90.
<P>
Extensions to the data-parallel programming model that would allow its
application to a wider range of problems is an active area of
research. Chapman, Mehrotra, and Zima [<A HREF="node132.html#Chapman2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Chapman2">57</A>] propose a range
of extensions. Saltz, Berryman, and Wu [<A HREF="node132.html#Saltz2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Saltz2">251</A>] and
<A NAME=11729> </A>
Agrawal, Sussman, and Saltz [<A HREF="node132.html#Saltz1" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#Saltz1">6</A>] describe techniques for
irregular problems. Subhlok et al. [<A HREF="node132.html#SSOGPPOPP93" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#SSOGPPOPP93">273</A>] generate
pipeline parallelism automatically from HPF code augmented with
additional directives. Foster [<A HREF="node132.html#FPDT" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#FPDT">100</A>] discusses issues relating
<A NAME=11733> </A>
to the integration of task parallelism. Chandy et al. [<A HREF="node132.html#IJSA" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node132.html#IJSA">52</A>]
address the integration of HPF and Fortran M.
<P>
<P>
Here is a
<A HREF="msgs0.htm#14" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#14">Web Tour</A>
providing access to additional information on programming in High
Performance Fortran, including a specification, information about
compilers, and example programs.
<P>
<A NAME=11742> </A>
<P>
<BR> <HR><a href="msgs0.htm#2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#2"><img ALIGN=MIDDLE src="asm_color_tiny.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/asm_color_tiny.gif" alt="[DBPP]"></a> <A NAME=tex2html3072 HREF="node92.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node92.html"><IMG ALIGN=MIDDLE ALT="previous" SRC="previous_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/previous_motif.gif"></A> <A NAME=tex2html3078 HREF="node94.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node94.html"><IMG ALIGN=MIDDLE ALT="next" SRC="next_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/next_motif.gif"></A> <A NAME=tex2html3076 HREF="node82.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node82.html"><IMG ALIGN=MIDDLE ALT="up" SRC="up_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/up_motif.gif"></A> <A NAME=tex2html3080 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html"><IMG ALIGN=MIDDLE ALT="contents" SRC="contents_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/contents_motif.gif"></A> <A NAME=tex2html3081 HREF="node133.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node133.html"><IMG ALIGN=MIDDLE ALT="index" SRC="index_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/index_motif.gif"></A> <a href="msgs0.htm#3" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#3"><img ALIGN=MIDDLE src="search_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/search_motif.gif" alt="[Search]"></a> <BR>
<B> Next:</B> <A NAME=tex2html3079 HREF="node94.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node94.html">8 Message Passing Interface</A>
<B>Up:</B> <A NAME=tex2html3077 HREF="node82.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node82.html">7 High Performance Fortran</A>
<B> Previous:</B> <A NAME=tex2html3073 HREF="node92.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node92.html"> Exercises</A>
<BR><HR><P>
<P><ADDRESS>
<I>© Copyright 1995 by <A href="msgs0.htm#6" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#6">Ian Foster</a></I>
</ADDRESS>
</BODY>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -