Parallel Computing Toolbox Functions

Alphabetical List By Category

Parallel Computing Fundamentals

parforExecute for-loop iterations in parallel on workers in parallel pool
parfevalExecute function asynchronously on parallel pool worker
gpuArrayCreate array on GPU
distributedAccess elements of distributed arrays from client
batchRun MATLAB script or function on worker
parpoolCreate parallel pool on cluster
ticBytesStart counting bytes transferred within parallel pool
tocBytesRead how many bytes have been transferred since calling ticBytes

Parallel for-Loops (parfor)

parforExecute for-loop iterations in parallel on workers in parallel pool
parpoolCreate parallel pool on cluster
parfevalExecute function asynchronously on parallel pool worker
ticBytesStart counting bytes transferred within parallel pool
tocBytesRead how many bytes have been transferred since calling ticBytes
sendSend data from worker to client using a data queue
afterEachDefine a function to call when new data is received
parallel.PoolAccess parallel pool
parallel.pool.DataQueueClass that enables sending and listening for data between client and workers

Asynchronous Parallel Programming

parfevalExecute function asynchronously on parallel pool worker
parfevalOnAllExecute function asynchronously on all workers in parallel pool
ticBytesStart counting bytes transferred within parallel pool
tocBytesRead how many bytes have been transferred since calling ticBytes
sendSend data from worker to client using a data queue
poll Retrieve data sent from a worker
afterEachDefine a function to call when new data is received
fetchOutputs (FevalFuture)Retrieve all output arguments from Future
fetchNextRetrieve next available unread FevalFuture outputs
cancel (FevalFuture)Cancel queued or running future
isequal (FevalFuture)True if futures have same ID
wait (FevalFuture)Wait for futures to complete
parallel.FutureRequest function execution on parallel pool workers
parallel.PoolAccess parallel pool
parallel.pool.DataQueueClass that enables sending and listening for data between client and workers
parallel.pool.PollableDataQueue Class that enables sending and polling for data between client and workers

Big Data Processing

Distributed Arrays

distributedCreate distributed array from data in client workspace
gatherTransfer distributed array or gpuArray to local workspace
spmdExecute code in parallel on workers of parallel pool
CompositeCreate Composite object
parallel.pool.ConstantBuild parallel.pool.Constant from data or function handle
codistributedCreate codistributed array from replicated local data
parpoolCreate parallel pool on cluster
delete (Pool)Shut down parallel pool
redistributeRedistribute codistributed array with another distribution scheme
codistributed.buildCreate codistributed array from distributed data
forfor-loop over distributed range
getLocalPartLocal portion of codistributed array
globalIndicesGlobal indices for local part of codistributed array
gopGlobal operation across all workers
writeWrite distributed data to an output location
distributedAccess elements of distributed arrays from client
codistributedAccess elements of arrays distributed among workers in parallel pool
CompositeAccess nondistributed variables on multiple workers from client
codistributor1d1-D distribution scheme for codistributed array
codistributor2dbc2-D block-cyclic distribution scheme for codistributed array
parallel.PoolAccess parallel pool

Tall Arrays and Mapreduce

tallCreate tall array
datastoreCreate datastore for large collections of data
mapreduceProgramming technique for analyzing data sets that do not fit in memory
mapreducerDefine parallel execution environment for mapreduce and tall arrays
partitionPartition a datastore
numpartitionsNumber of datastore partitions
parpoolCreate parallel pool on cluster
gcpGet current parallel pool
parallel.PoolAccess parallel pool
parallel.cluster.HadoopHadoop cluster for mapreducer, mapreduce and tall arrays

Batch Processing

Simple Batch Processing

batchRun MATLAB script or function on worker
diaryDisplay or save Command Window text of batch job
loadLoad workspace variables from batch job
waitWait for job to change state
deleteRemove job or task object from cluster and memory

Detailed Job and Task Control

Job and Task Creation

