MEMORY EFFICIENT ARRAY TRANSPOSITION VIA MULTI PASS TILING

Patent №

US 7,398,484

Granted

2008-07-08

Filed 2005

Owner

MICROSOFT CORPORATION

AI components

1

hardware

Assignment

Recorded

Dataset

AIPD

2023_r1 edition

Application

11116628

A schedule can be generated for physically transposing an array such that when the array is transferred from a first memory type to a second memory type, the number of block transfers performed is minimized. The array can be rearranged to ensure that most or all data elements in any block read into internal memory are used before that block's internal storage is reused. The algorithm can compute an offline schedule and then execute that schedule. The method can assemble the schedule during one or more passes with an algorithm. Scheduling passes can apply a permutation to a representation of the array's structure and then tile the representation to ensure efficient use of internal memory. Tiling may alter the permutation, so the algorithm can be reinvoked and run on the tiled representation. The algorithm can be run on successively retiled representations until no additional tiling is required. Optimizations for schedule generation and/or execution include: simplification of the data structure representing the array; alteration of the order in which tiles are accessed; inversion of permutations; processing non-canonical input; and the production of stream output. The method can also be modified for specialized architectures, including: block I/O architecture; fully associative caches; set-associative caches; and multi-level memory hierarchies.

AI hardwareG06F 12/0897G06F 12/0864

AI classification

AI hardware1.00
Vision0.01
Machine learning0.00
Knowledge representation0.00
Evolutionary computation0.00
Speech0.00
Planning0.00
Natural language0.00

Ownership

MICROSOFT CORPORATION

assignment · 160730917

Assignors

RUF, ERIK S.

On an employer assignment, the assignors are typically the inventors.

© 2026 NYSGPT2525 LLC