|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 CPUFull details, along with limitations on what subroutines can be multitasked, are described in our documentation in both Fortran and C.
.... ! do some other stuff
call MP_TASKWAIT(idtask) ! wait for push task to finish
|MacMP.f, multitasking library for Apple Macintosh in Absoft Fortran|
|MacMPf.pdf, documentation for multitasking library for Apple Macintosh in Fortran|
|MacMP.c, multitasking library for Apple Macintosh in C|
|MacMP.h, header file for multitasking library for Apple Macintosh in C|
|MacMPc.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.
Last Updated: October 11, 2005