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

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 Fortran
Text IconMacMP8f.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 IconMacMP8c.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