Resource Grid & Allocation - Virtual View | AVX Architect
This video explains how to manage allocation and the resource grid in AVX Architect software for Soundweb OMNI DSPs and I/O Expanders. You’ll learn how allocation determines which OMNI device handles audio or logic processing objects, how to view and change allocation settings, and how to use the resource grid to monitor CPU, DSP, and Dante usage. Plus, we’ll share tips for selecting multiple objects and optimizing resource management for better performance.
Transcript
In this video, we’re going to continue expanding on the Virtual view and look at Allocation. Allocation is how AVX Architect handles assigning processing objects to various hardware in your design. To talk about allocation, we first need some hardware devices. I’m going to go ahead and add two DSP and two expanders to the system view.
From here, open the Virtual View. We’ll first notice that the four devices we added now show in the Component List on the left pane. Under that is the Virtual Library, and this first drop-down is for the “Default Host”. This default host is the hardware that the processing object will be allocated to by default when placed into the workspace from the Virtual Library. This default host can be changed, but notice that switching to an expander will remove some objects from the Audio processing objects. This is because the expanders do not support any audio processing.
Let’s set the default host back to DSP1 and add some processing objects to the workspace. These objects are both allocated to DSP1, and we can also see that the wire connecting them is solid, which is also an indicator that the two objects exist in the same processor. We can confirm this by selecting the object and looking at the Allocation section of the Properties window. Using this drop-down, the processor this object is allocated to can be changed. If we change this to DSP2, the project will update and now the wire connecting our objects is dotted, indicating that the two objects exist on different processors. Privately routed Dante is used to get the audio from one processor to the other. Allocation can also be assigned in bulk. If multiple objects are selected, use the same drop-down to assign them all to a single processor at the same time.
This same concept can also be applied to the expanders that can handle logic processing. Let’s drag an Expander from the component list into the workspace. The first thing you’ll notice is that these objects from the component list are allocated to their respective hardware, and this can’t be changed. I’m going to move these outputs over so we can wire up some logic in between. Using the Gain object, let’s pull in a mute button to give us a logic binary object. If we tie this logic object into the expander, it will have dotted wires. This is because the Default Host is set to DSP1. Changing this allocation to Expander 1, the wires will become solid.
As processing objects are added to the design and allocated to processors, the Resource Grid will update and show the percentage used of the CPU, DSP, and Dante. Let’s add a Dante block to the design and assign it some channels. The Resource Grid now only shows 1% because it’s assigned to DSP1. Let’s change it to the Expander. Notice that the Dante usage has jumped up to 15%. Double-click the Resource Grid for more information about resources in this Resource Grid tool. Clicking into any of these sections will allow us to dig even deeper. If I click this Dante section of the grid, we’ll get another window with Advanced Dante information. This includes the device’s connected status, number of channels used, and flows. This device is offline, but here’s the view of a device that is live.
Here's another tip for using the Resource Grid tool. To the left of the device name, you can use this icon to highlight or darken the processing objects on that device. Notice that doing this for DSP2 will make the processing objects darker that are allocated to DSP2. You can also use these “Select” buttons to the right of the DSP name to bulk select audio, logic, or IO objects to re-assign them to another device or even delete them entirely. You can also select everything in the workspace by pressing Control+A, then use the Deselect option in the Resource Grid tool to deselect objects assigned to a particular hardware device.