Documentation

Parallel Computing Toolbox Functions

Alphabetical List By Category

Parallel Computing Fundamentals

parfor Execute for-loop iterations in parallel on workers in parallel pool
parfeval Execute function asynchronously on parallel pool worker
gpuArray Create array on GPU
distributed Access elements of distributed arrays from client
batch Run MATLAB script or function on worker
parpool Create parallel pool on cluster
ticBytes Start counting bytes transferred within parallel pool
tocBytes Read how many bytes have been transferred since calling ticBytes

Parallel for-Loops (parfor)

parfor Execute for-loop iterations in parallel on workers in parallel pool
parpool Create parallel pool on cluster
parfeval Execute function asynchronously on parallel pool worker
ticBytes Start counting bytes transferred within parallel pool
tocBytes Read how many bytes have been transferred since calling ticBytes
send Send data from worker to client using a data queue
afterEach Define a function to call when new data is received
parallel.Pool Access parallel pool
parallel.pool.DataQueue Class that enables sending and listening for data between client and workers

Asynchronous Parallel Programming

parfeval Execute function asynchronously on parallel pool worker
parfevalOnAll Execute function asynchronously on all workers in parallel pool
ticBytes Start counting bytes transferred within parallel pool
tocBytes Read how many bytes have been transferred since calling ticBytes
send Send data from worker to client using a data queue
poll Retrieve data sent from a worker
afterEach Define a function to call when new data is received
fetchOutputs (FevalFuture) Retrieve all output arguments from Future
fetchNext Retrieve next available unread FevalFuture outputs
取消(FevalFuture) Cancel queued or running future
isequal (FevalFuture) True if futures have same ID
wait (FevalFuture) Wait for futures to complete
parallel.Future Request function execution on parallel pool workers
parallel.Pool Access parallel pool
parallel.pool.DataQueue Class 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

distributed Create distributed array from data in client workspace
gather Transfer distributed array or gpuArray to local workspace
spmd Execute code in parallel on workers of parallel pool
Composite Create Composite object
parallel.pool.Constant Build parallel.pool.Constant from data or function handle
codistributed Create codistributed array from replicated local data
parpool Create parallel pool on cluster
delete (Pool) Shut down parallel pool
redistribute Redistribute codistributed array with another distribution scheme
codistributed.build Create codistributed array from distributed data
for for-loop over distributed range
getLocalPart Local portion of codistributed array
globalIndices Global indices for local part of codistributed array
gop Global operation across all workers
write Write distributed data to an output location
distributed Access elements of distributed arrays from client
codistributed Access elements of arrays distributed among workers in parallel pool
Composite Access nondistributed variables on multiple workers from client
codistributor1d 1-D distribution scheme for codistributed array
codistributor2dbc 2-D block-cyclic distribution scheme for codistributed array
parallel.Pool Access parallel pool

Tall Arrays and Mapreduce

tall Create tall array
datastore Create datastore for large collections of data
mapreduce Programming technique for analyzing data sets that do not fit in memory
mapreducer Define parallel execution environment for mapreduce and tall arrays
partition Partition a datastore
numpartitions Number of partitions
parpool Create parallel pool on cluster
gcp Get current parallel pool
parallel.Pool Access parallel pool
parallel.cluster.Hadoop Hadoop cluster for mapreducer, mapreduce and tall arrays

Batch Processing

Simple Batch Processing

batch Run MATLAB script or function on worker
diary Display or save Command Window text of batch job
load Load workspace variables from batch job
wait Wait for job to change state
delete Remove job or task object from cluster and memory

Detailed Job and Task Control

Job and Task Creation

parcluster Create cluster object
batch Run MATLAB script or function on worker
createJob Create independent job on cluster
createCommunicatingJob Create communicating job on cluster
recreate Create new job from existing job
createTask Create new task in job
parallel.defaultClusterProfile Examine or set default cluster profile
parallel.importProfile Import cluster profiles from file
poolStartup File for user-defined options to run on each worker when parallel pool starts
jobStartup File for user-defined options to run when job starts
taskStartup User-defined options to run on worker when task starts
taskFinish User-defined options to run on worker when task finishes
pctconfig Configure settings for Parallel Computing Toolbox client session
mpiLibConf Location of MPI implementation
mpiSettings Configure options for MPI communication
parallel.Cluster Access cluster properties and behaviors
parallel.Future Request function execution on parallel pool workers
parallel.Job Access job properties and behaviors
parallel.Task Access task properties and behaviors

Job Submission and Results

batch Run MATLAB script or function on worker
submit Queue job in scheduler
wait Wait for job to change state
fetchOutputs Retrieve output arguments from all tasks in job
diary Display or save Command Window text of batch job
load Load workspace variables from batch job

Queue Management and Job Information

pause Pause MATLAB job scheduler queue
resume Resume processing queue in MATLAB job scheduler
取消 Cancel job or task
delete Remove job or task object from cluster and memory
promote 在乔丹集群队列促进工作
demote Demote job in cluster queue
changePassword Prompt user to change MJS password
logout Log out of MJS cluster
findJob Find job objects stored in cluster
findTask Task objects belonging to job object
getDebugLog 从工作运行在集群cj读取输出消息
getJobClusterData Get specific user data for job on generic cluster
setJobClusterData Set specific user data for job on generic cluster

Task Control and Worker Communication

