Is it possible to solve for $x$
$$ \left( \sum_i^N J_i J_i^T \right) x = \sum_i^N J_i \alpha_i$$ where $\alpha_i \in \mathbb{R}$ is a scalar and $J_i \in \mathbb{R}^6$ is a vector
in such a way that I do not have to do a summation over all $\mathbb{R}^{6 \times 6}$ matrices ($J_i J_i^T \in \mathbb{R}^{6 \times 6}$).
What is the reason?
- $N \approx 10^5$ is quite large.
- On a GPU this involves 2 sum reductions.
- The left-hand side involves a $\mathbb{R}^{6 \times 6}$ sum reduction - the right-hand side a $ \mathbb{R}^{6}$ sum reduction: $$ \left( \sum_i^N \mathbb{R}^{6 \times 6}_i \right) x = \sum_i^N \mathbb{R}_i^{6} \mathbb{R}_i$$
- Reducing $\mathbb{R}^{6 \times 6}$ matrices $N$ times drains the GPU bandwidth.
What is my goal?
- Doing a sum reduction with a lower dimensionality. For example $$ x = \sum_i^N \mathbb{R}^{6}$$
Important notes
- The GPU is memory bound but not compute bound.
- Consider $\left( \sum_i^N J_i J_i^T \right)$ as positive semi-definite.
Thanks