Last update: Thu Apr 12 03:37:15 MDT 2012
Top |
Symbols |
Numbers |
Math |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
BibTeX entry
@Article{Kennedy:1995:LTA,
author = "Ken Kennedy and Nenad Nedeljkovic and Ajay Sethi",
title = "A Linear-Time Algorithm for Computing the Memory
Access Sequence in Data-Parallel Programs",
journal = j-SIGPLAN,
volume = "30",
number = "8",
pages = "102--111",
month = aug,
year = "1995",
CODEN = "SINODQ",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:17:08 MST 2003",
bibsource = "http://portal.acm.org/",
abstract = "Data-parallel languages, such as High Performance
Fortran, are widely regarded as a promising means for
writing portable programs for distributed-memory
machines. Novel features of these languages call for
the development of new techniques in both compilers and
run-time systems. In this paper, we present an improved
algorithm for finding the local memory access sequence
in computations involving regular sections of arrays
with cyclic(k) distributions. After establishing the
fact that regular section indices correspond to
elements of an integer lattice, we show how to find a
lattice basis that allows for simple and fast
enumeration of memory accesses. The complexity of our
algorithm is shown to be lower than that of the
previous solution for the same problem. In addition,
the experimental results demonstrate the efficiency of
our method in practice.",
acknowledgement = ack-nhfb,
affiliation = "Dept. of Comput. Sci., Rice Univ., Houston, TX, USA",
classification = "C4240P (Parallel programming and algorithm theory);
C6110P (Parallel programming); C6150C (Compilers,
interpreters and other processors); C6150N (Distributed
systems software)",
keywords = "Compilers; Data-parallel programs; Distributed-memory
machines; High Performance Fortran; Linear-time
algorithm; Memory access sequence; Portable programs;
Regular section indices; Run-time systems",
thesaurus = "Parallel algorithms; Parallel programming; Processor
scheduling; Program compilers",
}
Related entries
- addition,
25(6)53,
25(6)272,
25(6)283,
25(6)296,
27(7)200,
27(9)285,
28(3)149,
28(3)343,
28(3)363,
28(6)26,
28(6)227,
28(6)290,
28(6)300,
28(7)102,
29(6)266,
29(6)349,
29(6)349-1,
29(8)13,
29(8)119,
29(11)183,
29(11)328,
30(3)71,
30(6)139,
30(6)186,
30(8)48,
30(11)70,
30(11)99,
31(8)84,
31(8)84-1
- allow,
25(4)20,
25(4)51,
25(6)66,
25(6)85-1,
25(6)272,
25(6)296,
26(6)145,
27(7)94,
27(7)116,
27(7)140,
27(7)162,
27(7)235,
27(9)238,
28(3)363,
28(6)139-1,
28(6)207-1,
28(6)290,
28(7)92,
28(7)102,
28(7)208,
28(7)239,
29(6)73,
29(6)135,
29(6)242,
29(6)242-1,
29(8)35,
29(8)119,
29(11)25,
29(11)132-1,
29(11)263,
29(11)274,
29(11)319,
30(3)50,
30(3)94,
30(4)13,
30(6)196,
30(6)246,
30(8)1,
30(8)217,
30(11)70,
30(11)79
- basis,
25(6)137,
25(6)257,
25(6)337,
25(12)37,
27(10)218,
28(3)333,
28(3)345,
28(7)92,
28(7)169,
28(12)12,
28(12)12-1,
29(6)85,
29(11)297,
30(3)23,
30(6)233,
31(12)52
- both,
25(1)59,
25(6)9,
25(6)85-1,
25(6)102,
25(6)112,
26(4)28,
26(7)83,
27(5)z,
27(7)82,
27(7)94,
27(7)175,
27(7)212,
27(7)249,
27(7)283,
27(10)452,
28(3)231,
28(3)299,
28(3)353,
28(3)357,
28(6)26,
28(6)177,
28(6)248,
28(7)13,
28(7)23,
28(7)54-1,
28(7)112,
28(7)129,
29(6)1,
29(6)290,
29(6)302,
29(8)59,
29(8)119,
29(11)2,
29(11)38,
29(11)61,
29(11)98,
29(11)110,
29(11)122,
29(11)171,
29(11)183,
29(11)252,
29(11)274,
29(11)308,
30(2)25,
30(3)50,
30(6)56,
30(6)67,
30(6)93,
30(6)130,
30(6)186,
30(6)205,
30(6)279,
30(8)29,
30(8)68,
30(8)156,
30(8)179,
30(8)207,
30(11)20-1,
31(5)108
- C4240P,
28(6)112,
28(7)129,
28(7)159,
29(1)54,
29(2)19,
29(4)31,
29(6)36,
29(6)73,
29(6)121,
29(6)135,
29(6)278,
29(10)31,
29(10)113,
30(8)123,
30(8)199,
30(11)1
- C6110P,
28(3)1,
28(3)353,
28(6)68,
28(6)100,
28(6)112,
28(6)126,
28(6)258,
28(6)278,
28(7)1,
28(7)13,
28(7)23,
28(7)33,
28(7)44,
28(7)54-1,
28(7)64,
28(7)73,
28(7)83,
28(7)92,
28(7)102,
28(7)112,
28(7)119,
28(7)129,
28(7)139,
28(7)149,
28(7)159,
28(7)169,
28(7)179,
28(7)187,
28(7)198,
28(7)208,
28(7)218,
28(7)229,
28(7)239,
28(7)249,
28(12)169,
29(1)54,
29(2)19,
29(2)25,
29(3)12,
29(4)31,
29(5)17-1,
29(6)36,
29(6)73,
29(6)97,
29(6)107,
29(6)135,
29(6)218,
29(6)266,
29(7)61,
29(9)17,
29(9)105,
29(9)140,
29(10)31,
29(10)113,
29(11)61,
29(11)208,
29(11)232,
29(11)242,
29(11)286,
29(11)328,
29(12)66,
30(3)83,
30(6)163-1,
30(6)196,
30(6)205,
30(6)218,
30(6)258,
30(8)1,
30(8)11,
30(8)19,
30(8)29,
30(8)39,
30(8)48,
30(8)58,
30(8)68,
30(8)123,
30(8)134,
30(8)144,
30(8)156,
30(8)189,
30(8)207,
30(11)50,
30(11)60,
30(11)134
- C6150N,
28(7)23,
28(7)64,
28(7)73,
29(5)41-1,
29(6)36,
29(6)107,
29(8)119,
29(10)113,
29(10)301,
29(11)2,
29(11)12,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)183,
29(11)232,
29(11)286,
29(11)319,
29(11)328,
29(12)48,
29(12)66,
30(3)83,
30(3)103,
30(3)111,
30(6)13,
30(6)23,
30(6)67,
30(6)139,
30(6)151,
30(6)163-1,
30(8)1,
30(8)11,
30(8)29,
30(8)39,
30(8)68,
30(8)134,
30(8)156,
30(8)179,
30(8)189,
30(8)199,
30(8)207,
30(8)217,
30(11)1,
30(11)50,
30(11)60,
30(11)70,
30(11)108,
30(11)134
- complexity,
25(6)1,
25(6)127-1,
26(8)137,
27(7)82,
27(9)262,
27(12)20,
28(3)69,
28(6)1,
28(6)156,
28(6)290,
29(4)23,
29(6)73,
29(6)107,
29(6)121,
29(6)135,
29(6)171,
29(6)349,
29(6)349-1,
29(7)42,
29(10)324,
29(11)158,
30(3)62,
30(6)186,
30(6)233,
30(6)246,
30(8)19,
30(8)134,
30(8)156,
30(9)25,
30(11)1,
30(11)117,
31(2)35,
31(6)134,
32(8)150,
32(8)150,
32(10)106,
32(10)106-1,
34(1)1,
34(6)84
- correspond,
28(6)13,
28(6)56,
29(6)121,
30(3)62
- cyclic(k),
28(7)149
- Data-Parallel,
28(1)44,
31(10)1,
33(5)186
- data-parallel,
26(6)130,
27(7)94,
28(7)102,
28(7)112,
28(7)119,
28(7)119-1,
28(7)149,
29(4)31,
29(4)31-1,
29(6)107,
29(11)208,
30(8)1,
31(10)1
- demonstrate,
25(10)237,
25(12)85,
27(7)68,
27(7)152,
27(7)200,
27(7)249,
27(9)285,
28(6)217,
28(7)44,
28(7)64,
28(7)112,
28(7)208,
28(7)239,
29(6)85,
29(6)218,
29(11)2,
29(11)25,
29(11)76-1,
29(11)110,
29(11)145,
29(11)252,
30(3)50,
30(3)71,
30(6)1,
30(6)13,
30(6)196,
30(8)29,
30(8)134,
30(11)70,
33(7)19,
33(7)51
- distributed-memory,
28(7)54-1,
28(7)149,
28(7)239,
29(6)107,
29(11)12,
29(11)196,
30(8)68,
30(8)156
- distribution,
25(6)311,
26(11)212,
27(7)200,
27(9)285,
28(1)82,
28(3)177,
28(7)92,
28(7)149,
28(10)162,
29(4)58,
29(10)229,
29(11)12,
29(11)252,
30(3)103,
30(8)1,
30(8)19,
32(5)159,
32(5)334,
33(11)205
- efficiency,
25(4)59,
25(6)85-1,
25(6)209,
27(7)55,
27(7)128,
27(7)200,
27(7)224,
28(1)48,
28(3)349,
28(3)363,
28(6)100,
28(6)177,
28(7)83,
29(9)105,
29(10)129,
29(11)286,
30(3)94,
30(6)1,
30(6)13,
30(8)207,
33(5)174
- element,
25(6)53,
25(6)137,
25(6)189,
25(6)283,
28(6)126,
29(6)121,
29(6)230,
29(8)59,
29(10)427
- enumeration,
25(7)19,
28(3)363,
30(11)88
- establishing,
28(3)299
- experimental,
25(2)35,
25(6)53,
25(6)174,
27(7)273,
27(7)311,
27(9)238,
27(10)235,
28(6)217,
28(6)268,
28(7)129,
28(7)218,
29(1)3,
29(6)171,
29(6)266,
29(6)349,
29(6)349-1,
29(10)51,
29(11)25,
29(11)171,
29(11)232,
30(6)23,
30(6)67,
30(6)186,
30(6)205,
30(6)218,
30(8)112,
30(8)123,
30(8)134,
30(8)144,
30(8)156
- fact,
25(5)95,
28(7)208,
30(6)56,
30(6)205,
30(6)233
- fast,
24(3)34,
25(6)9,
25(6)78,
26(8)145,
27(4)68,
27(9)10,
27(9)223,
28(6)177,
28(7)149,
29(6)107,
29(11)252,
29(11)319,
30(3)1,
30(3)35,
30(3)111,
30(6)130,
30(8)189,
30(11)41,
30(11)125,
31(5)108,
31(5)149,
31(5)160,
31(10)324,
32(5)109,
33(5)280,
33(11)283,
34(5)169,
34(8)119,
34(9)28
- find,
25(6)53,
25(6)92,
27(7)162,
27(9)248,
28(3)69,
28(6)126,
29(6)36,
29(6)171,
29(9)56,
29(11)252,
29(11)274,
29(11)286,
30(3)50,
30(6)23,
30(8)134
- finding,
25(6)85-1,
27(7)162,
27(7)322,
28(6)46,
28(6)56,
29(6)171,
29(11)219,
30(6)246,
33(7)27
- Fortran,
25(1)52,
25(6)257,
26(2)83,
26(6)145,
26(6)145-1,
27(4)11,
27(7)94,
27(7)200,
28(1)1,
28(1)72,
28(3)361,
28(6)278,
28(6)300,
28(7)13,
28(7)33,
28(7)92,
28(7)149,
29(6)107,
29(7)54,
29(11)196,
29(12)31,
30(4)61,
30(6)79-1,
30(6)218,
30(7)5,
30(8)58,
30(8)112,
30(8)134,
31(4)20,
31(4)20-1,
32(3)57,
32(7)13,
33(3)57,
33(8)34,
34(12)24,
34(12)24-1
- how,
25(4)51,
25(5)95,
25(6)1,
25(6)53,
25(6)92,
25(6)112,
25(6)223,
26(11)359,
27(1)95,
27(6)64,
27(7)82,
27(7)106,
27(7)140,
27(7)162,
27(7)212,
27(7)249,
27(7)311,
27(7)341,
27(9)248,
27(12)28,
27(12)47,
28(3)1,
28(3)353,
28(6)46,
28(6)78-1,
28(6)126,
28(6)177,
28(6)258,
28(7)64,
28(7)83,
28(7)149,
28(8)57,
28(10)429,
28(10)429-1,
28(11)9,
28(11)9-1,
29(6)121,
29(6)171,
29(8)35,
29(8)74,
29(8)84,
29(10)468,
29(11)2,
29(11)145,
29(11)208,
30(3)23,
30(3)62,
30(3)71,
30(3)94,
30(4)13,
30(5)3,
30(6)103,
30(6)116,
30(6)139,
30(10)251,
30(11)50,
30(11)70,
30(11)79,
32(6)75,
32(10)206,
33(10)134,
33(11)252,
34(3)10
- improved,
26(4)28,
27(7)249,
28(6)26,
28(7)33,
29(11)242,
29(11)252,
30(6)151,
30(8)156,
34(10)325
- index,
27(7)152,
28(6)112,
28(7)92,
28(10)448,
28(10)449,
29(9)68,
31(9)290,
32(10)345,
32(10)346,
33(10)421,
33(10)422,
33(12)34
- integer,
25(1)59,
25(4)73,
25(6)53,
25(6)92,
25(7)95,
26(4)290,
26(6)1,
27(5)z,
27(7)140,
27(7)162,
27(9)285,
28(3)363,
28(11)22,
29(6)36,
29(6)61,
29(6)121,
30(2)42,
30(6)139,
30(8)92,
33(5)118,
33(5)186,
33(11)252
- involving,
25(11)65,
27(7)249,
28(7)149,
30(6)139
- Kennedy, Ken,
25(6)53,
26(4)40,
26(6)15,
26(7)213,
27(7)188,
27(7)188-1,
28(7)33,
29(6)107,
30(8)1,
34(5)229
- lattice,
27(9)285,
28(1)24,
28(10)394,
33(7)1
- Linear-Time,
32(5)261
- linear-time,
26(6)256,
26(6)256-1,
29(6)171
- local,
25(7)11,
27(7)300,
27(9)98,
27(9)285,
28(6)126,
28(6)290,
28(7)149,
28(7)218,
28(7)239,
29(6)290,
29(7)21,
29(8)1,
29(10)113,
29(11)2,
30(3)94,
30(11)108,
33(5)269,
33(11)71,
33(11)92,
33(11)159,
33(11)218,
34(1)336,
34(7)20
- lower,
27(9)223,
28(6)126,
28(6)258,
28(8)90,
29(11)86,
29(11)158,
29(11)274,
30(8)19
- mean,
25(6)174,
26(6)145,
27(7)1,
27(7)82,
28(3)361,
28(6)1,
29(6)147,
29(8)46,
30(8)19,
30(8)48,
30(11)31,
33(7)1,
33(7)67
- memory, Distributed-,
28(7)54-1,
28(7)149,
28(7)239,
30(8)68
- memory, distributed-,
28(7)54-1,
28(7)149,
28(7)239,
29(6)107,
29(11)12,
29(11)196,
30(8)68,
30(8)156
- Nedeljkovic, Nenad,
32(5)334
- novel,
27(7)94,
27(7)283,
27(7)331,
28(6)258,
28(7)218,
29(6)36,
29(6)290,
29(6)337,
29(6)337-1,
29(8)74,
29(11)232,
30(6)218,
30(8)123,
30(8)144,
30(11)41,
34(4)70
- Parallel, Data-,
28(1)44,
31(10)1,
33(5)186
- parallel, Data-,
28(7)102,
28(7)149
- portable,
25(1)59,
26(1)109,
26(4)86,
26(12)184,
28(3)1,
28(3)347,
28(6)26,
28(7)1,
28(7)102,
28(7)179,
28(7)198,
28(7)208,
28(9)39,
28(10)91,
28(12)96,
29(6)73,
30(3)111,
30(8)11,
30(8)80-1,
30(8)123,
31(4)20,
31(4)20-1,
31(5)79,
31(7)19,
31(8)52,
31(10)18,
34(3)146
- practice,
25(6)174,
27(7)224,
27(12)57,
28(3)361,
28(6)1,
28(6)90,
28(7)44,
29(6)1,
29(6)159,
29(6)230,
29(8)46,
29(12)72,
30(3)111,
30(6)23,
30(6)67,
30(6)218,
30(8)48,
30(10)337,
30(11)41,
30(11)60,
33(10)45,
33(10)45-1
- previous,
25(6)28,
25(6)322,
26(6)145,
27(7)44,
27(7)116,
27(9)85,
27(9)248,
28(3)69,
28(6)56,
28(7)129,
29(6)186,
29(6)278,
29(11)25,
29(11)263,
30(3)1,
30(6)23,
30(6)47,
30(6)67,
30(6)93,
30(6)279,
30(6)301,
30(8)68
- promising,
27(7)106,
30(6)233
- regarded,
28(3)69,
29(6)85
- regular,
27(4)12,
27(7)12,
28(5)49,
28(7)102,
28(7)149,
28(10)1,
34(11)44
- run-time,
25(4)20,
25(6)150,
26(6)145,
27(7)116,
27(7)224,
28(3)347,
28(6)13,
28(6)46,
28(7)139,
29(6)36,
29(6)61,
29(6)290,
29(6)313,
29(6)326,
29(9)135,
29(10)85,
29(11)25,
29(11)110,
29(11)122,
30(6)79-1,
30(6)93,
30(6)218,
30(8)68,
31(10)406,
31(11)49,
32(12)163,
33(5)224,
33(10)201,
34(3)146,
34(5)293,
34(5)293-1,
34(8)107
- same,
25(4)51,
25(6)85-1,
25(6)165,
27(7)1,
27(7)32,
27(7)44,
27(7)82,
27(7)235,
28(3)69,
28(3)367,
28(6)126,
28(6)237,
28(6)268,
28(7)208,
28(7)218,
28(7)239,
29(6)36,
29(6)196,
29(8)1,
29(11)25,
29(11)61,
29(11)171,
29(11)286,
29(11)297,
30(3)35,
30(6)1,
30(6)13,
30(6)205,
30(8)68,
30(8)179,
30(8)199,
31(5)108
- section,
26(12)85,
28(2)21,
28(6)207-1,
28(7)149,
33(4)30,
33(4)31
- sequence,
27(3)71,
27(7)224,
27(7)322,
27(7)341,
27(8)83,
27(9)223,
28(6)13,
28(6)26,
28(6)36,
28(7)119,
28(7)149,
28(8)77,
28(8)77-1,
28(12)32,
29(2)33,
29(6)61,
29(9)64,
29(11)274,
29(11)286,
30(8)134,
30(11)20-1,
30(11)41,
30(11)99,
31(5)249
- shown,
25(6)40,
25(6)174,
25(6)337,
26(6)219,
27(7)341,
27(9)248,
27(12)20,
28(6)156,
28(7)229,
29(6)36,
29(6)85,
29(6)97,
29(6)266,
29(11)25,
29(11)145
- solution,
25(6)189,
25(6)197,
27(7)1,
27(7)273,
27(7)283,
27(7)311,
28(6)68,
28(6)78-1,
28(7)129,
28(7)149,
28(8)90,
29(1)37,
29(4)15,
29(6)121,
29(6)186,
29(8)119,
29(9)56,
29(10)317,
29(11)38,
29(11)158,
30(3)1,
30(3)50,
30(6)139,
30(8)19,
30(8)48,
30(8)134,
30(9)25,
30(11)60,
30(11)88,
33(7)11,
33(10)216
- Time, Linear-,
32(5)261
- time, Linear-,
26(6)256,
26(6)256-1
- time, Run-,
26(6)145,
28(3)347,
28(6)13,
28(7)139,
29(6)61,
30(6)79-1,
30(6)93,
30(8)68,
33(5)224,
33(10)201,
34(5)293
- time, run-,
25(4)20,
25(6)150,
26(6)145,
27(7)116,
27(7)224,
28(3)347,
28(6)13,
28(6)46,
29(6)36,
29(6)61,
29(6)290,
29(6)313,
29(6)326,
29(9)135,
29(10)85,
29(11)25,
29(11)110,
29(11)122,
30(6)79-1,
30(6)93,
30(6)218,
30(8)68,
31(10)406,
31(11)49,
32(12)163,
34(3)146,
34(5)293-1,
34(8)107
- widely,
28(3)1,
28(3)209,
28(3)299,
28(3)333,
29(11)145,
29(11)328,
30(8)1,
33(7)59
- writing,
25(6)197,
25(6)209,
25(12)61,
27(2)26,
27(9)213,
27(10)184,
28(3)353,
28(3)355,
28(6)156,
31(5)237,
33(5)291,
33(7)67,
33(11)151