Multiprocessor Tasks API Functions

Multiprocessor Tasks

MPGetTaskInfo Get information about the specified MPTask.
MPGetTaskUserData Retrieves the stored user data pointer for the given task.
MPTaskInit Initialize the specified MPTask.
MPRunTask Runs the specified MPTask on the current processor core.
MPSetTaskUserData Stores a user data pointer value in the specified task.
MPTermTask Stops and finalizes the specified MPTask.

Multiprocessor Task Queues

MPDequeTask Dequeues a task from the specified MPTaskQ.
MPDequeTasks Dequeues multiple tasks, up to the specified maximum, from the specified MPTaskQ.
MPEnqueueTask Adds the specified MPTask to the end of the specified MPTaskQ.
MPGetTaskQInfo Returns information about the specified MPTaskQ.
MPInitTaskQ Initializes the specified MPTaskQ for first use.
MPPrintTaskQStats Prints per-core number of tasks and runtime in milliseconds (msec).
MPResetTaskQ Resets the status of the task queue and tasks in the queue so that an application may use the tasks again without calling MPInitTask, MPInitTaskQ, and MPEnqueTask.
MPRunTasksFromTaskQ Runs the MPTasks in the specified MPTaskQ.
MPStartTaskQ Resumes processing MPTasks in the specified MPTaskQ.
MPStopTaskQ Pauses processing MPTasks in the specified MPTaskQ.
MPTermTaskQ Stops and finalizes the specified MPTaskQ.
MPWaitTaskQ Waits until the specified MPTask enters the specified MPTaskQ.
MPWaitTaskQWithTimeout Waits until the specified MPTask enters the specified MPTaskQ or times out.

Multiprocessor Synchronization

MPAcquireSpinLock Busy-waits to acquire a MPSpinLock.
MPInitSpinLock Initializes the specified MPSpinLock for use by MP Synchronization functions.
MPReleaseSpinLock Releases the specified MPSpinLock so that any waiting processor core may acquire the MPSpinLock.
MPTryAcquireSpinLock Attempts to acquire the specified MPSpinLock.

Revision History

2014/06/25 Added MPPrintTaskQStats.
2014/01/16 Fixed incorrect spelling.
2013/11/15 Updated to include all functions.
2013/05/08 Automated cleanup pass.