INTRO(3P)

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:

Name	Appears on Page	Description

m_fork	m_fork.3p	execute a subprogram in parallel
m_get_myid	m_get_myid.3p	return process identification
m_get_numprocs	m_get_numprocs.3p	get number of child processes
m_kill_procs	m_kill_procs.3p	kill child processes
m_lock	m_lock.3p	initialize and lock a lock
m_multi	m_single.3p	end single-process section
m_next	m_next.3p	increment global counter
m_park_procs	m_park_procs.3p	suspend child process execution
m_rele_procs	m_park_procs.3p	resume child process execution
m_set_procs	m_set_procs.3p	set number of child processes
m_single	m_single.3p	start single-process section
m_sync	m_sync.3p	check in at barrier
m_unlock	m_lock.3p	unlock a lock

The following routines support multitasking:

Name	Appears on Page	Description

cpus_online	cpus_online.3p	return number of CPUs on-line
s_clock	s_lock.3p	lock a lock, return if unsuccessful
S_CLOCK	s_lock.3p	lock a lock, return if unsuccessful (C macro)
s_init_barrier	s_wait_barrier.3p	initialize a barrier
S_INIT_BARRIER	s_wait_barrier.3p	initialize a barrier (C macro)
s_init_lock	s_lock.3p	initialize a lock
S_INIT_LOCK	s_lock.3p	initialize a lock (C macro)
s_lock	s_lock.3p	lock a lock
S_LOCK	s_lock.3p	lock a lock (C macro)
s_unlock	s_lock.3p	unlock a lock
S_UNLOCK	s_lock.3p	unlock a lock (C macro)
s_wait_barrier	s_wait_barrier.3p	wait at a barrier
S_WAIT_BARRIER	s_wait_barrier.3p	wait 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.
Name	Appears on Page	Description

brk	brk.3p	change private data segment size
sbrk	brk.3p	change private data segment size
shbrk	shbrk.3p	change shared data segment size
shfree	shmalloc.3p	deallocate shared data memory
shmalloc	shmalloc.3p	allocate shared data memory
shrealloc	shmalloc.3p	reallocate shared data memory
shsbrk	shbrk.3p	change shared data segment size