I am currently developing an audio layout using AWE Designer and have a question regarding CPU performance differences between the Win32 Native target and the actual Hexagon DSP hardware.
Observation:
When running the layout on the Win32 Native target, I noticed that the PC CPU usage for a single instance often hits 100% (showing an "Overflow" status), which suggests the CPU is overloaded.
However, when I run the same layout on the Hexagon DSP, the processing load is distributed evenly across multiple cores (e.g., CPU0 to CPU5), and the system runs smoothly without overflow.
My Question:
Is this behavior expected? I understand that the Win32 target might handle threading differently than the Hexagon architecture. Does a "CPU Overflow" on the Win32 Native target necessarily mean my audio algorithm is too complex, or is this simply a limitation of the single-threaded simulation on Windows compared to the multi-core parallel processing on the Hexagon DSP?
I want to make sure I am not overlooking a potential performance issue before finalizing the design.
Thank you for your clarification!
2:13pm
Peter,
I think you are referring to multiple threads (which is represented by multiple CPU percentages in AWEServer when connected to the Hexagon). This is pretty normal and actually expected for larger multithread layouts.
In Native mode, Audio Weaver emulates multithreading by running all software threads on a single execution timeline using priority based exemption, so all software threads share the same compute budget. However, on the hexagon, there are multiple hardware threads (4 or 6 depending on the DSP) of which software threads are split between. This essentially multiplies your compute budget by the number of hardware threads.
2:14pm
All that to say, trust the profiling of the hexagon more if that is the target you would like to deploy on. If your CPU percentages are good on the hexagon, your layout is fine.
10:26pm
Thank you for the clear explanation! That makes perfect sense.