SourceForge.net Logo

CGRU

LinkedIn
Since 1.6.7 (at 2012.12.03) site moved to cgru.info

Afanasy Job Block


Block Attributes:

  • Name - Each Block has an unique name. If new Block added to Job which the name already exists, Job change it's name by adding a number. Blocks dependence bases on their names and depend masks to match it.
  • Number of Tasks - Number of tasks in block.
  • Numeric - Whether the block is numeric or string.
  • Frame First - First block frame.
  • Frame Last - Last block frame.
  • Frames Increment - Frames increment.
  • Frames Per Task - Frames per task. In numeric blocks used to compute command first and last frame, parser percentage. When block has tasks with individual commands used to compute blocks per task dependency. Negative values means sub-frame dependency. For example you can render tiles or generate shadows in one block and generate mantra 'ifd' files in another with 1 frame per task. And if task has 4 shadows or 2x2 tiles you can set -4 frames per task for depended block.
  • Sub Task Depend - For tasks with several frames calculate sub task dependence. Useful for simulation and render when not all frames simulated.
Read Command description for details.

Block Editable Parameters:

  • Tasks Name - Block tasks names pattern.
    Block - numeric, pattern - not empty: generated task will fill this pattern with its first and last frames numbers
    Block - numeric, pattern - empty: tasks will take first_frame - last_frame name.
    Block - not numeric, pattern - not empty: task fill this pattern with it name.
    Block - not numeric, pattern - not empty: task simply take its name.
  • Tasks Type - Block tasks service name.
  • Parser Type - Block tasks output parser name.
  • Working Directory - Tasks process working directory.
  • Pre Command - Like Job Pre Command but for each block.
  • Post Command - Like Job Post Command but for each block. Working directory of this command will be this block working folder.
  • Capacity - tasks capacity (task checks available capacity on render to run on it, and takes its capacity value). Capacity can be static (by default) and variable - base value and coefficients:
    Capacity Minimum Coefficient - minimum Capacity multiplier.
    Capacity Maximum Coefficient - maximum Capacity multiplier.
    Block can generate tasks with capacity*coefficient to fit free render capacity. Task commands will be searched for the special string to replace it with capacity coefficient number. This command replacement performs render by service python class instance. Any service (tasks type) can describe own rule for this replacement by implementation of base class method. By default, base service class performs command.replace( '@AF_CAPACITY@', str( capacity)).
    You can specify number of CPUs to use for your applications (if it supports it by command line arguments).
  • Multi Host Tasks - block tasks can run on several hosts (prman netrender, houdini mantra remote rendering).
    Multi Hosts Minimum - Minimum number of hosts task can run on.
    Multi Hosts Maximum - Maximum number of hosts task can run on.
    Multi Hosts Maximum Wait Time - Time in seconds to wait for maximum hosts.
    Multi Hosts Service - Command to execute on slaves hosts, if it is empty, no service will be.
    Multi Hosts Service Wait Time - Time in seconds to wait for master execution after slaves execution.
    Multi Hosts Same Host Master - Master host will be in slaves list. For example if task took 'r00', 'r01', 'r02', 'r03', 'r04' hosts master command will be executed on 'r00' and 'r00' will be in slaves list too. If tasks can multihost service you can't enable this parameter, because only one command can be executed master or slave.
  • Maximum Running Tasks - maximum number of tasks block can run on the same time.
  • Maximum Running Tasks Per Host - maximum number of tasks block can run on the same time on the same host.
  • Hosts Mask - Block run only on Renders which host name matches this mask.
  • Exclude Hosts Mask - Block can not run on renders which host name matches this mask.
  • Depend Mask - Block will wait previous job blocks which name matches this mask.
  • Tasks Depend Mask - Block task will wait other job blocks task which name matches this mask.
  • Error Retries - Number of task errors to retry it automatically. Value '-1' means take this value from user settings.
  • Errors Avoid Host - Maximum number of errors on same host. Block begins to avoid render host name if number of errors on it greater or equal this value. Value less then '1' means no limit. Value '-1' means take this value from user settings.
  • Errors Task Same Host - Maximum number of errors for task on same host. Task begin to avoid this host name of errors on it greater or equal this value. Value less then '1' means no limit. Value '-1' means take this value from user settings.
  • Errors Forgive Time - Time form last error to forgive error host (reset it's errors count). Value less then '1' means no forgive. Value '-1' means take this value from user settings.
  • Tasks Maximum Run Time - Tasks maximum time to run. After this time task will be set to error ( and may be automatically restarted according to Error Retries value). If this value equals zero, no task run time limit exists.

  • Need Power - Minimum render host power needed. It's custom host parameter can be defined in farm description.
  • Need Memory - Minimum render host free memory needed.
  • Need HDD - Minimum render host free disk space needed.
  • Need Properties - A mask to much render host properties to run on it. It's custom host parameter can be defined in farm description.

  • Command - Tasks command pattern. When block produces a task it calculates an unique command from this pattern and other parameters, depend on block type - numeric or string, replacing @#@ pattern with a number. Padding is specified by the number of "#" symbols between "@" symbols.
    • String: block seek for "@#@" string in command and replace it by another string get from Task Command.

      Example:

      command = myrender some.scene -camera @#@
      arguments = ['sun','sky','front','side','bottom']
      Result:
      1st task command: myrender some.scene -camera sun
      2nd task command: myrender some.scene -camera sky
      3rd task command: myrender some.scene -camera front
      ...

      If block command is empty Task Command is simply used.

    • Numeric: block calculates first and last frame for the task according to task number, Frame First, Frame Last, Frame per Host and Frame Increment values. Each of @#@ pairs will be replaced with the start and end numbers.

      Examples:

      command = myrender some.scene -s @#@ -e @#@
      Frame First = 1
      Frame Last = 10
      Frame per Host = 4
      Result:
      1st task command: myrender some.scene -s 1 -e 4
      2nd task command: myrender some.scene -s 5 -e 8
      3rd task command: myrender some.scene -s 9 -e 10

      command = myrender something.@####@.obj
      Frame First = 1
      Frame Last = 10
      Frame per Host = 1
      Result:
      1st task command: myrender something.0001.obj
      2nd task command: myrender something.0002.obj
      ...
      last task command: myrender something.0010.obj

      You can check numbers placing by afcmd num [command] [number1] [number2] command.

  • Files - File(s) pattern. Each task can have result file(s) pattern. Result file name will be constructed from this pattern by the same method as described before. Some another application, for example watch GUI, can execute your favorite image viewer program [file] and preview result frame.

    Example (numeric):

    Block View Command = images/back.@####@.exr
    Preview program = kuickshow
    Result for 57 frame: kuickshow images/back.0057.exr

    In Watch program will be executed in block working directory

    Example (not numeric):

    Block View Command = images/back.@#@.exr
    Task View Command = 0057
    Preview program = kuickshow
    Result: kuickshow images/back.0057.exr

    Task can have several files for preview, for example on different render passes or on a stereo images pair. To use this files string should be ";" - separated:
    img.@####@.exr;img_normals.@####@.exr

    If block is not numeric and block view command is empty only task view command is used.

    In Watch program will be executed in block working directory.

Block State:

  • Ready RDY - Block is ready to produce a task.
  • Running RUN - Block has running tasks.
  • Done DON - All block tasks are done (or some skipped).
  • Error ERR - Block has some error tasks.
  • Skipped SKP - Some block tasks are skipped.
  • Waiting Dependencies WD - Block waits some other blocks.
Since 1.6.7 (at 2012.12.03) site moved to cgru.info
SourceForge.net Project

CGRU

Libre Graphics World