base/modules/Makefile
 base/modules/psb_gen_block_map_mod.f90
 base/modules/psb_hash_map_mod.f90
 docs/html/footnode.html
 docs/html/img1.png
 docs/html/img10.png
 docs/html/img100.png
 docs/html/img101.png
 docs/html/img102.png
 docs/html/img103.png
 docs/html/img104.png
 docs/html/img105.png
 docs/html/img106.png
 docs/html/img107.png
 docs/html/img108.png
 docs/html/img109.png
 docs/html/img11.png
 docs/html/img110.png
 docs/html/img111.png
 docs/html/img112.png
 docs/html/img113.png
 docs/html/img114.png
 docs/html/img115.png
 docs/html/img116.png
 docs/html/img117.png
 docs/html/img118.png
 docs/html/img119.png
 docs/html/img12.png
 docs/html/img120.png
 docs/html/img121.png
 docs/html/img122.png
 docs/html/img123.png
 docs/html/img124.png
 docs/html/img125.png
 docs/html/img126.png
 docs/html/img127.png
 docs/html/img128.png
 docs/html/img129.png
 docs/html/img13.png
 docs/html/img130.png
 docs/html/img131.png
 docs/html/img132.png
 docs/html/img133.png
 docs/html/img134.png
 docs/html/img135.png
 docs/html/img136.png
 docs/html/img137.png
 docs/html/img138.png
 docs/html/img139.png
 docs/html/img14.png
 docs/html/img140.png
 docs/html/img141.png
 docs/html/img142.png
 docs/html/img143.png
 docs/html/img144.png
 docs/html/img145.png
 docs/html/img146.png
 docs/html/img147.png
 docs/html/img148.png
 docs/html/img15.png
 docs/html/img16.png
 docs/html/img17.png
 docs/html/img18.png
 docs/html/img2.png
 docs/html/img20.png
 docs/html/img22.png
 docs/html/img23.png
 docs/html/img24.png
 docs/html/img25.png
 docs/html/img26.png
 docs/html/img27.png
 docs/html/img28.png
 docs/html/img29.png
 docs/html/img3.png
 docs/html/img30.png
 docs/html/img31.png
 docs/html/img32.png
 docs/html/img33.png
 docs/html/img34.png
 docs/html/img35.png
 docs/html/img36.png
 docs/html/img37.png
 docs/html/img38.png
 docs/html/img39.png
 docs/html/img4.png
 docs/html/img40.png
 docs/html/img41.png
 docs/html/img42.png
 docs/html/img43.png
 docs/html/img44.png
 docs/html/img45.png
 docs/html/img46.png
 docs/html/img47.png
 docs/html/img48.png
 docs/html/img49.png
 docs/html/img5.png
 docs/html/img50.png
 docs/html/img51.png
 docs/html/img52.png
 docs/html/img53.png
 docs/html/img54.png
 docs/html/img55.png
 docs/html/img56.png
 docs/html/img57.png
 docs/html/img58.png
 docs/html/img59.png
 docs/html/img6.png
 docs/html/img60.png
 docs/html/img61.png
 docs/html/img62.png
 docs/html/img63.png
 docs/html/img64.png
 docs/html/img65.png
 docs/html/img66.png
 docs/html/img67.png
 docs/html/img68.png
 docs/html/img69.png
 docs/html/img7.png
 docs/html/img70.png
 docs/html/img71.png
 docs/html/img72.png
 docs/html/img73.png
 docs/html/img74.png
 docs/html/img75.png
 docs/html/img76.png
 docs/html/img77.png
 docs/html/img78.png
 docs/html/img79.png
 docs/html/img8.png
 docs/html/img80.png
 docs/html/img81.png
 docs/html/img82.png
 docs/html/img83.png
 docs/html/img84.png
 docs/html/img85.png
 docs/html/img86.png
 docs/html/img87.png
 docs/html/img88.png
 docs/html/img89.png
 docs/html/img9.png
 docs/html/img90.png
 docs/html/img91.png
 docs/html/img92.png
 docs/html/img93.png
 docs/html/img94.png
 docs/html/img95.png
 docs/html/img96.png
 docs/html/img97.png
 docs/html/img98.png
 docs/html/img99.png
 docs/html/index.html
 docs/html/node1.html
 docs/html/node10.html
 docs/html/node100.html
 docs/html/node101.html
 docs/html/node102.html
 docs/html/node103.html
 docs/html/node104.html
 docs/html/node105.html
 docs/html/node106.html
 docs/html/node107.html
 docs/html/node108.html
 docs/html/node109.html
 docs/html/node11.html
 docs/html/node110.html
 docs/html/node111.html
 docs/html/node112.html
 docs/html/node113.html
 docs/html/node114.html
 docs/html/node115.html
 docs/html/node116.html
 docs/html/node117.html
 docs/html/node118.html
 docs/html/node119.html
 docs/html/node12.html
 docs/html/node13.html
 docs/html/node14.html
 docs/html/node15.html
 docs/html/node16.html
 docs/html/node17.html
 docs/html/node18.html
 docs/html/node19.html
 docs/html/node2.html
 docs/html/node20.html
 docs/html/node21.html
 docs/html/node22.html
 docs/html/node23.html
 docs/html/node24.html
 docs/html/node25.html
 docs/html/node26.html
 docs/html/node27.html
 docs/html/node28.html
 docs/html/node29.html
 docs/html/node3.html
 docs/html/node30.html
 docs/html/node31.html
 docs/html/node32.html
 docs/html/node33.html
 docs/html/node34.html
 docs/html/node35.html
 docs/html/node36.html
 docs/html/node37.html
 docs/html/node38.html
 docs/html/node39.html
 docs/html/node4.html
 docs/html/node40.html
 docs/html/node41.html
 docs/html/node42.html
 docs/html/node43.html
 docs/html/node44.html
 docs/html/node45.html
 docs/html/node46.html
 docs/html/node47.html
 docs/html/node48.html
 docs/html/node49.html
 docs/html/node5.html
 docs/html/node50.html
 docs/html/node51.html
 docs/html/node52.html
 docs/html/node53.html
 docs/html/node54.html
 docs/html/node55.html
 docs/html/node56.html
 docs/html/node57.html
 docs/html/node58.html
 docs/html/node59.html
 docs/html/node6.html
 docs/html/node60.html
 docs/html/node61.html
 docs/html/node62.html
 docs/html/node63.html
 docs/html/node64.html
 docs/html/node65.html
 docs/html/node66.html
 docs/html/node67.html
 docs/html/node68.html
 docs/html/node69.html
 docs/html/node7.html
 docs/html/node70.html
 docs/html/node71.html
 docs/html/node72.html
 docs/html/node73.html
 docs/html/node74.html
 docs/html/node75.html
 docs/html/node76.html
 docs/html/node77.html
 docs/html/node78.html
 docs/html/node79.html
 docs/html/node8.html
 docs/html/node80.html
 docs/html/node81.html
 docs/html/node82.html
 docs/html/node83.html
 docs/html/node84.html
 docs/html/node85.html
 docs/html/node86.html
 docs/html/node87.html
 docs/html/node88.html
 docs/html/node89.html
 docs/html/node9.html
 docs/html/node90.html
 docs/html/node91.html
 docs/html/node92.html
 docs/html/node93.html
 docs/html/node94.html
 docs/html/node95.html
 docs/html/node96.html
 docs/html/node97.html
 docs/html/node98.html
 docs/html/node99.html
 docs/html/userhtml.html
 docs/psblas-3.0.pdf
 docs/src/biblio.tex
 docs/src/datastruct.tex
 docs/src/intro.tex
 test/fileread/df_sample.f90
 test/fileread/runs/dfs.inp
 test/pargen/ppde.f90
 test/pargen/spde.f90