addAttachedFiles Attach files or folders to parallel pool
labindex Index of this worker
numlabs Total number of workers operating in parallel on current job
gcat Global concatenation
gop Global operation across all workers
gplus Global addition
pload Load file into parallel session
psave Save data from communicating job session
labBarrier Block execution until all workers reach this call
labBroadcast Send data to all workers or receive data sent to all workers
labProbe Test to see if messages are ready to be received from other worker
labReceive Receive data from another worker
labSend Send data to another worker
labSendReceive Simultaneously send data to and receive data from another worker
getCurrentJob Job object whose task is currently being evaluated
getCurrentCluster Cluster object that submitted current task
getCurrentTask Task object currently being evaluated in this worker session
getCurrentWorker Worker object currently running this session
getAttachedFilesFolder Folder into which AttachedFiles are written
updateAttachedFiles Update attached files or folders on parallel pool
parallel.Task Access task properties and behaviors
parallel.Worker Access worker that ran task

GPU Computing

GPU Computing in MATLAB

gpuArray Create array on GPU
gather Transfer distributed array or gpuArray to local workspace
existsOnGPU Determine if gpuArray or CUDAKernel is available on GPU
gpuDevice Query or select GPU device
gpuDeviceCount Number of GPU devices present
gputimeit Time required to run function on GPU
reset Reset GPU device and clear its memory
wait (GPUDevice) 等待GPU calculation to complete
arrayfun Apply function to each element of array on GPU
bsxfun Binary singleton expansion function for gpuArray
pagefun Apply function to each page of array on GPU
gpuArray Array stored on GPU
GPUDevice Graphics processing unit (GPU)
GPUDeviceManager Manager for GPU Devices

GPU CUDA and MEX Programming

mexcuda Compile MEX-function for GPU computation
parallel.gpu.CUDAKernel Create GPU CUDA kernel object from PTX and CU code
feval Evaluate kernel on GPU
setConstantMemory Set some constant memory on GPU
mxGPUCopyFromMxArray Copy mxArray to mxGPUArray
mxGPUCopyGPUArray Duplicate (deep copy) mxGPUArray object
mxGPUCopyImag Copy imaginary part of mxGPUArray
mxGPUCopyReal Copy real part of mxGPUArray
mxGPUCreateComplexGPUArray Create complex GPU array from two real gpuArrays
mxGPUCreateFromMxArray Create read-only mxGPUArray object from input mxArray
mxGPUCreateGPUArray Create mxGPUArray object, allocating memory on GPU
mxGPUCreateMxArrayOnCPU Create mxArray for returning CPU data to MATLAB with data from GPU
mxGPUCreateMxArrayOnGPU Create mxArray for returning GPU data to MATLAB
mxGPUDestroyGPUArray Delete mxGPUArray object
mxGPUGetClassID mxClassID associated with data on GPU
mxGPUGetComplexity Complexity of data on GPU
mxGPUGetData Raw pointer to underlying data
mxGPUGetDataReadOnly Read-only raw pointer to underlying data
mxGPUGetDimensions mxGPUArray dimensions
mxGPUGetNumberOfDimensions Size of dimension array for mxGPUArray
mxGPUGetNumberOfElements Number of elements on GPU for array
mxGPUIsSame Determine if two mxGPUArrays refer to same GPU data
mxGPUIsSparse Determine if mxGPUArray contains sparse GPU data
mxGPUIsValidGPUData Determine if mxArray is pointer to valid GPU data
mxIsGPUArray Determine if mxArray contains GPU data
mxInitGPU Initialize MATLAB GPU library on currently selected device
mxGPUCopyFromMxArray Copy mxArray to mxGPUArray
mxGPUCopyGPUArray Duplicate (deep copy) mxGPUArray object
mxGPUCopyImag Copy imaginary part of mxGPUArray
mxGPUCopyReal Copy real part of mxGPUArray
mxGPUCreateComplexGPUArray Create complex GPU array from two real gpuArrays
mxGPUCreateFromMxArray Create read-only mxGPUArray object from input mxArray
mxGPUCreateGPUArray Create mxGPUArray object, allocating memory on GPU
mxGPUCreateMxArrayOnCPU Create mxArray for returning CPU data to MATLAB with data from GPU
mxGPUCreateMxArrayOnGPU Create mxArray for returning GPU data to MATLAB
mxGPUDestroyGPUArray Delete mxGPUArray object
mxGPUGetClassID mxClassID associated with data on GPU
mxGPUGetComplexity Complexity of data on GPU
mxGPUGetData Raw pointer to underlying data
mxGPUGetDataReadOnly Read-only raw pointer to underlying data
mxGPUGetDimensions mxGPUArray dimensions
mxGPUGetNumberOfDimensions Size of dimension array for mxGPUArray
mxGPUGetNumberOfElements Number of elements on GPU for array
mxGPUIsSame Determine if two mxGPUArrays refer to same GPU data
mxGPUIsSparse Determine if mxGPUArray contains sparse GPU data
mxGPUIsValidGPUData Determine if mxArray is pointer to valid GPU data
mxIsGPUArray Determine if mxArray contains GPU data
CUDAKernel Kernel executable on GPU
mxGPUArray Type for MATLAB gpuArray

Clusters and Clouds

parcluster Create cluster object
parpool Create parallel pool on cluster
gcp Get current parallel pool
start Start cloud cluster
shutdown Shut down cloud cluster
wait (cluster) Wait for cloud cluster to change state
parallel.defaultClusterProfile Examine or set default cluster profile
parallel.exportProfile 出口一个或更多的资料es to file
parallel.importProfile Import cluster profiles from file
saveProfile Save modified cluster properties to its current profile
saveAsProfile Save cluster properties to specified profile
pctconfig Configure settings for Parallel Computing Toolbox client session
parallel.Pool Access parallel pool
parallel.Cluster Access cluster properties and behaviors
pctRunOnAll Run command on client and all workers in parallel pool

Performance Profiling

Parallel Profiler and Code Improvement

mpiprofile Profile parallel communication and execution times

Interactive Parallel Development (pmode)

pmode Interactive Parallel Command Window
Was this topic helpful?