enow.com Web Search

Search results

  1. Results from the WOW.Com Content Network
  2. Loop interchange - Wikipedia

    en.wikipedia.org/wiki/Loop_interchange

    The variable used in the inner loop switches to the outer loop, and vice versa. It is often done to ensure that the elements of a multi-dimensional array are accessed in the order in which they are present in memory, improving locality of reference. For example, in the code fragment: for j from 0 to 20 for i from 0 to 10 a[i,j] = i + j

  3. Loop nest optimization - Wikipedia

    en.wikipedia.org/wiki/Loop_nest_optimization

    (Nested loops occur when one loop is inside of another loop.) One classical usage is to reduce memory access latency or the cache bandwidth necessary due to cache reuse for some common linear algebra algorithms. The technique used to produce this optimization is called loop tiling, [1] also known as loop blocking [2] or strip mine and interchange.

  4. Matrix multiplication algorithm - Wikipedia

    en.wikipedia.org/wiki/Matrix_multiplication...

    The naïve algorithm using three nested loops uses Ω(n 3) communication bandwidth. Cannon's algorithm, also known as the 2D algorithm, is a communication-avoiding algorithm that partitions each input matrix into a block matrix whose elements are submatrices of size √ M/3 by √ M/3, where M is the size of fast memory. [28]

  5. Basic Linear Algebra Subprograms - Wikipedia

    en.wikipedia.org/wiki/Basic_Linear_Algebra...

    Initially, these subroutines used hard-coded loops for their low-level operations. For example, if a subroutine needed to perform a matrix multiplication, then the subroutine would have three nested loops. Linear algebra programs have many common low-level operations (the so-called "kernel" operations, not related to operating systems). [14]

  6. Loop optimization - Wikipedia

    en.wikipedia.org/wiki/Loop_optimization

    Fission or distribution – loop fission attempts to break a loop into multiple loops over the same index range, but each new loop takes only part of the original loop's body. This can improve locality of reference , both of the data being accessed in the loop and the code in the loop's body.

  7. Numerical linear algebra - Wikipedia

    en.wikipedia.org/wiki/Numerical_linear_algebra

    This is because matrix algorithms frequently contain two nested loops: one over the columns of a matrix A, and another over the rows of A. For example, for matrices A m × n {\displaystyle A^{m\times n}} and vectors x n × 1 {\displaystyle x^{n\times 1}} and y m × 1 {\displaystyle y^{m\times 1}} , we could use the column partitioning ...

  8. Loop dependence analysis - Wikipedia

    en.wikipedia.org/wiki/Loop_dependence_analysis

    When a statement in one iteration of a loop depends in some way on a statement in a different iteration of the same loop, a loop-carried dependence exists. [1] [2] [3] However, if a statement in one iteration of a loop depends only on a statement in the same iteration of the loop, this creates a loop independent dependence. [1] [2] [3]

  9. Array programming - Wikipedia

    en.wikipedia.org/wiki/Array_programming

    The fundamental idea behind array programming is that operations apply at once to an entire set of values. This makes it a high-level programming model as it allows the programmer to think and operate on whole aggregates of data, without having to resort to explicit loops of individual scalar operations.