Home Knowledge Base Communication-Avoiding Algorithms

Communication-Avoiding Algorithms are the algorithmic redesigns that minimize data movement between levels of the memory hierarchy or between processors — achieving provably optimal or near-optimal communication costs that can be asymptotically lower than traditional algorithms, because data movement (not arithmetic) is the dominant cost in modern computing where a FLOP costs ~100x less energy than a DRAM access and ~10,000x less than a network transfer.

Why Communication Dominates

OperationEnergy (pJ)Time (ns)
FP64 FMA~20~0.5
L1 cache access~50~1
L2 cache access~200~5
DRAM access~2,000~50
Network transfer (Ethernet)~10,000~1,000

Communication Lower Bounds

Communication-Optimal Matrix Multiply

AlgorithmCommunication (Sequential)Optimal?
Naive (ijk loops)O(N³)No (N³/√M possible)
Blocked / TiledO(N³/√M)Yes!
Recursive (divide & conquer)O(N³/√M)Yes!
Strassen (recursive)O(N^(log₂ 7) / √M)Yes (for Strassen arithmetic)

3D Algorithm (Parallel Matrix Multiply)

CA-GMRES / CA-CG (Iterative Solvers)

CA-LU Factorization (Tournament Pivoting)

Communication-avoiding algorithms represent a fundamental shift in algorithm design philosophy — by recognizing that data movement, not arithmetic, is the dominant cost, these algorithms achieve orders-of-magnitude speedups on modern hardware, proving that algorithmic innovation remains as important as hardware improvement for advancing computational performance.

communication avoiding algorithmca algorithmlower bound communicationminimize data movement3d algorithm

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.