Feature tracking
In various examples, a VPU and associated components may be optimized to improve VPU performance and throughput. For example, the VPU may include a min/max collector, automatic store predication functionality, a SIMD data path organization that allows for inter-lane sharing, a transposed load/store with stride parameter functionality, a load with permute and zero insertion functionality, hardware, logic, and memory layout functionality to allow for two point and two by two point lookups, and per memory bank load caching capabilities. In addition, decoupled accelerators may be used to offload VPU processing tasks to increase throughput and performance, and a hardware sequencer may be included in a DMA system to reduce programming complexity of the VPU and the DMA system. The DMA and VPU may execute a VPU configuration mode that allows the VPU and DMA to operate without a processing controller for performing dynamic region based data movement operations.
1 . A method comprising:
retrieving, using a direct memory access (DMA) system, first data stored in one or more memories by a processor, the first data representative of one or more first locations associated with a tracked feature determined using sensor data;
determining, using the DMA system and based at least on the one or more first locations, one or more descriptors associated with the tracked feature;
storing, using the DMA system, second data in the one or more memories and for the processor, the second data representative of the one or more descriptors associated with the tracked feature; and
retrieving, using the DMA system, third data stored in the one or more memories by the processor, the third data representative of one or more second locations associated with the tracked feature as determined by the processor using at least the second data.
2 . The method of claim 1 , further comprising:
determining, using the DMA system based at least on the third data, the one or more second locations associated with the tracked feature; and
updating, using the DMA system and based at least on the one or more second locations, the second data representative of the one or more descriptors associated with the tracked feature.
3 . The method of claim 1 , wherein:
the one or more first locations associated with the tracked feature are determined using the sensor data obtained using a machine; and
the one or more second locations associated with the tracked feature are determined using the second data and second sensor data obtained using the machine.
4 . The method of claim 1 , further comprising:
determining, using the DMA system and based at least on the first data, the one or more first locations associated with the tracked feature.
5 . The method of claim 1 , wherein:
the retrieving the first data representative the one or more first locations associated with the tracked feature is from a first memory of the one or more memories; and
the storing the second data representative of the one or more descriptors associated with the tracked feature is in a second memory of the one or more memories.
6 . The method of claim 1 , further comprising:
receiving, using the DMA system, an indication that the one or more first locations associated with the tracked feature are stored in the one or more memories,
wherein the retrieving the first data representative of the one or more first locations associated with the tracked feature is based at least on the receiving the indication.
7 . The method of claim 1 , further comprising receiving, using the DMA system and from a processor controller, a configuration to perform at least one of:
the retrieving the first data representative of the one or more first locations associated with the tracked feature; or
the storing the second data representative of the one or more descriptors associated with the tracked feature.
8 . The method of claim 1 , further comprising sending, using the DMA system and to the processor, an indication that the second data representative of the one or more descriptors associated with the tracked feature is stored in the one or more memories.
9 . The method of claim 1 , wherein the first data is representative of one or more address/data pairs indicating the one or more first locations associated with the tracked feature.
10 . A method comprising:
storing, using a direct memory access (DMA) system, first data in one or more memories for access by a processor, the first data representative of one or more descriptors associated with a tracked feature that is represented by sensor data;
reading, using the DMA system, second data stored in the one or more memories by the processor, the second data representative of one or more first locations associated with the tracked feature as determined by the processor using at least a portion of the first data;
updating, using the DMA system and based at least on the one or more first locations, the first data representative of the one or more descriptors associated with the tracked feature; and
reading, using the DMA system, third data stored in the one or more memories by the processor, the third data representative of one or more second locations associated with the tracked feature as determined by the processor using at least a portion of the first data as updated.
11 . The method of claim 10 , further comprising:
determining, using the DMA system and with respect to the one or more memories, one or more previous locations associated with the tracked feature,
wherein the storing the first data representative of the one or more descriptors associated with the tracked feature is based at least on the one or more previous locations.
12 . The method of claim 10 , wherein:
the one or more first locations associated with the tracked feature are determined using the sensor data obtained using a machine and the at least the portion of the first data; and
the one or more second locations associated with the tracked feature are determined using second sensor data obtained using the machine.
13 . The method of claim 10 , further comprising:
determining, using the DMA system and based at least on the first data, the one or more first locations associated with the tracked feature.
14 . The method of claim 10 , wherein:
the storing the first data representative of the one or more descriptors associated with the tracked feature is in a first memory of the one or more memories; and
the reading the second data representative of the one or more first locations associated with the tracked feature is from a second memory of the one or more memories.
15 . The method of claim 10 , further comprising:
receiving, using the DMA system, an indication that the one or more first locations associated with the tracked feature are stored in the one or more memories,
wherein the reading the second data representative of the one or more first locations associated with the tracked feature is based at least on the receiving the indication.
16 . The method of claim 10 , further comprising receiving, using the DMA system and from a processor controller, a configuration to perform at least one of:
the determining of the one or more descriptors associated with the tracked feature; or
the updating the first data representative of the one or more descriptors associated with the tracked feature.
17 . The method of claim 10 , further comprising determining, using the DMA system, the one or more second locations associated with the tracked feature based at least on the first data as updated.
18 . The method of claim 10 , wherein the updating the first data representative of the one or more descriptors associated with the tracked feature comprises storing, using the DMA system and in the one or more memories, fourth data representative of at least one of the one or more descriptors associated with the tracked feature or one or more second descriptors associated with the tracked feature.
19 . A system comprising:
a direct memory access (DMA) system to:
retrieve first data stored in one or more memories by a processor, the first data representative of one or more first locations associated with a tracked feature determined using sensor data;
determine, based at least on the one or more first locations, one or more descriptors associated with the tracked feature;
store second data in the one or more memories for the processor, the second data representative of the one or more descriptors associated with the tracked feature; and
retrieve third data stored in the one or more memories by the processor, the third data representative of one or more second locations associated with the tracked feature as determined by the processor using at least a portion of the one or more descriptors.
20 . The system of claim 19 , wherein the system is comprised in at least one of:
a control system for an autonomous or semi-autonomous machine;
a perception system for an autonomous or semi-autonomous machine;
a system for performing simulation operations;
a system for performing deep learning operations;
a system on chip (SoC);
a system including a programmable vision accelerator (PVA);
a system including a vison processing unit;
a system implemented using an edge device;
a system implemented using a robot;
a system incorporating one or more virtual machines (VMs);
a system implemented at least partially in a data center; or
a system implemented at least partially using cloud computing resources.