1. Worked on documentation.
2. Fixed performance problem with gen_block_map: changed to use a hash
internally. 
3. Changed ppde to implement a convection-diffusion problem with
centered differences.
This commit is contained in:
Salvatore Filippone
2012-02-11 11:57:43 +00:00
parent 52714393a0
commit b0e6f32827
279 changed files with 20418 additions and 20328 deletions
+119 -58
View File
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Data Structures</TITLE>
<META NAME="description" CONTENT="Data Structures">
<TITLE>Data Structures and Classes</TITLE>
<META NAME="description" CONTENT="Data Structures and Classes">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@@ -18,7 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node26.html">
<LINK REL="next" HREF="node37.html">
<LINK REL="previous" HREF="node3.html">
<LINK REL="up" HREF="userhtml.html">
<LINK REL="next" HREF="node9.html">
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html256"
<A NAME="tex2html268"
HREF="node9.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html252"
<A NAME="tex2html264"
HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html246"
<A NAME="tex2html258"
HREF="node7.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html254"
<A NAME="tex2html266"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html257"
<B> Next:</B> <A NAME="tex2html269"
HREF="node9.html">Descriptor data structure</A>
<B> Up:</B> <A NAME="tex2html253"
<B> Up:</B> <A NAME="tex2html265"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html247"
<B> Previous:</B> <A NAME="tex2html259"
HREF="node7.html">Programming model</A>
&nbsp; <B> <A NAME="tex2html255"
&nbsp; <B> <A NAME="tex2html267"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
@@ -54,7 +54,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<H1><A NAME="SECTION00040000000000000000"></A>
<A NAME="sec:datastruct"></A>
<BR>
Data Structures
Data Structures and Classes
</H1>
<P>
@@ -62,9 +62,11 @@ In this chapter we illustrate the data structures used for definition of
routines interfaces. They include data structures for sparse matrices,
communication descriptors and preconditioners.
<P>
All the data types and the basic subroutine interfaces are defined in
All the data types and the basic subroutine interfaces related to
descriptors and sparse matrices are defined in
the module <code>psb_base_mod</code>; this will have to be included by every
user subroutine that makes use of the library.
user subroutine that makes use of the library. The preconditioners are
defined in the module <code>psb_prec_mod</code>
<P>
Real and complex data types are parametrized with a kind type defined
@@ -80,10 +82,19 @@ in the library as follows:
data; corresponds to a <code>DOUBLE PRECISION</code> declaration and is
normally 8 bytes.
</DD>
<DT><STRONG>psb_long_int_k_</STRONG></DT>
<DD>Kind parameter for long integers, used by
the <code>psb_sizeof</code> utility.
</DD>
</DL>
Moreover, the library defines a long integer kind
<code>psb_long_int_k_</code> which normally corresponds to 64-bit integers;
it is only used for the <code>psb_sizeof</code> utility.
Together with the classes attributes we also discuss their
methods. Most methods detailed here only act on the local variable,
i.e. their action is purely local and asynchronous unless otherwise
stated.
The list of methods here is not completely exhaustive; many methods,
especially those that alter the contents of the various objects, are
usually not needed by the end-user, and therefore are described in the
developer's documentation.
<P>
<BR><HR>
@@ -91,59 +102,109 @@ it is only used for the <code>psb_sizeof</code> utility.
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html258"
<LI><A NAME="tex2html270"
HREF="node9.html">Descriptor data structure</A>
<UL>
<LI><A NAME="tex2html259"
HREF="node10.html">Named Constants</A>
<LI><A NAME="tex2html271"
HREF="node10.html">Methods</A>
<LI><A NAME="tex2html272"
HREF="node11.html">get_local_rows -- Get number of local rows</A>
<LI><A NAME="tex2html273"
HREF="node12.html">get_local_cols -- Get number of local cols</A>
<LI><A NAME="tex2html274"
HREF="node13.html">get_global_rows -- Get number of global rows</A>
<LI><A NAME="tex2html275"
HREF="node14.html">get_global_cols -- Get number of global cols</A>
</UL>
<BR>
<LI><A NAME="tex2html260"
HREF="node11.html">Sparse Matrix data structure</A>
<UL>
<LI><A NAME="tex2html261"
HREF="node12.html">Named Constants</A>
</UL>
<BR>
<LI><A NAME="tex2html262"
HREF="node13.html">Dense Vector Data Structure</A>
<LI><A NAME="tex2html263"
HREF="node14.html">Preconditioner data structure</A>
<LI><A NAME="tex2html264"
HREF="node15.html">Data structure query routines</A>
<UL>
<LI><A NAME="tex2html265"
HREF="node16.html">get_local_rows -- Get number of local rows</A>
<LI><A NAME="tex2html266"
HREF="node17.html">get_local_cols -- Get number of local cols</A>
<LI><A NAME="tex2html267"
HREF="node18.html">get_global_rows -- Get number of global rows</A>
<LI><A NAME="tex2html268"
HREF="node19.html">get_global_cols -- Get number of global cols</A>
</UL>
<BR>
<LI><A NAME="tex2html269"
HREF="node20.html">
<LI><A NAME="tex2html276"
HREF="node15.html">
<DIV ALIGN="LEFT">
get_context--Get communication context
</DIV></A>
<UL>
<LI><A NAME="tex2html270"
HREF="node21.html">psb_cd_get_large_threshold -- Get threshold for
<LI><A NAME="tex2html277"
HREF="node16.html">psb_cd_get_large_threshold -- Get threshold for
index mapping switch</A>
<LI><A NAME="tex2html271"
HREF="node22.html">psb_cd_set_large_threshold -- Set threshold for
<LI><A NAME="tex2html278"
HREF="node17.html">psb_cd_set_large_threshold -- Set threshold for
index mapping switch</A>
<LI><A NAME="tex2html272"
HREF="node23.html">get_nrows -- Get number of rows in a sparse matrix</A>
<LI><A NAME="tex2html273"
HREF="node24.html">get_ncols -- Get number of columns in a sparse matrix</A>
<LI><A NAME="tex2html274"
HREF="node25.html">get_nnzeros -- Get number of nonzero elements
<LI><A NAME="tex2html279"
HREF="node18.html">Named Constants</A>
</UL>
<BR>
<LI><A NAME="tex2html280"
HREF="node19.html">Sparse Matrix class</A>
<UL>
<LI><A NAME="tex2html281"
HREF="node20.html">Methods</A>
<LI><A NAME="tex2html282"
HREF="node21.html">get_nrows -- Get number of rows in a sparse matrix</A>
<LI><A NAME="tex2html283"
HREF="node22.html">get_ncols -- Get number of columns in a sparse matrix</A>
<LI><A NAME="tex2html284"
HREF="node23.html">get_nnzeros -- Get number of nonzero elements
in a sparse matrix</A>
</UL></UL>
<LI><A NAME="tex2html285"
HREF="node24.html">get_size -- Get maximum number of nonzero elements
in a sparse matrix</A>
<LI><A NAME="tex2html286"
HREF="node25.html">sizeof -- Get memory occupation in bytes
of a sparse matrix</A>
<LI><A NAME="tex2html287"
HREF="node26.html">get_fmt -- Short description of the dynamic type</A>
<LI><A NAME="tex2html288"
HREF="node27.html">is_bld, is_upd, is_asb -- Status check</A>
<LI><A NAME="tex2html289"
HREF="node28.html">Named Constants</A>
</UL>
<BR>
<LI><A NAME="tex2html290"
HREF="node29.html">Dense Vector Data Structure</A>
<UL>
<LI><A NAME="tex2html291"
HREF="node30.html">Methods</A>
<LI><A NAME="tex2html292"
HREF="node31.html">get_nrows -- Get number of rows in a dense vector</A>
<LI><A NAME="tex2html293"
HREF="node32.html">get_ncols -- Get number of columns in a sparse matrix</A>
<LI><A NAME="tex2html294"
HREF="node33.html">sizeof -- Get memory occupation in bytes
of a dense vector matrix</A>
<LI><A NAME="tex2html295"
HREF="node34.html">get_vect -- Get a copy of the vector contents</A>
</UL>
<BR>
<LI><A NAME="tex2html296"
HREF="node35.html">Preconditioner data structure</A>
<LI><A NAME="tex2html297"
HREF="node36.html">Data structure Methods</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html268"
HREF="node9.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html264"
HREF="userhtml.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html258"
HREF="node7.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html266"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html269"
HREF="node9.html">Descriptor data structure</A>
<B> Up:</B> <A NAME="tex2html265"
HREF="userhtml.html">userhtml</A>
<B> Previous:</B> <A NAME="tex2html259"
HREF="node7.html">Programming model</A>
&nbsp; <B> <A NAME="tex2html267"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
</BODY>
</HTML>