diff options
Diffstat (limited to 'libgupc/libgupc.texi')
-rw-r--r-- | libgupc/libgupc.texi | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/libgupc/libgupc.texi b/libgupc/libgupc.texi new file mode 100644 index 00000000000..eb13093abb3 --- /dev/null +++ b/libgupc/libgupc.texi @@ -0,0 +1,215 @@ +\input texinfo @c -*-texinfo-*- + +@c %**start of header +@setfilename libgupc.info +@settitle GNU libgupc +@c %**end of header + + +@copying +Copyright @copyright{} 2006-2016 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with the +Invariant Sections being ``Funding Free Software'', the Front-Cover +texts being (a) (see below), and with the Back-Cover Texts being (b) +(see below). A copy of the license is included in the section entitled +``GNU Free Documentation License''. + +(a) The FSF's Front-Cover Text is: + + A GNU Manual + +(b) The FSF's Back-Cover Text is: + + You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. +@end copying + +@ifinfo +@dircategory GNU Libraries +@direntry +* libgupc: (libgupc). GNU UPC runtime library +@end direntry + +This manual documents the GNU implementation of the UPC runtime. +multi-platform shared-memory parallel programming in C/C++ and Fortran. + +Published by the Free Software Foundation +51 Franklin Street, Fifth Floor +Boston, MA 02110-1301 USA + +@insertcopying +@end ifinfo + + +@setchapternewpage odd + +@titlepage +@title The GNU UPC Implementation +@page +@vskip 0pt plus 1filll +@comment For the @value{version-GCC} Version* +@sp 1 +Published by the Free Software Foundation @* +51 Franklin Street, Fifth Floor@* +Boston, MA 02110-1301, USA@* +@sp 1 +@insertcopying +@end titlepage + +@summarycontents +@contents +@page + + +@node Top +@top Introduction +@cindex Introduction + +This manual documents the usage of libgupc, the GNU runtime library +implementation of the +@w{@uref{http://upc.lbl.gov/publications/upc-spec-1.3.pdf, UPC}} +language extensions for shared-memory parallel programming in C. + +@comment +@comment When you add a new menu item, please keep the right hand +@comment aligned to the same column. Do not use tabs. This provides +@comment better formatting. +@comment +@menu +* Enabling UPC:: How to enable UPC for your applications. +* Configuring Libgupc:: How to configure the UPC runtime library. +* Runtime Library Routines:: The UPC runtime application programming + interface. +* The libgupc ABI:: Notes on the external ABI presented by libgupc. +* Environment Variables:: Influencing runtime behavior with environment + variables. +* Reporting Bugs:: How to report bugs in GNU UPC. +* Copying:: GNU general public license says + how you can copy and share libgupc. +* GNU Free Documentation License:: + How you can copy and share this manual. +* Funding:: How to help assure continued work for free + software. +* Library Index:: Index of this documentation. +@end menu + +@c --------------------------------------------------------------------- +@c Enabling UPC +@c --------------------------------------------------------------------- + +@node Enabling UPC +@chapter Enabling UPC + +To activate the UPC extensions for C, the compile-time +flag @command{-fupc} must be specified. This enables the UPC language +extensions which include the @code{shared} type qualifier +and various synchronization statements such as @code{upc_barrier}. +The flag also arranges for automatic linking of the UPC runtime library +(@ref{Runtime Library Routines}). + +Alternatively, two command line drivers can be invoked: @command{upc} +and @command{gupc}. These drivers are wrappers around the @command{gcc} +and will automatically supply the @option{-fupc} option and +will default the compilation of @file{*.c} files as UPC language source. + +The @samp{libgomp} runtime library supports both a single-node +Symmetric Memory Processor (@samp{smp}) and a multi-node distributed +(@samp{portals4}) target configurations. The target configuration +is selected via the @command{configure} command when the library is +built. See @ref{Configuring Libgupc} for details. + +@c --------------------------------------------------------------------- +@c Configuring Libgupc +@c --------------------------------------------------------------------- + +@node Configuring Libgupc +@chapter Configuring Libgupc + +@menu +* SMP Configuration:: How to configure libgupc for SMP single-node + operation. +* Portals4 Configuration:: How to configure libgupc for multi-node + operation using the Portals4 communication + library. +@end menu + +@node SMP Configuration +@section SMP Configuration +@cindex Configuration +@cindex SMP Configuration + +@node Portals4 Configuration +@section Portals4 Configuration +@cindex Configuration +@cindex Portals4 Configuration + +@c --------------------------------------------------------------------- +@c Runtime Library Routines +@c --------------------------------------------------------------------- + +@node Runtime Library Routines +@chapter Runtime Library Routines + +@c --------------------------------------------------------------------- +@c The libgupc ABI +@c --------------------------------------------------------------------- + +@node The libgupc ABI +@chapter The libgupc ABI + +@c --------------------------------------------------------------------- +@c Environment Variables +@c --------------------------------------------------------------------- + +@node Environment Variables +@chapter Environment Variables + +@c --------------------------------------------------------------------- +@c +@c --------------------------------------------------------------------- + +@node Reporting Bugs +@chapter Reporting Bugs + +Bugs in the GNU UPC implementation should be reported via +@uref{http://gcc.gnu.org/bugzilla/, Bugzilla}. For all cases, please add +"UPC" to the keywords field in the bug report. + + + +@c --------------------------------------------------------------------- +@c GNU General Public License +@c --------------------------------------------------------------------- + +@include gpl_v3.texi + + + +@c --------------------------------------------------------------------- +@c GNU Free Documentation License +@c --------------------------------------------------------------------- + +@include fdl.texi + + + +@c --------------------------------------------------------------------- +@c Funding Free Software +@c --------------------------------------------------------------------- + +@include funding.texi + +@c --------------------------------------------------------------------- +@c Index +@c --------------------------------------------------------------------- + +@node Library Index +@unnumbered Library Index + +@printindex cp + +@bye |