Is "fps" a parameter for performance_param?

In “Hailo Dataflow Compiler User Guide (v3.32.0)”, on page 131, definition of performance_param is described as below.

performance_param(compiler_optimization_level=max, optimize_for_batch=value)

But, Source Code A below runs error at runner.compile(), then Source Code B below runs without error.

Source Code A:

        ...
    'performance_param(compiler_optimization_level=max)\n'
        ...
hef = runner.compile()

Source Code B:

        ...
    'performance_param(fps=30, compiler_optimization_level=max)\n'
        ...
hef = runner.compile()

Hey @koch_hiraga,

Welcome to the Hailo Community!

Starting with version 3.30.0 (and this applies to all newer versions too), there’s an important change in how the compiler works.

If you want to use the compiler_optimization_level parameter, you absolutely need to pair it with a performance target - specifically the fps parameter. The compiler simply won’t accept the optimization level on its own anymore.

This is actually spelled out in the documentation, though it’s easy to miss. The compiler requires that FPS specification to do its job properly. Just keep in mind that if you’re working with Multi-Context models, the compiler will ignore this command completely.

Hope that helps clear things up!