Aussie AI
Loop Collapsing
-
Book Excerpt from "Generative AI in C++"
-
by David Spuler, Ph.D.
Loop Collapsing
Loop collapsing is closely related to loop coalescing, since both aim to flatten nested loops, but loop collapsing is a special situation where the array is also flattened to one dimension.
Consider a matrix initialization via nested loops over a 2-dimensional array:
for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { arr[i][j] = 0.0f; } }
The loop collapsed version has one big loop over a different one-dimensional array:
int maxx = n * m; for (int x = 0; x < maxx; x++) { arr2[x] = 0.0f; }
This loop transformation to a single loop is obviously more amenable to vectorization.
• Next: • Up: Table of Contents |
The new AI programming book by Aussie AI co-founders:
Get your copy from Amazon: Generative AI in C++ |