Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

INTRO(3P)  —  UNIX Programmer’s Manual

NAME

intro − introduction to Parallel Programming Library

DESCRIPTION

These routines constitute the Parallel Programming Library, which supports microtasking and multitasking in C, Pascal, and FORTRAN programs. (For information on microtasking and multitasking programming models, refer to the Guide to Parallel Programming.) The Parallel Programming Library is not supported under System V (att universe). 

The routines are contained in the file /usr/lib/libpps.a. These routines are linked into a program by including the −lpps option in the cc or ld command line, or by including the −lpps or −mp option in the fortran or pascal command line. 

For an overview of how the Parallel Programming Library routines are used, and for sample programs and related information, refer to the Guide to Parallel Programming.

LIST OF FUNCTIONS

The following routines support microtasking:

NameAppears on PageDescription
m_forkm_fork.3pexecute a subprogram in parallel
m_get_myidm_get_myid.3preturn process identification
m_get_numprocsm_get_numprocs.3pget number of child processes
m_kill_procsm_kill_procs.3pkill child processes
m_lockm_lock.3pinitialize and lock a lock
m_multim_single.3pend single-process section
m_nextm_next.3pincrement global counter
m_park_procsm_park_procs.3psuspend child process execution
m_rele_procsm_park_procs.3presume child process execution
m_set_procsm_set_procs.3pset number of child processes
m_singlem_single.3pstart single-process section
m_syncm_sync.3pcheck in at barrier
m_unlockm_lock.3punlock a lock

The following routines support multitasking:

NameAppears on PageDescription
cpus_onlinecpus_online.3preturn number of CPUs on-line
s_clocks_lock.3plock a lock, return if unsuccessful
S_CLOCKs_lock.3plock a lock, return if unsuccessful (C macro)
s_init_barriers_wait_barrier.3pinitialize a barrier
S_INIT_BARRIERs_wait_barrier.3pinitialize a barrier (C macro)
s_init_locks_lock.3pinitialize a lock
S_INIT_LOCKs_lock.3pinitialize a lock (C macro)
s_locks_lock.3plock a lock
S_LOCKs_lock.3plock a lock (C macro)
s_unlocks_lock.3punlock a lock
S_UNLOCKs_lock.3punlock a lock (C macro)
s_wait_barriers_wait_barrier.3pwait at a barrier
S_WAIT_BARRIERs_wait_barrier.3pwait at a barrier (C macro)

The following routines support memory allocation for parallel programming. The brk and sbrk routines are available without loading the Parallel Programming library (see brk(2)), but the versions in the Parallel Programming library are necessary for compatibility with the rest of the library.

NameAppears on PageDescription
brkbrk.3pchange private data segment size
sbrkbrk.3pchange private data segment size
shbrkshbrk.3pchange shared data segment size
shfreeshmalloc.3pdeallocate shared data memory
shmallocshmalloc.3pallocate shared data memory
shreallocshmalloc.3preallocate shared data memory
shsbrkshbrk.3pchange shared data segment size

DYNIX

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026