President George H.W. Bush zei beroemd dat hij “the vision thing” niet deed. . Nou, hier bij Cadence doen we zeker het vision-ding. In feite is de Tensilica Vision DSP-productlijn de marktleider op het gebied van vision.
Tot deze week waren de primaire producten in het portfolio de Vision P6 DSP aan de lage kant en de Vision Q7 DSP aan de hoge kant (er zijn ook oudere producten). Deze week, op de Linley Processor Conference, kondigt Cadence twee nieuwe Tensilica Vision Processors aan, de Tensilica Vision Q8 DSP aan de hoge kant en de Tensilica Vision P1 DSP aan de lage kant. Het totale portfolio ziet er dus als volgt uit:
Zie mijn berichten voor meer informatie over de twee bestaande processors:
- Vision Q7 DSP: Real-Time Vision and AI at the Edge (Q7)
- Nieuwe algoritmen voor Vision vereist een nieuwe processor (P6)
Vision heeft een enorme spreiding in eisen, variërend van IoT-apparaten zoals slimme deurbellen tot de camera's die betrokken zijn bij autonoom rijden. Of bij 3D-opname, waarbij meerdere camera's betrokken zijn, waarvoor een nog zwaarder rekenvermogen vereist is. De breedte van deze spreiding van eisen betekent dat er nieuwe processors nodig zijn aan zowel de lage als de hoge kant. Dat is waar de Vision Q8 DSP en de Vision P1 DSP van pas komen.
De Vision Q8 DSP is gericht op de high-end, met zeer hoge prestaties. De Vision P1 DSP is gericht op altijd-aan-toepassingen, met een zeer laag gebied en vermogen. Het is de moeite waard te benadrukken dat tegenwoordig “visie” gaat om veel meer dan het verwerken van afbeeldingen, al blijft dat een belangrijke toepassing. Steeds vaker worden Vision DSP's gebruikt om de beelden te analyseren en objecten te identificeren (zoals voetgangers in een autonoom voertuig). Als zodanig zijn er, naast het datapad voor beeldverwerking, ook arrays van MAC's voor neurale netwerkverwerking. Zelfs een slimme deurbel moet slim zijn. De camerapijplijn is meestal ongeveer zo, hoewel dit afhankelijk is van de exacte toepassing:
Alle Tensilica Vision DSP's hebben een vergelijkbare architectuur. Uiteraard variëren zaken als de busbreedtes en het aantal uitvoeringseenheden en MAC's, maar de structuur niet. Alle Vision DSP's ondersteunen ook TIE, de Tensilica Instruction Extension-taal, waarmee aangepaste instructies kunnen worden toegevoegd. Voor meer informatie over TIE, zie mijn bericht Aangepaste instructies in Tensilica: een TIE dragen maakt je slimmer.
Ik moet zeggen dat de Vision P1 DSP de Vision P6 DSP niet verouderd, noch de Vision Q8 DSP de Vision Q7 DSP. Ze zijn verspreid over een breed scala aan prestatie-/vermogens-/oppervlaktepunten, dus er zijn nog steeds toepassingen waarvoor de Vision P6 DSP of de Vision Q7 DSP de goede plek is. Aan de andere kant, als een toepassing twee Vision Q7 DSP-processors nodig heeft, is het logischer om in plaats daarvan over te stappen op de Vision Q8 DSP. En aan de onderkant zijn er zeker toepassingen waarvoor het beperkte vermogen van de Vision P1 DSP onvoldoende zal zijn. Dus de portfolio ziet er echt uit als de afbeelding hierboven, met vier processors. Laten we eens kijken naar de twee nieuwe processors en hoe ze zich verhouden tot de bestaande processors in het portfolio.
Tensilica Vision Q8 DSP
De afbeelding hierboven toont de kenmerken van de Vision Q8 DSP. Het is een 1024-bit SIMD (single-instructie, multiple-data) die twee keer zo breed is als de Vision Q7 DSP of Vision P6 DSP. Het heeft geen zin om een krachtige processor te hebben als deze te weinig gegevens heeft, dus de geheugeninterface is verhoogd tot 2048-bits. Er zijn nieuwe gegevenstypen toegevoegd: FP64 en complexe getallen (gebaseerd op FP16, FP32 of FP64). Er zijn ingebouwde vermogensmeetfuncties die kunnen worden gebruikt voor vermogensoptimalisatie, waarbij de prestaties van de klok dynamisch worden gevarieerd via dynamische spannings- en frequentieschaling (DVFS).
Er zijn ook verbeteringen in de AI-prestaties, met een MAC-array die kan worden geconfigureerd als 1024 8-bit MAC's of als 256 16-bit MAC's. Er zijn ook verbeteringen voor niet-convolutionele neurale netwerklagen, zoals lekkende of parametrische ReLU. Er zijn ook andere verbeteringen, waardoor de Vision Q8 DSP twee keer de AI-prestaties heeft van de Vision Q7 DSP op veelgebruikte AI-benchmarks.
In de meest veeleisende toepassingen, zoals autonoom rijden, is één Vision Q8 DSP misschien niet genoeg. Maar er kunnen meerdere processors worden gekoppeld aan de Cadence Multicore Connect, zoals in het bovenstaande diagram.
Tensilica Vision P1 DSP
Het bovenstaande diagram toont de mogelijkheden van de Vision P1 DSP. Het heeft opzettelijk beperkte mogelijkheden, omdat het voornamelijk is gericht op altijd-aan-toepassingen. Het biedt echter nog steeds tot 400 Giga Operations Per Second (GOPS). Het heeft een 128-bit SIMD-architectuur (¼ de breedte van de Vision P6 DSP) en slechts een 256-bit geheugeninterface. De AI-eenheid heeft 128 8-bit MAC's (dus hoewel het een vierde van de SIMD is in vergelijking met de Vision P6 DSP, zijn de MAC's slechts gehalveerd). Het is een derde van het gebied en het vermogen van de Vision P6 DSP, maar werkt op een 20% hogere frequentie. Het is volledig compatibel met de instructieset met de Vision P6 DSP en gebruikt dezelfde compilers en bibliotheken als andere Vision DSP's. Het ondersteunt ook TensorFlow Lite Micro, de implementatie van Tensor Flow gericht op microcontrollers.
Software
Ik zal niet veel zeggen over software, aangezien de toolchain en bibliotheken in principe hetzelfde zijn als elke andere Tensilica-processor. U kunt alle Tensilica-processors rechtstreeks programmeren in C++, Halide, OpenCL, OpenVX Graph en meer, zoals weergegeven in het bovenstaande diagram. Voor AI-toepassingen kan het Cadence AI Software-ecosysteem worden gebruikt, zoals weergegeven in het onderstaande diagram:
Samenvatting
Hier is een samenvatting van de twee nieuwe processors. De processors zijn gebaseerd op de succesvolle Vision P6- en Vision Q7-cores, met dezelfde instructieset, toolflows, software, enzovoort. De Vision Q8 DSP is qua prestaties geoptimaliseerd voor de meest veeleisende vision-toepassingen. De Vision P1 DSP is geoptimaliseerd voor de meest veeleisende vision-toepassingen op het gebied van vermogen (met name altijd-aan-toepassingen die een zeer laag stand-byvermogen vereisen). De algehele prestaties van de twee kernen zijn samengevat in de twee onderstaande tabellen:
Meer informatie
Zie de pagina Vision DSPs for Imaging and Vision.
Paul McLellan
Editor, Breakfast Bytes, Cadence