parclusterCreate cluster object
batchRun MATLAB script or function on worker
createJobCreate independent job on cluster
createCommunicatingJobCreate communicating job on cluster
recreateCreate new job from existing job
createTaskCreate new task in job
parallel.defaultClusterProfileExamine or set default cluster profile
parallel.importProfileImport cluster profiles from file
poolStartupFile for user-defined options to run on each worker when parallel pool starts
jobStartupFile for user-defined options to run when job starts
taskStartupUser-defined options to run on worker when task starts
taskFinishUser-defined options to run on worker when task finishes
pctconfigConfigure settings for Parallel Computing Toolbox client session
mpiLibConfLocation of MPI implementation
mpiSettingsConfigure options for MPI communication
parallel.ClusterAccess cluster properties and behaviors
parallel.FutureRequest function execution on parallel pool workers
parallel.JobAccess job properties and behaviors
parallel.TaskAccess task properties and behaviors

Job Submission and Results

batchRun MATLAB script or function on worker
submitQueue job in scheduler
waitWait for job to change state
fetchOutputsRetrieve output arguments from all tasks in job
diaryDisplay or save Command Window text of batch job
loadLoad workspace variables from batch job

Queue Management and Job Information

pausePause MATLAB job scheduler queue
resumeResume processing queue in MATLAB job scheduler
cancelCancel job or task
deleteRemove job or task object from cluster and memory
promotePromote job in MJS cluster queue
demoteDemote job in cluster queue
changePasswordPrompt user to change MJS password
logoutLog out of MJS cluster
findJobFind job objects stored in cluster
findTaskTask objects belonging to job object
getDebugLogRead output messages from job run in CJS cluster
getJobClusterDataGet specific user data for job on generic cluster
setJobClusterDataSet specific user data for job on generic cluster

Task Control and Worker Communication

addAttachedFilesAttach files or folders to parallel pool
labindexIndex of this worker
numlabsTotal number of workers operating in parallel on current job
gcatGlobal concatenation
gopGlobal operation across all workers
gplusGlobal addition
ploadLoad file into parallel session
psaveSave data from communicating job session
labBarrierBlock execution until all workers reach this call
labBroadcastSend data to all workers or receive data sent to all workers
labProbeTest to see if messages are ready to be received from other worker
labReceiveReceive data from another worker
labSendSend data to another worker
labSendReceiveSimultaneously send data to and receive data from another worker
getCurrentJobJob object whose task is currently being evaluated
getCurrentClusterCluster object that submitted current task
getCurrentTaskTask object currently being evaluated in this worker session
getCurrentWorkerWorker object currently running this session
getAttachedFilesFolderFolder into which AttachedFiles are written
updateAttachedFilesUpdate attached files or folders on parallel pool
parallel.TaskAccess task properties and behaviors
parallel.WorkerAccess worker that ran task

GPU Computing

GPU Computing in MATLAB

gpuArrayCreate array on GPU
gatherTransfer distributed array or gpuArray to local workspace
existsOnGPUDetermine if gpuArray or CUDAKernel is available on GPU
gpuDeviceQuery or select GPU device
gpuDeviceCountNumber of GPU devices present
gputimeitTime required to run function on GPU
resetReset GPU device and clear its memory
wait (GPUDevice)Wait for GPU calculation to complete
arrayfunApply function to each element of array on GPU
bsxfunBinary singleton expansion function for gpuArray
pagefunApply function to each page of array on GPU
gpuArrayArray stored on GPU
GPUDeviceGraphics processing unit (GPU)
GPUDeviceManagerManager for GPU Devices

GPU CUDA and MEX Programming

