⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 node82.html

📁 Design and building parallel program
💻 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>7 High Performance Fortran</TITLE>
</HEAD>
<BODY>
<meta name="description" value="7 High Performance Fortran">
<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=tex2html2929 HREF="node81.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node81.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=tex2html2937 HREF="node83.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node83.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=tex2html2935 HREF="node49.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node49.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=tex2html2939 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=tex2html2940 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=tex2html2938 HREF="node83.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node83.html">7.1 Data Parallelism</A>
<B>Up:</B> <A NAME=tex2html2936 HREF="node49.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node49.html">Part II: Tools</A>
<B> Previous:</B> <A NAME=tex2html2930 HREF="node81.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node81.html"> Chapter Notes</A>
<BR><HR><P>
<H1><A NAME=SECTION03400000000000000000>7 High Performance Fortran</A></H1>
<P>
<A NAME=chaphpf>&#160;</A>
<P>
<A NAME=10583>&#160;</A>
The term <em> data parallelism
 </em> refers to the concurrency that is
<A NAME=10585>&#160;</A>
obtained when the same operation is applied to some or all elements of
a data ensemble.  A data-parallel program is a sequence of such
<A NAME=11743>&#160;</A>
operations.  A parallel algorithm is obtained from a data-parallel
program by applying domain decomposition techniques to the data
structures operated on.  Operations are then partitioned, often
according to the ``owner computes'' rule, in which the processor that
``owns'' a value
<A NAME=10587>&#160;</A>
is responsible for updating that value.  Typically, the programmer is
responsible for specifying the domain decomposition, but the compiler
partitions the computation automatically.
<P>
In this chapter, we introduce the key concepts of data-parallel
programming and show how designs developed using the techniques
discussed in Part I can be adapted for data-parallel execution.  We
base our presentation on the languages Fortran 90 (F90) and High
Performance Fortran (HPF). Many of the ideas also apply to other
<A NAME=10588>&#160;</A>
data-parallel languages, such as C* and pC++
 .  F90 provides
<A NAME=10589>&#160;</A>
constructs for specifying concurrent execution but not domain
decomposition.  HPF augments F90 with additional parallel constructs
and data placement directives, which allow many HPF programs to be
compiled with reasonable efficiency for a range of parallel computers.
<P>
After studying this chapter, you should know to write simple
data-parallel programs using HPF.  You should also understand how the
design principles developed in Part I relate to data-parallel
programs, and you should be able to evaluate the impact of HPF's data
placement directives on performance.  Finally, you should be able to
determine when algorithms are suitable for data-parallel
implementation.
<P>

<HR>
<UL> 
<LI> <A NAME=tex2html2941 HREF="node83.html#SECTION03410000000000000000" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node83.html#SECTION03410000000000000000">7.1 Data Parallelism</A>
<LI> <A NAME=tex2html2942 HREF="node84.html#SECTION03420000000000000000" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node84.html#SECTION03420000000000000000">7.2 Fortran 90</A>
<LI> <A NAME=tex2html2943 HREF="node85.html#SECTION03430000000000000000" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node85.html#SECTION03430000000000000000">7.3 Data Distribution</A>
<LI> <A NAME=tex2html2944 HREF="node86.html#SECTION03440000000000000000" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node86.html#SECTION03440000000000000000">7.4 Concurrency</A>
<LI> <A NAME=tex2html2945 HREF="node87.html#SECTION03450000000000000000" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node87.html#SECTION03450000000000000000">7.5 Dummy Arguments and Modularity</A>
<LI> <A NAME=tex2html2946 HREF="node88.html#SECTION03460000000000000000" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node88.html#SECTION03460000000000000000">7.6 Other HPF Features</A>
<LI> <A NAME=tex2html2947 HREF="node89.html#SECTION03470000000000000000" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node89.html#SECTION03470000000000000000">7.7 Performance Issues</A>
<LI> <A NAME=tex2html2948 HREF="node90.html#SECTION03480000000000000000" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node90.html#SECTION03480000000000000000">7.8 Case Study: Gaussian Elimination</A>
<LI> <A NAME=tex2html2949 HREF="node91.html#SECTION03490000000000000000" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node91.html#SECTION03490000000000000000">7.9 Summary</A>
<LI> <A NAME=tex2html2950 HREF="node92.html#SECTION034100000000000000000" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node92.html#SECTION034100000000000000000"> Exercises</A>
<LI> <A NAME=tex2html2951 HREF="node93.html#SECTION034110000000000000000" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node93.html#SECTION034110000000000000000"> Chapter Notes</A>
</UL>
<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=tex2html2929 HREF="node81.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node81.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=tex2html2937 HREF="node83.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node83.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=tex2html2935 HREF="node49.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node49.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=tex2html2939 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=tex2html2940 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=tex2html2938 HREF="node83.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node83.html">7.1 Data Parallelism</A>
<B>Up:</B> <A NAME=tex2html2936 HREF="node49.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node49.html">Part II: Tools</A>
<B> Previous:</B> <A NAME=tex2html2930 HREF="node81.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node81.html"> Chapter Notes</A>
<BR><HR><P>
<P><ADDRESS>
<I>&#169 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 + -