You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
psblas3/docs/html/node7.html

124 lines
4.2 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Programming model</TITLE>
<META NAME="description" CONTENT="Programming model">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="previous" HREF="node6.html">
<LINK REL="up" HREF="node3.html">
<LINK REL="next" HREF="node8.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html242"
HREF="node8.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html238"
HREF="node3.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html234"
HREF="node6.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html240"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html243"
HREF="node8.html">Data Structures</A>
<B> Up:</B> <A NAME="tex2html239"
HREF="node3.html">General overview</A>
<B> Previous:</B> <A NAME="tex2html235"
HREF="node6.html">Application structure</A>
&nbsp; <B> <A NAME="tex2html241"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00034000000000000000">
Programming model</A>
</H2>
<P>
The PSBLAS librarary is based on the Single Program Multiple Data
(SPMD) programming model: each process participating in the
computation performs the same actions on a chunk of data. Parallelism
is thus data-driven.
<P>
Because of this structure, many subroutines coordinate their action
across the various processes, thus providing an implicit
synchronization point, and therefore <I>must</I> be
called simultaneously by all processes participating in the
computation. This is certainly true for the data allocation and
assembly routines, for all the computational routines and for some of
the tools routines.
<P>
However there are many cases where no synchronization, and indeed no
communication among processes, is implied; for instance, all the routines in
sec.&nbsp;<A HREF="node14.html#sec:dataquery">3.4</A> are only acting on the local data structures,
and thus may be called independently. The most important case is that
of the coefficient insertion routines: since the number of
coefficients in the sparse and dense matrices varies among the
processors, and since the user is free to choose an arbitrary order in
builiding the matrix entries, these routines cannot imply a
synchronization.
<P>
Throughout this user's guide each subroutine will be clearly indicated
as:
<DL>
<DT><STRONG>Synchronous:</STRONG></DT>
<DD>must be called simultaneously by all the
processes in the relevant communication context;
</DD>
<DT><STRONG>Asynchronous:</STRONG></DT>
<DD>may be called in a totally independent manner.
</DD>
</DL>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html242"
HREF="node8.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html238"
HREF="node3.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html234"
HREF="node6.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html240"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html243"
HREF="node8.html">Data Structures</A>
<B> Up:</B> <A NAME="tex2html239"
HREF="node3.html">General overview</A>
<B> Previous:</B> <A NAME="tex2html235"
HREF="node6.html">Application structure</A>
&nbsp; <B> <A NAME="tex2html241"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
</BODY>
</HTML>