Cache-oblivious algorithm
In computing, a cache-oblivious algorithm (or cache-transcendent algorithm) is an algorithm designed to take advantage of a processor cache without having the size of the cache (or the length of the cache lines, etc.) as an explicit parameter. An optimal cache-oblivious algorithm is a cache-oblivious algorithm that uses the cache optimally (in an asymptotic sense, ignoring constant factors). 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.
Optimal cache-oblivious algorithms are known for matrix multiplication, matrix transposition, sorting, and several other problems. Some more general algorithms, such as Cooley–Tukey FFT, are optimally cache-oblivious under certain choices of parameters. As these algorithms are only optimal in an asymptotic sense (ignoring constant factors), further machine-specific tuning may be required to obtain nearly optimal performance in an absolute sense. The goal of cache-oblivious algorithms is to reduce the amount of such tuning that is required.
Typically, a cache-oblivious algorithm works by a recursive divide-and-conquer algorithm, where the problem is divided into smaller and smaller subproblems. Eventually, one reaches a subproblem size that fits into the cache, regardless of the cache size. For example, an optimal cache-oblivious matrix multiplication is obtained by recursively dividing each matrix into four sub-matrices to be multiplied, multiplying the submatrices in a depth-first fashion. In tuning for a specific machine, one may use a hybrid algorithm which uses loop tiling tuned for the specific cache sizes at the bottom level but otherwise uses the cache-oblivious algorithm.
Source: https://en.wikipedia.org/wiki/Cache-oblivious_algorithm
Created with WikipediaReaderSentry (c) WikipediaReader
Images and videos sourced from Pexels (https://www.pexels.com)
Other Videos By WikiReader
2024-02-07 | Ephraim (given name) |
2024-02-07 | Homer Mensch |
2024-02-07 | Joseph Marie Jacquard |
2024-02-07 | IK Pegasi |
2024-02-06 | United States Park Police |
2024-02-06 | Human rights in Uganda |
2024-02-04 | Adobe Premiere Pro |
2024-02-04 | Kimberly Camp |
2024-02-04 | Interest rate ceiling |
2024-02-04 | Insects in literature |
2024-02-04 | Cache-oblivious algorithm |
2024-02-03 | Favorite Son (miniseries) |
2024-02-03 | Soong Mei-ling |
2024-02-02 | Les cadeaux de Noël |
2024-02-01 | Pieter 't Hoen |
2024-02-01 | Baker's Biographical Dictionary of Musicians |
2024-02-01 | Benelli Pepe |
2024-02-01 | Did you know that KSEE had a cartoon bee as its mascot? |
2024-02-01 | New Zealand cricket team in England in 1965 |
2024-02-01 | Jennifer Hornsby |
2024-01-31 | Honeywell Gent |