Everything about Cache-oblivious algorithm
I/O-efficient algorithm regardless of cache size
In computing, a cache-oblivious algorithm is an algorithm designed to take advantage of a processor cache without having the size of the cache as an explicit parameter. An optimal cache-oblivious algorithm is a cache-oblivious algorithm that uses the cache optimally. Thus, a cache-oblivious algorithm is designed to perform well, without modification, on multiple machines with different cache sizes, or for a memory hierarchy with different levels of cache having different sizes. Cache-oblivious algorithms are contrasted with explicit loop tiling, which explicitly breaks a problem into blocks that are optimally sized for a given cache. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Cache-oblivious algorithmA 5-minute orientation
- Skim a recent paper: Matrix Transposition Algorithm Using Cache ObliviousInfluential work since 2022
- Pick up a classic book: Design and Analysis of AlgorithmsThe most-reprinted book on the subject
- Read the landmark paper: mrsFAST: a cache-oblivious algorithm for short-read mappingCited 237 times
- Go sideways: In-place matrix transpositionA closely related topic
- Go sideways: Matrix multiplication algorithmA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
mrsFAST: a cache-oblivious algorithm for short-read mapping
Cache-Oblivious Algorithms
The Cache Complexity of Multithreaded Cache Oblivious Algorithms
An Optimal Cache‐Oblivious Priority Queue and Its Application to Graph Algorithms
Engineering a cache-oblivious sorting algorithm
Cache‐oblivious matrix algorithms in the age of multicores and many cores
Cache-oblivious wavefront: improving parallelism of recursive dynamic programming algorithms without losing cache-efficiency
Cache Oblivious Algorithms for the RMQ and the RMSQ Problems
🆕 Influential since 2022
📚 Books worth reading
Design and Analysis of AlgorithmsGuy Even · 2012
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- In-place matrix transposition In-place matrix transposition, also called in-situ matrix transposition, is the problem of transposing an N×M matrix in-place in computer memory, ideally…
- Matrix multiplication algorithm Because matrix multiplication is such a central operation in many numerical algorithms, much work has been invested in making matrix multiplication algorithms…
- Funnelsort Funnelsort is a comparison-based sorting algorithm. It is similar to mergesort, but it is a cache-oblivious algorithm, designed for a setting where the…
- Divide-and-conquer algorithm In computer science, divide and conquer, originally a political maxim, designates an algorithm design paradigm. A divide-and-conquer algorithm recursively…
- Strassen algorithm In linear algebra, the Strassen algorithm, named after Volker Strassen, is an algorithm for matrix multiplication. It is faster than the standard matrix…
- Communication-avoiding algorithm Communication-avoiding algorithms minimize movement of data within a memory hierarchy for improving its running-time and energy consumption. These minimize…
- Locality of reference In computer science, locality of reference, also known as the principle of locality, is the tendency of a processor to access the same set of memory locations…
- Cache-oblivious distribution sort The cache-oblivious distribution sort is a comparison-based sorting algorithm. It is similar to quicksort, but it is a cache-oblivious algorithm, designed…