It's said that good things come to those who wait: it's just that it would be nice if they arrived quicker. Thankfully, for games studios, Incredibuild is there to help. The software, which distributes processes to every available CPU across a network, speeds up time-consuming, repetitive tasks like compiling tools, engine code and shaders: tasks that otherwise tie up workstations, leaving developers and artists sitting idle.
And Incredibuild plays incredibly well with cloud computing. Rather than consuming valuable on-premises resources, studios can burst compilation jobs to the cloud, harnessing the huge vCPU counts and memory capacities of AMD-powered Amazon EC2 G4ad and C5a instances to slash waiting times still further.
Taking the tedium out of compiling code
Used by developers ranging from indie studios to giants like Bandai Namco Entertainment, Incredibuild is a mainstay of games pipelines. The software integrates tightly with Unreal Engine – its developer, Epic Games, is itself an Incredibuild user – accelerating compilation of shader code in the Unreal Editor, and building engine code itself, whether from IDEs like Visual Studio, or as part of continuous integration.
While compiling Unreal Engine from source typically takes less than an hour, the process is repeated many times during development, each interruption slowing down work and breaking a developer's mental flow. Similarly, artists may have to wait minutes for shaders to compile before they can even open a game level – minutes that quickly accumulate into hours as the process is repeated across the course of a working week.
Incredibuild helps speed up compilation in two ways: by reusing cached outputs from previous builds where inputs haven't changed, and distributing the work to every available CPU across a network when they have. The time saving is significant across a local network, but even greater when studios also call upon cloud resources like Amazon's EC2 C5a and G4ad instances, powered by massively multi-core AMD CPUs.
AMD-based Amazon EC2 instances: a powerful, cost-effective solution for game development
Available in eight configurations to suit all types of compute-intensive workloads, EC2 C5a instances use custom second-generation AMD EPYC™ 7002 processors running at clock speeds of up to 3.3GHz. Providing up to 96 vCPUs, up to 192GiB of memory, and up to 20Gbps of network bandwidth, C5a instances offer the lowest cost per x86 CPU in the EC2 portfolio: 10% lower than comparable Intel-based. (1)
For graphically intensive tasks, separate EC2 G4ad instances bring the power of both the AMD RDNA™ and Zen 2 processor architectures to the cloud, with second-generation EPYC processors – themselves providing up to 64 vCPUs and 256GB of memory – complemented by AMD Radeon™ Pro V520 GPUs.
Together, the two types of instances enable studios to manage their entire Unreal Engine workflow online, using G4ad instances as virtual workstations on which to make edits to a level inside the Unreal Editor, and a network of C5a instances acting as Incredibuild Agents to compile shaders, or to build the engine itself.
Virtual build farms compile code 3.7x faster than on-premises workstations (2)
Rental of the 11 EC2 instances costs $52.24* per hour: a fraction of the labour cost incurred by having a senior artist or developer sitting idle for the same period. And with the virtual build farm able to complete seven similar compilation jobs during that hour, the actual cost per build comes in at just $7.46,
*Pricing based on EC2 C5a instance, $5.223 per hour, Ireland region - 4 February 2022
Turbo-charging time-consuming game development processes
Teamed with Incredibuild, AMD-based Amazon EC2 C5a and G4ad instances mean that game development need no longer be a waiting game. Being able to harness hundreds of vCPUs on demand turbo-charges the compilation of shaders or engine code, while being able to shift the process to the cloud eliminates flow-breaking interruptions for artists and developers, reclaiming hours of lost time across a working week.
And with Incredibuild able to distribute a range of other repetitive game development tasks – from file conversion and texture processing to lightmap baking and rendering – to AMD-powered virtual build farms, the time savings don't end there. AMD and Incredibuild: a winning combination for game developers.
More resources:
George Watkins is a Product Marketing Manager for AMD. His postings are his own opinions and may not represent AMD’s positions, strategies or opinions. Links to third party sites are provided for convenience and unless explicitly stated, AMD is not responsible for the contents of such linked sites and no endorsement is implied. Third party marks are for informational purposes only and no endorsement of or by AMD is intended or implied.
1 All performance and cost savings claims are provided by Amazon and have not been independently verified by AMD. Performance and cost benefits are impacted by a variety of variables. Results herein are specific to Amazon and may not be typical. GD-181 Source: https://aws.amazon.com/about-aws/whats-new/2020/06/now-available-amazon-ec2-c5a-instances-featuring-...
2 Testing conducted by AMD Performance Labs as of 17/02/2022 on live AWS Cloud VM G4ad 4xlarge using AWS customized graphics driver version Radeon-Pro-Software-for-Enterprise-20.10.25.04, with Windows® Server 2019 and 10x C5a instances as slave machines for the workload build. Local machine used was Whitebox desktop workstation, with AMD Ryzen 7 5800x CPU 16core, 64 GiB memory and AMD Radeon PROTM WX5700 w/ 8GB VRAM. Application used was Unreal Engine® Editor 4 and Incredibuild® software using “ShooterGame” sample from Unreal on both desktop and VM machines. All test results drawn from composite, average, AMD internal test sequence scores over 3 runs. Performance may vary based on use of latest drivers. Cloud performance results presented are based on the test date in the configuration and are in alignment with AMD internal bare-metal testing factoring in cloud service provider overhead. Results may vary due to changes to the underlying configuration, and other conditions such as the placement of the VM and its resources, optimizations by the cloud service provider, accessed cloud regions, co-tenants, and the types of other workloads exercised at the same time on the system.