mexcudaCompile MEX-function for GPU computation
parallel.gpu.CUDAKernelCreate GPU CUDA kernel object from PTX and CU code
fevalEvaluate kernel on GPU
setConstantMemorySet some constant memory on GPU
mxGPUCopyFromMxArrayCopy mxArray to mxGPUArray
mxGPUCopyGPUArrayDuplicate (deep copy) mxGPUArray object
mxGPUCopyImag Copy imaginary part of mxGPUArray
mxGPUCopyReal Copy real part of mxGPUArray
mxGPUCreateComplexGPUArrayCreate complex GPU array from two real gpuArrays
mxGPUCreateFromMxArrayCreate read-only mxGPUArray object from input mxArray
mxGPUCreateGPUArrayCreate mxGPUArray object, allocating memory on GPU
mxGPUCreateMxArrayOnCPUCreate mxArray for returning CPU data to MATLAB with data from GPU
mxGPUCreateMxArrayOnGPUCreate mxArray for returning GPU data to MATLAB
mxGPUDestroyGPUArrayDelete mxGPUArray object
mxGPUGetClassIDmxClassID associated with data on GPU
mxGPUGetComplexityComplexity of data on GPU
mxGPUGetDataRaw pointer to underlying data
mxGPUGetDataReadOnlyRead-only raw pointer to underlying data
mxGPUGetDimensionsmxGPUArray dimensions
mxGPUGetNumberOfDimensionsSize of dimension array for mxGPUArray
mxGPUGetNumberOfElementsNumber of elements on GPU for array
mxGPUIsSameDetermine if two mxGPUArrays refer to same GPU data
mxGPUIsSparseDetermine if mxGPUArray contains sparse GPU data
mxGPUIsValidGPUDataDetermine if mxArray is pointer to valid GPU data
mxIsGPUArrayDetermine if mxArray contains GPU data
mxInitGPUInitialize MATLAB GPU library on currently selected device
mxGPUCopyFromMxArrayCopy mxArray to mxGPUArray
mxGPUCopyGPUArrayDuplicate (deep copy) mxGPUArray object
mxGPUCopyImag Copy imaginary part of mxGPUArray
mxGPUCopyReal Copy real part of mxGPUArray
mxGPUCreateComplexGPUArrayCreate complex GPU array from two real gpuArrays
mxGPUCreateFromMxArrayCreate read-only mxGPUArray object from input mxArray
mxGPUCreateGPUArrayCreate mxGPUArray object, allocating memory on GPU
mxGPUCreateMxArrayOnCPUCreate mxArray for returning CPU data to MATLAB with data from GPU
mxGPUCreateMxArrayOnGPUCreate mxArray for returning GPU data to MATLAB
mxGPUDestroyGPUArrayDelete mxGPUArray object
mxGPUGetClassIDmxClassID associated with data on GPU
mxGPUGetComplexityComplexity of data on GPU
mxGPUGetDataRaw pointer to underlying data
mxGPUGetDataReadOnlyRead-only raw pointer to underlying data
mxGPUGetDimensionsmxGPUArray dimensions
mxGPUGetNumberOfDimensionsSize of dimension array for mxGPUArray
mxGPUGetNumberOfElementsNumber of elements on GPU for array
mxGPUIsSameDetermine if two mxGPUArrays refer to same GPU data
mxGPUIsSparseDetermine if mxGPUArray contains sparse GPU data
mxGPUIsValidGPUDataDetermine if mxArray is pointer to valid GPU data
mxIsGPUArrayDetermine if mxArray contains GPU data
CUDAKernelKernel executable on GPU
mxGPUArrayType for MATLAB gpuArray

Clusters and Clouds

parclusterCreate cluster object
parpoolCreate parallel pool on cluster
gcpGet current parallel pool
shutdown Shut down cloud cluster
startStart cloud cluster
wait (cluster)Wait for cloud cluster to change state
parallel.defaultClusterProfileExamine or set default cluster profile
parallel.exportProfileExport one or more profiles to file
parallel.importProfileImport cluster profiles from file
saveProfileSave modified cluster properties to its current profile
saveAsProfileSave cluster properties to specified profile
pctconfigConfigure settings for Parallel Computing Toolbox client session
parallel.PoolAccess parallel pool
parallel.ClusterAccess cluster properties and behaviors
pctRunOnAllRun command on client and all workers in parallel pool

Performance Profiling

Parallel Profiler and Code Improvement

mpiprofileProfile parallel communication and execution times

Interactive Parallel Development (pmode)

pmodeInteractive Parallel Command Window
Was this topic helpful?