What does it mean when I see an Underflow error in Skydel during a simulation?
When a simulation results in an Underflow, also known as Under-run, it means the hardware wasn’t able to keep up and generate data as fast as the radios are consuming it. This usually means the GPUs were overloaded with too many signals, while it is also possible to overload the CPU.
It is important to know that each multipath and spoofer signal are additional signals which take as much resources as the original signals. It’s possible to know in advance if your simulation is likely to Underflow using the “Test GPU Speed” feature.
This is a great feature and I use it often especially when I am adding a lot of signals to a single radio.
In most cases, underruns can be avoided with a bit of preparation and scenario optimization.
- When running with a lot of signals, using the GPU benchmark is a good check.
- In the Output Settings, you can also make choices that will make better use of the hardware. For example, when you assign signals that are not using the same central frequency such as GLONASS G1 and BeiDou B1 to the same output, Skydel must increase the sampling rate to cover a wider frequency range. G1 and B1 requires 60MSps when combined on the same output, but only 12.5MSps when using 2 different outputs. Higher sampling rates require more GPU resources.
- The other option is to add a GPU and assign a different GPU to each RF output. It is also possible to use multiple computers and even custom computers with several GPUs. Orolia was able to generate close to 1000 signals on a single computer.
- Lastly, upgrading Skydel to the latest release might help. Orolia is currently working on a refactoring of the code running in the GPU to improve significantly the performance of Skydel.