Horde not seeing all agents

[Travis Kimble]

Hello!I started using Horde yesterday (amazing tool btw!) and I was wondering if there was a way to force leverage all agents in a pool.I have 5 agents. They all have the same hardware specs:

CPU: AMD EPYC 9754 128-Core Processor x2

Storage: 7TB

Physical Cores: 256 total per node

RAM: 256GB

Each agent is registered to the Horde server and is in the same (default) pool of Win-UE5. Each agent has the toolbox downloaded and I set the agent to dedicated.But when I trigger a compile, only the server, and two agents show up in the visualizer. Is there a setting I’m missing to make sure the compile is spread evenly across all agents?Here is my current BuildConfiguration.xml file

<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
	<BuildConfiguration>
		 <bAllowUBAExecutor>true</bAllowUBAExecutor>
		 <bAllowUBALocalExecutor>true</bAllowUBALocalExecutor>
		 <bAllowXGE>false</bAllowXGE>
	 </BuildConfiguration>
		
	 <Horde>
		 <Server>http://<ip>:13340</Server>
		 <WindowsPool>Win-UE5</WindowsPool>
	 </Horde>
		
	 <UnrealBuildAccelerator>
		 <bLaunchVisualizer>true</bLaunchVisualizer>
	 </UnrealBuildAccelerator>
</Configuration>

I’ve tried with and without the

<bAllowUBALocalExecutor>true</bAllowUBALocalExecutor>
<bAllowXGE>false</bAllowXGE>

Params set

Steps to Reproduce
Setup per below description

Hey there,

Thanks for the details above - it definitely helps.

Just to confirm, you’re referring to the UBA capabilities through Horde? If so, what I suspect is going on here is that you’re hitting your request limit for cores (we set that here - https://github.com/EpicGames/UnrealEngine/blob/5.5/Engine/Source/Programs/UnrealBuildTool/Executors/UnrealBuildAccelerator/UnrealBuildAcceleratorHordeConfig.cs#L144)

  • The default setting is 576
  • If you share a screenshot of your UBA Visualizer session (just the top portion; no file view needed) you should see the number of cores acquired for your session

It’s worth noting you can change this parameter from BuildConfiguration.xml.

Conversely you can also limit what the Agent itself exposes to be used via -MaxCPU; but it’s important to note the only consumption site of this right now is to just inlay the UE_HORDE_CPU_COUNT environment vairable into the -MaxCPU param (which is issued to UBA itself).

I hope this clears some things up, and gives some hints to what could be amiss here.

Edit: I have also written a knowledge base article here for some practical debugging tips for UBA, and here for practical debugging tips for Horde.

Kind regards,

Julian

Hi Julian,

Many thanks for this, we utilized the -MaxCPU parameter and this led it to scale across our farm as we would expect.

Cheers

Martin