Compilation failed: Performance Flow requires automatic resource utilization

Hi All,

I’m trying to compile a finetuned yolov11 model as per this guide.

I’m getting an error: Performance Flow requires automatic resource utilization

[info] ClientRunner initialized successfully.[info] Loading network parameters[info] Starting Hailo allocation and compilation flow[info] Adding an output layer after conv102[info] Adding an output layer after conv105[info] Adding an output layer after conv87[info] Adding an output layer after conv90[info] Adding an output layer after conv71[info] Adding an output layer after conv74[info] Building optimization options for network layers…[info] Successfully built optimization options - 1m 11s 720ms[error] Mapping Failed (allocation time: 1m 12s)Performance Flow requires automatic resource utilization
[error] Failed to produce compiled graph[error] Failed to compile the model: Compilation failed: Performance Flow requires automatic resource utilization[error] BackendAllocatorException: Compilation failed: Performance Flow requires automatic resource utilization

Following this discussion, I set performance_param(compiler_optimization_level=1) in the alls file. This doesn’t seem to have helped though.

Any ideas?

I actually managed to get past this.
The workflow I was following seemed to bake the alls file into the .har.
I created a separate alls file and used the hailo command line to compile with it (omitting performance_param entirely) – the process seemed to go through.

Hey @Justin_Brody,

Welcome to the Hailo Community!

Nice to see you got it running!

Here’s what happened: Performance Flow needs automatic control over how it uses the chip’s resources to optimize for speed. But your .alls file (or something baked into your .har) had manual resource assignments in it. These two things conflict - Performance Flow can’t do its automatic optimization when resources are manually controlled, so it threw that error.

When you switched to a different .alls file or removed the performance parameters, you eliminated the manual constraints and let the compiler use automatic mode, which is why it worked.

Basically, you can have manual resource control OR Performance Flow’s automatic optimization, but not both at the same time.

That makes sense – thanks for the explanation!

1 Like