Qarnot's computing platform is well suited for embarassingly parallel computations, in
which commands and data don't change across instances, only the instance ID does. On every
instance, your program can access the instance ID using the
variable (see environment for more details).
There are two ways of specifying the range of values that
INSTANCE_ID will take across
- you can just specify how many instances you want (say
N), in that case,
INSTANCE_IDwill take all the values
0, 1, 2, ..., N-1
- you can be more specific on which values
INSTANCE_IDshould take across instances, by using advanced ranges, the syntax of which is detailed below
Advanced ranges syntax
An advanced range is formatted in a "standard" way (you probably encountered it in your printer
settings for instance), as a comma-separated list of integers (e.g:
2) or ranges of integers
5, 6, 7, 8, 9).
For example, the range
1-6,15,20,25-30 represents the instances 1 to 6 and 15 and 20 and 25 to 30.
Extensively, that makes
1, 2, 3, 4, 5, 6, 15, 20, 25, 26, 27, 28, 29, 30.
Advanced ranges are very usefull in 3D rendering tasks, to start rendering at a certain frame, render a particular scene, or preview one every N frame.