[ca] L'aplicació de la robòtica presenta requisits estrictes en el temps d'execució, requerint implementacions eficients dels seus nuclis d'àlgebra lineal. Aquests nuclis contenen patrons de dispersió i fluxos de control propis del domini, que han de ser explotats per a maximitzar el rendiment. Malgrat això, les implementacions basades en llibreries d'aquests nuclis de geometria i física només exploten parcialment aquesta informació, deixant rendiment sobre la taula. D'altra banda, compiladors d'àlgebra lineal existents no tenen visibilitat sobre la informació pròpia del domini. Per a omplir aquest buit, és crucial incorporar la màxima informació del domini per a explotar al màxim el rendiment que aquesta ofereix. Per a aquest propòsit, presentem un compilador per a generar nuclis vectorizados de física i geometria per a robots. El nostre treball aborda aquest repte sent flexible i amb tres pilars crítics que sustenten el seu rendiment: (i) flux de control del domini i propagació de dispersió, (ii) incorporar els patrons de dispersió de les matrius i emmagatzemar les seves primitives, (iii) vectorització per grups tenint en consideració la dispersió del domini. Hem avaluat el nostre treball en tasques claus dins de la planificació del moviment, com és la cinemàtica directa i el control de col·lisions, aconseguint accelerar l'execució en aquestes tasques en un factor d'entre 12x a 29x depenent del robot. Vam demostrar que adaptant-se a diferents fluxos de control, robots i paral·lelisme SIMD mitjançant l'exploració de l'espai de disseny permet millorar enormement el rendiment.

[en] Robotics applications have hard real-time requirements, necessitating fast implementations of their core linear algebra kernels. These kernels exhibit rich, domain-driven, structured sparsity and control flow patterns, which, when not exploited, leave performance on the table. However, library-based implementations of these physics and geometry kernels can only exploit limited domain info at compile time. On the other hand, existing linear algebra compilers do not have visibility into domain information, leaving them unable to specialize sparsity propagation and vectorization to the domain. To fill this gap, it is crucial to incorporate rich domain information into compilers to fully exploit the problem structure of these robotics kernels. To this end, we introduce a compiler for automatically generating fast vectorized robot physics and geometry kernels. Our work addresses this challenge by being flexible to three features critical to the performance of linear algebra for robotics: (i) robot and geometry-driven control flow and sparsity propagation, informing (ii) diverse forms of structured matrix sparsity and storage primitives, and (iii) sparsity-aware batched vectorization. We evaluate our workload on key workloads inside motion planning, such as forward kinematics and collision checking, important robot and geometry-driven workloads, and achieve speedups ranging from 12$\times$ to 29$\times$ across multiple robots. We demonstrate that modulating across choices of robot and geometry-driven control flow and SIMD parallelism leads to large, sometimes counterintuitive, differences in performance, underscoring the need for using compilers to explore complex design spaces.