Cache oblivious — where it appears
Named by 2 essays across one field — each of them below, with the objects they name alongside it.
Also named here as recursive factorisation — the same set of essays touches all of them, so they are one junction rather than several.
The recursion that was never told the memory
A blocked elimination has to be tuned to its fast memory, and tuned to one memory it costs up to 2.9 times the best at another. A recursive elimination splits the columns in half down to one and reads no memory size at all. On eight fast memories from 36 to 576 words it moves between 0.94 and 1.28 times the words of the best tuned block, with the same 585,200 operations and the same pivots — and on a machine with two caches it beats the block tuned to either cache on six machines of seven.
The block size a recursion still has
A recursive elimination is sold as having no block size, and every real one switches to plain loops below some width. Swept over that width, the traffic is a staircase with its steps at the halvings of n, and its cliff sits where the blocked elimination's does — the first panel wider than √M − 2 moves 1.53 to 4.47 times the words, on six memories of six. On three caches the innermost decides, and a third cache costs every tuned block up to 14 per cent and the recursion nothing.
Named alongside it
The objects these essays reach for when they reach for this one.
Blocked algorithmData movementFlop countLU factorisationMemory hierarchyPartial pivotingRecursive factorisation