runs make tasks in parallel
Runs make tasks in parallel on LSF hosts. Sets the environment variables on the remote hosts when lsmake first starts.
By default, uses the local host, uses only one core, starts only one task in each core, processes submakes sequentially, allows 1 second buffer time to compensate for file system latency, and does not retry if the job fails. lsmake is a modified version of GNU make.
When commands in a target finish, commands in a dependent target wait the specified time before starting on a different host. This delay allows time for the shared file system to synchronize client and server, and compensates for file system latency. By default, the delay is 1 second. Slower file systems require a longer delay.
If the dependent target's commands start on the same execution host, there is no delay.
If retries are enabled with -x, the interval between retries also depends on the delay time.
Starts the specified number of tasks concurrently on each core. If you specify too many tasks, you could overload a host.
Sets the environment variables for every task sent remotely.
This is necessary when make files change or override the environment variables they inherit at startup.
Uses multiple cores, selecting the best available. Specify the maximum number of cores to use.
Not compatible with -m "host_name [num_cores] [host_name [num_cores]]..."
Uses the specified hosts. To use multiple cores on a host, specify the number of cores after the host name.
Uses only hosts that satisfy the specified resource requirements.
When you specify -R but not -j, uses one core on one host that satisfies the resource requirements.
If the group of hosts that match the selection string includes the submission host, the submission host will always be selected, and the policies defined by the order string only affect the other hosts.
Not compatible with -m "host_name [num_cores] [host_name [num_cores]]..."
Enables output tagging to prefix the sender’s task ID to the parallel task output data.
Creates the data file lsmake.dat and updates it each second, tracking the number of tasks running over time.
This is useful if you want to export the data to third-party charting applications.
If the command fails, retries the command the specified number of times (for example, if the number of retries is 1, the command is attempted twice before exiting). This is useful to compensate for file system latency and minor errors.
The interval between retries increases exponentially with each retry attempt. The time between the initial, failed attempt and the first retry is equal to 1 second by default, or equal to the buffer time specified by -a. For subsequent attempts, the interval between attempts is doubled each time.
Specifies standard GNU make options. Note: -j and -R are not supported as a GNU make options, see the lsmake options -j max_cores and -R res_req. See GNU documentation for detailed descriptions of other options. This version of lsmake supports GNU Make version 3.81, which includes the following options:
Print basic debugging information, or specify what types of information to print (all, basic, verbose, implicit, jobs, makefile).
Target file modification time considers the timestamp of symbolic links also.
Disable the built-in variable settings. The make option -R is not supported, it conflicts with the lsmake option -R res_req.
Touch targets (just change modification time) instead of remaking them.
-W file, --what-if=file, --new-file=file, --assume-new=file
Always consider the file to be new (do not change modification time).
Maximum number of tasks that ran simultaneously; compare to Total Slots Allocated and Tasks Allocated per Slot to determine if parallel execution may have been limited by resource availability.
The output is a single line showing each name and number pair separated by spaces, in the format:host_name number_slots [host_name number_slots]...
Maximum number of tasks allowed per slot (set by lsmake -c option)
Total number of slots actually allocated (may be limited by lsmake -j or lsmake -m options)
The lsmake.dat file is a simple text file, consisting of two values separated by a comma. The first value is the time in the format hh:mm:ss, the second is the number of tasks running at that time, for example:
The file is updated with a new line of information every second.