Skip to content

Single-Task Multi-Process Orchestrator for Adobe After Effects renders on AWS Deadline Cloud (multi-process aerender with optional NUMA affinity & font sync).

Notifications You must be signed in to change notification settings

matthewpenkala/AE2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

STMPO for After Effects (AWS Deadline Cloud)

Single-Task Multi-Process Orchestrator (STMPO) for Adobe After Effects running on AWS Deadline Cloud.

This repo extends the official AWS Deadline Cloud for After Effects integration with:

  • A custom ScriptUI submitter (DeadlineCloudSubmitter_STMPO.jsx)
  • A STMPO-enabled job template bundle
  • A small collection of worker-side helper scripts

Together, they let a single Deadline task fan out into multiple parallel aerender.exe processes on a large multi-core worker, with optional NUMA-aware CPU affinity and automatic font deployment.

One Deadline task β†’ many local aerender workers, with optional core pinning and AE Multi-Frame Rendering awareness.


Features

  • 🧠 STMPO orchestration

    • Splits a task’s frame range into N sub-ranges.
    • Spawns N child aerender.exe processes in parallel on the worker.
    • Tracks children, aggregates logs, and enforces a configurable fail-fast policy.
  • 🧡 Multi-Frame Rendering–aware

    • Uses AE’s -mfr flag per child.
    • Supports explicit on/off for MFR.
    • Auto-mode can choose a concurrency based on logical cores and MFR settings.
  • βš™οΈ NUMA / CPU affinity (optional)

    • Reads a JSON NUMA map (numa_map.json) to understand physical CPU layout.
    • Slices CPU pools into affinity blocks and pins each aerender child to its own block.
    • Graceful fallback: if affinity or topology fails, STMPO logs a warning and continues without pinning.
    • Affinity is disabled by default (opt-in with --enable_affinity) and remains off by default on Windows hosts with more than 64 logical CPUs to avoid processor-group pinning errors (WinError 87).
  • πŸ—‚ Job template integration

    • OpenJD job templates for both video and image sequence renders.
    • STMPO controls exposed in the AWS Deadline Cloud submission UI.
    • Job environment that creates output directories on the worker before rendering.
  • πŸ”€ Font deployment

    • Detects fonts used on the submitter machine, attaches them to the job, and installs them on the worker at job start.
    • Cleans up fonts at job end, so workers stay tidy.

Repository layout

From the repo root:

.
β”œβ”€ DeadlineCloudSubmitter_STMPO.jsx
└─ DeadlineCloudSubmitter_Assets/
   └─ JobTemplate/
      β”œβ”€ template.json
      β”œβ”€ image_template.json
      β”œβ”€ video_template.json
      β”œβ”€ job_environments_fragment.json
      β”œβ”€ parameter_definitions_image_fragment.json
      β”œβ”€ parameter_definitions_video_fragment.json
      β”œβ”€ step_image_fragment.json
      β”œβ”€ step_video_fragment.json
      └─ scripts/
         β”œβ”€ call_aerender.py
         β”œβ”€ create_output_directory.py
         β”œβ”€ font_manager.py
         β”œβ”€ get_user_fonts.py
         β”œβ”€ numa_map.json
         └─ stmpo_wrapper.py

About

Single-Task Multi-Process Orchestrator for Adobe After Effects renders on AWS Deadline Cloud (multi-process aerender with optional NUMA affinity & font sync).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published