\makelabel{pargap:Writing Parallel Programs in GAP Easily}{1} \makelabel{pargap:Overview of ParGAP}{1.1} \makelabel{pargap:Installing ParGAP}{1.2} \makelabel{pargap:Running ParGAP}{1.3} \makelabel{pargap:Extended Example}{1.4} \makelabel{pargap:Author}{1.5} \makelabel{pargap:Invoking ParGAP with Remote Slaves}{1.6} \makelabel{pargap:Problems with Installation}{1.7} \makelabel{pargap:Problems with Hosts on Multiple Networks}{1.8} \makelabel{pargap:Problems with Passwords (Getting Around Security)}{1.9} \makelabel{pargap:Modifying the GAP kernel}{1.10} \makelabel{pargap:Slave Listener}{2} \makelabel{pargap:Slave Listener Commands}{2.1} \makelabel{pargap:SendMsg}{2.1.1} \makelabel{pargap:RecvMsg}{2.1.2} \makelabel{pargap:GetLastMsgSource}{2.1.3} \makelabel{pargap:GetLastMsgTag}{2.1.4} \makelabel{pargap:SendRecvMsg}{2.1.5} \makelabel{pargap:BroadcastMsg}{2.1.6} \makelabel{pargap:IsMaster}{2.1.7} \makelabel{pargap:FlushAllMsgs}{2.1.8} \makelabel{pargap:PingSlave}{2.1.9} \makelabel{pargap:ParEval}{2.1.10} \makelabel{pargap:PrintToString}{2.1.11} \makelabel{pargap:ParRead}{2.1.12} \makelabel{pargap:ParReread}{2.1.12} \makelabel{pargap:ParList}{2.1.13} \makelabel{pargap:ProbeMsg}{2.1.14} \makelabel{pargap:ProbeMsgNonBlocking}{2.1.15} \makelabel{pargap:ParReset}{2.1.16} \makelabel{pargap:ParBindGlobal}{2.1.17} \makelabel{pargap:ParDeclareGlobalValue}{2.1.18} \makelabel{pargap:ParDeclareGlobalFunction}{2.1.18} \makelabel{pargap:ParInstallValue}{2.1.19} \makelabel{pargap:ParInstallValue}{2.1.19} \makelabel{pargap:ParInstallGlobalFunction}{2.1.19} \makelabel{pargap:ParInstallGlobalFunction}{2.1.19} \makelabel{pargap:Basic Concepts for the TOP-C model (MasterSlave)}{3} \makelabel{pargap:Basic TOP-C (Master-Slave) commands}{3.1} \makelabel{pargap:MasterSlave}{3.1.1} \makelabel{pargap:NOTASK}{3.1.2} \makelabel{pargap:NO_ACTION}{3.1.3} \makelabel{pargap:UPDATE_ACTION}{3.1.3} \makelabel{pargap:REDO_ACTION}{3.1.3} \makelabel{pargap:CONTINUATION_ACTION}{3.1.3} \makelabel{pargap:IsUpToDate}{3.1.4} \makelabel{pargap:ParInstallTOPCGlobalFunction}{3.1.5} \makelabel{pargap:ParInstallTOPCGlobalFunction}{3.1.5} \makelabel{pargap:Other TOP-C Commands}{3.2} \makelabel{pargap:Simple Usage of MasterSlave()}{3.3} \makelabel{pargap:Efficient Parallelism in MasterSlave() using CheckTaskResult()}{3.4} \makelabel{pargap:Modifying Task Output or Input (a dirty trick)}{3.5} \makelabel{pargap:The GOTO statement of the TOP-C model}{3.6} \makelabel{pargap:CONTINUATION_ACTION!definition}{3.6.1} \makelabel{pargap:Being nice to other users (Nice, Alarm and LimitRss)}{3.7} \makelabel{pargap:UNIX_Nice!definition}{3.7.1} \makelabel{pargap:UNIX_Alarm!definition}{3.7.2} \makelabel{pargap:UNIX_LimitRss!definition}{3.7.3} \makelabel{pargap:Converting legacy sequential code to the TOP-C model}{3.8} \makelabel{pargap:Tutorial}{4} \makelabel{pargap:Trivial Parallelism}{4.1} \makelabel{pargap:Using ParGAP interactively}{4.2} \makelabel{pargap:Streaming}{4.3} \makelabel{pargap:TOP-C model for non-trivial parallelism}{4.4} \makelabel{pargap:MasterSlave Tutorial}{5} \makelabel{pargap:A simple example}{5.1} \makelabel{pargap:ParSquare}{5.2} \makelabel{pargap:ParInstallTOPCGlobalFunction() and TaskInputIterator() (ParSquare revisited)}{5.3} \makelabel{pargap:ParInstallTOPCGlobalFunction!definition}{5.3.1} \makelabel{pargap:TaskInputIterator}{5.3.2} \makelabel{pargap:ParMultMat}{5.4} \makelabel{pargap:DefaultCheckTaskResult (as illustrated by ParSemiEchelonMatrix)}{5.5} \makelabel{pargap:Caching slave task outputs (ParSemiEchelonMat revisited)}{5.6} \makelabel{pargap:Agglomerating tasks for efficiency (ParSemiEchelonMat revisited again)}{5.7} \makelabel{pargap:TaskAgglomIndex}{5.7.1} \makelabel{pargap:Raw MasterSlave (ParMultMat revisited)}{5.8} \makelabel{pargap:BeginRawMasterSlave}{5.8.1} \makelabel{pargap:RawSubmitTaskInput}{5.8.1} \makelabel{pargap:EndRawMasterSlave}{5.8.1} \makelabel{pargap:Advanced Concepts for TOP-C model (MasterSlave)}{6} \makelabel{pargap:Tracing and Debugging}{6.1} \makelabel{pargap:ParTrace}{6.1.1} \makelabel{pargap:UNIX_FflushStdout!definition}{6.1.2} \makelabel{pargap:SeqMasterSlave!definition}{6.1.3} \makelabel{pargap:Efficiency Considerations}{6.2} \makelabel{pargap:MasterSlaveStats}{6.2.1} \makelabel{pargap:Checkpointing in TOP-C}{6.3} \makelabel{pargap:MasterSlavePendingTaskInputs}{6.3.1} \makelabel{pargap:When Should a Slave Process be Considered Dead?}{6.4} \makelabel{pargap:MPI commands and UNIX system calls in ParGAP}{7} \makelabel{pargap:Tutorial introduction to the MPI C library}{7.1} \makelabel{pargap:MPI_Init!example}{7.1.1} \makelabel{pargap:MPI_Finalize!example}{7.1.1} \makelabel{pargap:MPI_Comm_rank!example}{7.1.1} \makelabel{pargap:MPI_Get_count!example}{7.1.1} \makelabel{pargap:MPI_Get_source!example}{7.1.1} \makelabel{pargap:MPI_Get_tag!example}{7.1.1} \makelabel{pargap:MPI_Comm_size!example}{7.1.1} \makelabel{pargap:MPI_Send!example}{7.1.1} \makelabel{pargap:MPI_Recv!example}{7.1.1} \makelabel{pargap:MPI_Probe!example}{7.1.1} \makelabel{pargap:Other low level commands}{7.2} \makelabel{pargap:UNIX_MakeString}{7.2.1} \makelabel{pargap:UNIX_DirectoryCurrent}{7.2.1} \makelabel{pargap:UNIX_Chdir}{7.2.1} \makelabel{pargap:UNIX_FflushStdout}{7.2.1} \makelabel{pargap:UNIX_Catch}{7.2.1} \makelabel{pargap:UNIX_Throw}{7.2.1} \makelabel{pargap:UNIX_Getpid}{7.2.1} \makelabel{pargap:UNIX_Hostname}{7.2.1} \makelabel{pargap:UNIX_Alarm}{7.2.1} \makelabel{pargap:UNIX_Realtime}{7.2.1} \makelabel{pargap:UNIX_Nice}{7.2.1} \makelabel{pargap:UNIX_LimitRss}{7.2.1} \makelabel{pargap:MPI_Init}{7.2.2} \makelabel{pargap:MPI_Initialized}{7.2.2} \makelabel{pargap:MPI_Finalize}{7.2.2} \makelabel{pargap:MPI_Comm_rank}{7.2.2} \makelabel{pargap:MPI_Get_count}{7.2.2} \makelabel{pargap:MPI_Get_source}{7.2.2} \makelabel{pargap:MPI_Get_tag}{7.2.2} \makelabel{pargap:MPI_Comm_size}{7.2.2} \makelabel{pargap:MPI_World_size}{7.2.2} \makelabel{pargap:MPI_Error_string}{7.2.2} \makelabel{pargap:MPI_Get_processor_name}{7.2.2} \makelabel{pargap:MPI_Attr_get}{7.2.2} \makelabel{pargap:MPI_Abort}{7.2.2} \makelabel{pargap:MPI_Send}{7.2.2} \makelabel{pargap:MPI_Recv}{7.2.2} \makelabel{pargap:MPI_Probe}{7.2.2} \makelabel{pargap:MPI_Iprobe}{7.2.2} \makelabel{pargap:MPI_ANY_SOURCE}{7.2.3} \makelabel{pargap:MPI_ANY_TAG}{7.2.3} \makelabel{pargap:MPI_COMM_WORLD}{7.2.3} \makelabel{pargap:MPI_TAG_UB}{7.2.3} \makelabel{pargap:MPI_HOST}{7.2.3} \makelabel{pargap:MPI_IO}{7.2.3} \makelabel{pargap:Comments?}{8} \makelabel{pargap:Bibliography}{} \makelabel{pargap:Index}{}