Max 5 API Reference

Parallel Utility Module
[Jitter]

Collaboration diagram for Parallel Utility Module:

Functions

void jit_parallel_ndim_calc (t_jit_parallel_ndim *p)
 Tasks N-dimensional matrix calcuations to multiple threads if appropriate.
void jit_parallel_ndim_simplecalc1 (method fn, void *data, long dimcount, long *dim, long planecount, t_jit_matrix_info *minfo1, char *bp1, long flags1)
 Tasks one input/output N-dimensional matrix calcuations to multiple threads if appropriate.
void jit_parallel_ndim_simplecalc2 (method fn, void *data, long dimcount, long *dim, long planecount, t_jit_matrix_info *minfo1, char *bp1, t_jit_matrix_info *minfo2, char *bp2, long flags1, long flags2)
 Tasks two input/output N-dimensional matrix calcuations to multiple threads if appropriate.
void jit_parallel_ndim_simplecalc3 (method fn, void *data, long dimcount, long *dim, long planecount, t_jit_matrix_info *minfo1, char *bp1, t_jit_matrix_info *minfo2, char *bp2, t_jit_matrix_info *minfo3, char *bp3, long flags1, long flags2, long flags3)
 Tasks three input/output N-dimensional matrix calcuations to multiple threads if appropriate.
void jit_parallel_ndim_simplecalc4 (method fn, void *data, long dimcount, long *dim, long planecount, t_jit_matrix_info *minfo1, char *bp1, t_jit_matrix_info *minfo2, char *bp2, t_jit_matrix_info *minfo3, char *bp3, t_jit_matrix_info *minfo4, char *bp4, long flags1, long flags2, long flags3, long flags4)
 Tasks four input/output N-dimensional matrix calcuations to multiple threads if appropriate.

Function Documentation

void jit_parallel_ndim_calc ( t_jit_parallel_ndim *  p  ) 

Tasks N-dimensional matrix calcuations to multiple threads if appropriate.

This function is ultimately what the other parallel utility functions call after having set up the t_jit_parallel_ndim struct. The operation is tasked to multiple threads if all of the following conditions are met:

  • multiple processors or cores are present
  • parallel processing is enabled
  • the size of the matrix data is larger then the parallel threshold
Parameters:
p parallel ndim calc data
void jit_parallel_ndim_simplecalc1 ( method  fn,
void *  data,
long  dimcount,
long *  dim,
long  planecount,
t_jit_matrix_info minfo1,
char *  bp1,
long  flags1 
)

Tasks one input/output N-dimensional matrix calcuations to multiple threads if appropriate.

This function fills out the t_jit_parallel_ndim struct for a one input/output N-dimensional matrix calc method, and calls jit_parallel_ndim_calc. This function does not distinguish between what is an input or output.

Parameters:
fn N-dimensional matrix calc method
data user defined pointer (typically object)
dimcount master number of dimensions to iterate
dim master pointer to dimension sizes
planecount master number of planes
minfo1 matrix info for first input/output
bp1 matrix data pointer for first input/output
flags1 parallel flags for first input/output
void jit_parallel_ndim_simplecalc2 ( method  fn,
void *  data,
long  dimcount,
long *  dim,
long  planecount,
t_jit_matrix_info minfo1,
char *  bp1,
t_jit_matrix_info minfo2,
char *  bp2,
long  flags1,
long  flags2 
)

Tasks two input/output N-dimensional matrix calcuations to multiple threads if appropriate.

This function fills out the t_jit_parallel_ndim struct for a two input/output N-dimensional matrix calc method, and calls jit_parallel_ndim_calc. This function does not distinguish between what is an input or output.

Parameters:
fn N-dimensional matrix calc method
data user defined pointer (typically object)
dimcount master number of dimensions to iterate
dim master pointer to dimension sizes
planecount master number of planes
minfo1 matrix info for first input/output
bp1 matrix data pointer for first input/output
flags1 parallel flags for first input/output
minfo2 matrix info for second input/output
bp2 matrix data pointer for second input/output
flags2 parallel flags for second input/output
void jit_parallel_ndim_simplecalc3 ( method  fn,
void *  data,
long  dimcount,
long *  dim,
long  planecount,
t_jit_matrix_info minfo1,
char *  bp1,
t_jit_matrix_info minfo2,
char *  bp2,
t_jit_matrix_info minfo3,
char *  bp3,
long  flags1,
long  flags2,
long  flags3 
)

Tasks three input/output N-dimensional matrix calcuations to multiple threads if appropriate.

This function fills out the t_jit_parallel_ndim struct for a three input/output N-dimensional matrix calc method, and calls jit_parallel_ndim_calc. This function does not distinguish between what is an input or output.

Parameters:
fn N-dimensional matrix calc method
data user defined pointer (typically object)
dimcount master number of dimensions to iterate
dim master pointer to dimension sizes
planecount master number of planes
minfo1 matrix info for first input/output
bp1 matrix data pointer for first input/output
flags1 parallel flags for first input/output
minfo2 matrix info for second input/output
bp2 matrix data pointer for second input/output
flags2 parallel flags for second input/output
minfo3 matrix info for third input/output
bp3 matrix data pointer for third input/output
flags3 parallel flags for third input/output
void jit_parallel_ndim_simplecalc4 ( method  fn,
void *  data,
long  dimcount,
long *  dim,
long  planecount,
t_jit_matrix_info minfo1,
char *  bp1,
t_jit_matrix_info minfo2,
char *  bp2,
t_jit_matrix_info minfo3,
char *  bp3,
t_jit_matrix_info minfo4,
char *  bp4,
long  flags1,
long  flags2,
long  flags3,
long  flags4 
)

Tasks four input/output N-dimensional matrix calcuations to multiple threads if appropriate.

This function fills out the t_jit_parallel_ndim struct for a three input/output N-dimensional matrix calc method, and calls jit_parallel_ndim_calc. This function does not distinguish between what is an input or output.

Parameters:
fn N-dimensional matrix calc method
data user defined pointer (typically object)
dimcount master number of dimensions to iterate
dim master pointer to dimension sizes
planecount master number of planes
minfo1 matrix info for first input/output
bp1 matrix data pointer for first input/output
flags1 parallel flags for first input/output
minfo2 matrix info for second input/output
bp2 matrix data pointer for second input/output
flags2 parallel flags for second input/output
minfo3 matrix info for third input/output
bp3 matrix data pointer for third input/output
flags3 parallel flags for third input/output
minfo4 matrix info for fourth input/output
bp4 matrix data pointer for fourth input/output
flags4 parallel flags for fourth input/output

Copyright © 2008, Cycling '74