Main Content

createJob

Create independent job on cluster

Syntax

job = createJob(cluster)
job = createJob(...,'p1',v1,'p2',v2,...)
job = createJob(...,'Profile','profileName',...)

Arguments

job

The job object.

cluster

The cluster object created by parcluster.

p1, p2

Object properties configured at object creation.

v1, v2

Initial values for corresponding object properties.

Description

job = createJob(cluster) creates an independent job object for the identified cluster.

The job’s data is stored in the location specified by the cluster’s JobStorageLocation property.

job = createJob(...,'p1',v1,'p2',v2,...) creates a job object with the specified property values. For a listing of the valid properties of the created object, see the parallel.Job object reference page. The property name must be a character vector, with the value being the appropriate type for that property. In most cases, the values specified in these property-value pairs override the values in the profile.

When you offload computations to workers, any files that are required for computations on the client must also be available on workers. By default, the client attempts to automatically detect and attach such files. To turn off automatic detection, set the AutoAttachFiles property to false. If automatic detection cannot find all the files, or if sending files from client to worker is slow, use the following properties.

  • If the files are in a folder that is not accessible on the workers, set the AttachedFiles property. The cluster copies each file you specify from the client to workers.

  • If the files are in a folder that is accessible on the workers, you can set the AdditionalPaths property instead. Use the AdditionalPaths property to add paths to each worker's MATLAB® search path and avoid copying files unnecessarily from the client to workers.

If you specify AttachedFiles or AdditionalPaths, the values are combined with the values specified in the applicable profile. If an invalid property name or property value is specified, the object will not be created.

job = createJob(...,'Profile','profileName',...) creates an independent job object with the property values specified in the profile 'profileName'. If a profile is not specified and the cluster has a value specified in its 'Profile' property, the cluster’s profile is automatically applied. For details about defining and applying profiles, see Discover Clusters and Use Cluster Profiles.

Examples

Example 2. Create and Run a Basic Job

Construct an independent job object using the default profile.

c = parcluster
j = createJob(c);

Add tasks to the job.

for i = 1:10
    createTask(j,@rand,1,{10});
end

Run the job.

submit(j);

Wait for the job to finish running, and retrieve the job results.

wait(j);
out = fetchOutputs(j);

Display the random matrix returned from the third task.

disp(out{3});

Delete the job.

delete(j);
Example 3. Create a Job with Attached Files

Construct an independent job with attached files in addition to those specified in the default profile.

c = parcluster
j = createJob(c,'AttachedFiles',...
        {'myapp/folderA','myapp/folderB','myapp/file1.m'});
Introduced before R2006a