Render jobs¶
The accsyn render (compute) feature submits CPU/GPU intensive tasks to accsyn for queued processing on a farm (cluster) across one or more sites. accsyn supports site-to-site transfer of render dependencies when they are specified correctly and reside on a volume.
Submitting a render job¶
The Python API supports render job submission. Example: a Nuke 2D compositing job:
jobs = session.create("Compute",{
"name": "test_v002.nk render",
"input": "C:\\projects\\nuke\\vfx\\test_v002.nk",
"parameters": {
"input_conversion": "always",
"arguments": "-txV",
"remote_os": "windows",
"mapped_share_paths" : [
{
"remote" : "C:\\projects",
"local" : "share=5c5bf52a1da7ee0165105b85"
},
{
"remote" : "E:\\tools",
"local" : "N:\\tools",
"os" : "windows"
},
],
"site":{
"local":{
"settings":{
"download":{
"enable": "false"
},
"upload":{
"task_bucketsize": "1"
},
"common":{
"transfer_speedlimit": "2"
}
}
}
}
},
"engine": "nuke-11",
"range": "1001-1100",
"dependencies": [
"C:\\projects\\nuke\\src\\vh_gridtest.0099.jpg"
],
"filters": "ram:>32g,site:sthlm",
"output": "C:\\projects\\nuke\\output",
"settings": {
"task_bucketsize": "5",
"transfer_speedlimit": "-1"
},
"envs" : {
"common": {
"FOUNDRY_LICENSE_DEBUG": "true"
},
"linux": {
"NUKE_PATH": "/projects/nuke/src"
},
"mac": {
"NUKE_PATH": "/projects/nuke/src"
},
"windows": {
"NUKE_PATH": "C:\\projects\\nuke\\src"
}
}
})
dependencies: Files the input depends on and must be accessible during computation.engine: Render app, by code or ID. Ensure it exists. Compute apps are managed at Admin/apps in the web admin. Open-source boilerplate scripts: https://github.com/accsyn/compute-scripts.envs: Environment variables for the render process. Flat or nested undercommon,linux,mac, andwindowsas in the example.filters: Comma-separated filters (see below).input: Path to the input file. Currently one file per job.name: (Optional) Job name. Defaults to the input filename.output: Folder where the render app writes results.parameters/arguments: Additional command-line parameters.parameters/input_conversion: Whether to parse and convert paths in the input file. Supported for ASCII formats. Values:always(always parse),platform(only on OS change, e.g. Windows to Mac),never(leave unchanged). Recommended:alwaysunless paths in the input file match on-prem/render-farm paths exactly.parameters/mapped_share_paths: (Optional, with ASCII input and conversion enabled) Local-to-share path mappings. Required when the input file contains local paths needing conversion. Useosfor per-OS paths (windows,mac,linux). Picked by the common render app; extend the app to support additional OSes.parameters/remote_os: (Optional) OS the submit originates from.parameters/site: (Optional, since v2.0) Per-site setting overrides (see below).range: (If the app supports frame splitting) Integer range. One or more entries:1-10(range),4(single),5-250x5(every 5th frame).settings: Standard accsyn settings for all involved file transfers. See https://support.accsyn.com.
Filters¶
ram: RAM restriction.ram:<32g(less than 32 GB) orram:>64g(more than 64 GB).hostname: Include or exclude machines by hostname or ID.hostname:+myhostname(include only),hostname:-myhostname(exclude). Combine:hostname:-myhostname1-myhostname2.site: Restrict to a site.site:-mysiteexcludes sitemysite. See site-specific settings below.
Site settings¶
Per-site settings under parameters, editable after submit.
Provide settings by site name or ID with sub-key settings:
download; Settings for downloads from main site to this site (typically render scripts and dependencies).upload; Settings for uploads from this site back to main site.common; Settings applied to both downloads and uploads.
The local site is reserved for the remote submitting machine and applies only when submitting from the roaming site. For local, download and upload settings are swapped — upload settings govern dependency uploads to main site, download settings govern result downloads.
Note
For settings that apply to all render job sync transfers, put them in the root settings dictionary.