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 INSTANCE_ID environment variable (see environment for more details).

There are two ways of specifying the range of values that INSTANCE_ID will take across your instance:

  • you can just specify how many instances you want (say N), in that case, INSTANCE_ID will take all the values 0, 1, 2, ..., N-1
  • you can be more specific on which values INSTANCE_ID should 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 (e.g: 5-9 represents 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.

Next steps