AppleSeed Multiprocessing Development Page
Welcome! This page is for those who want to write their own subroutines which use multiple processors on one Macintosh.

Some Macintoshes now have multiple processors. In order to make multiprocessing easier for programmers, we have written a programming library called MacMP to simplify the use of Apple's Multiprocessing Services Library (v. 2.1). MacMP is inspired by the Cray multi-tasking library, and supports subroutine level parallelism with only a few lines of code. For example to launch a subroutine called push as a task on one of the CPUs, one merely does something like:

call MP_TASKSTART(idtask,push,...    ! start push task on second CPU
....                                 ! do some other stuff
call MP_TASKWAIT(idtask)             ! wait for push task to finish
Full details, along with limitations on what subroutines can be multitasked, are described in our documentation in both Fortran and C.

Fortran:
Text IconMacMP.f, multitasking library for Apple Macintosh in Absoft Fortran
Text IconMacMPf.pdf, documentation for multitasking library for Apple Macintosh in Fortran

C:
Text IconMacMP.c, multitasking library for Apple Macintosh in C
Text IconMacMP.h, header file for multitasking library for Apple Macintosh in C
Text IconMacMPc.pdf, documentation for multitasking library for Apple Macintosh in C

Jan de Leeuw, Chairman of the UCLA Department of Statistics, has kindly supplied some simple examples of how to use this multi-tasking library.

For further questions, please consult our documentation. Also, you can email us.


AppleSeed Development Web Page | AppleSeed Multiprocessing Web Page | Back to AppleSeed

Last Updated: October 11, 2005