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{Li:1992:ANL,
author = "Wei Li and Keshav Pingali",
title = "Access normalization: loop restructuring for {NUMA}
compilers",
journal = j-SIGPLAN,
volume = "27",
number = "9",
pages = "285--295",
month = sep,
year = "1992",
CODEN = "SINODQ",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:16:26 MST 2003",
bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/toc/",
URL = "http://www.acm.org:80/pubs/citations/proceedings/asplos/143365/p285-li/",
abstract = "In scalable parallel machines, processors can make
local memory accesses much faster than they can make
remote memory accesses. In addition, when a number of
remote accesses must be made, it is usually more
efficient to use block transfers of data rather than to
use many small messages. To run well on such machines,
software must exploit these features. We believe it is
too onerous for a programmer to do this by hand, so we
have been exploring the use of restructuring compiler
technology for this purpose. In this paper, we start
with a language like FORTRAN-D with user-specified data
distribution and develop a systematic loop
transformation strategy called {\em access
normalization\/} that restructures loop nests to
exploit locality and block transfers. We demonstrate
the power of our techniques using routines from the
BLAS (Basic Linear Algebra Subprograms) library. An
important feature of our approach is that we model loop
transformations using {\em invertible\/} matrices and
integer lattice theory, thereby generalizing Banerjee's
framework of unimodular matrices [5].",
acknowledgement = ack-nhfb,
keywords = "design; languages; measurement; performance",
subject = "{\bf D.3.4} Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf C.1.2} Computer Systems
Organization, PROCESSOR ARCHITECTURES, Multiple Data
Stream Architectures (Multiprocessors), Parallel
processors**. {\bf D.4.2} Software, OPERATING SYSTEMS,
Storage Management.",
}
Related entries
- addition,
25(6)53,
25(6)272,
25(6)283,
25(6)296,
27(7)200,
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(8)102,
30(11)70,
30(11)99,
31(8)84,
31(8)84-1
- algebra,
28(7)112,
28(7)169,
28(7)179,
28(7)187,
29(6)349-1,
30(6)279,
30(11)1,
33(5)38,
33(7)1
- ARCHITECTURES,
25(6)28,
26(6)229,
27(7)94,
27(7)188-1,
27(9)76,
27(9)85,
27(9)111,
27(9)149,
27(9)162,
27(9)175,
27(9)213,
27(9)262,
27(9)274,
28(6)68,
28(6)112,
28(6)258,
29(6)36,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)98,
29(11)196,
29(11)219,
29(11)232,
29(11)242,
29(11)252,
29(11)274,
30(6)79-1,
31(9)2-1,
31(9)12,
31(9)26,
31(9)37,
31(9)50,
31(9)210,
31(9)279,
32(5)183,
32(5)334,
33(11)58,
33(11)159,
33(11)170,
33(11)181,
33(11)283
- Banerjee,
27(7)152
- basic,
25(6)165,
25(6)223,
26(9)106,
27(7)1,
27(7)82,
27(7)212,
27(7)322,
27(7)341,
28(2)21,
28(6)227,
29(6)36,
29(6)85,
29(6)196,
29(6)349,
29(6)349-1,
29(9)44,
29(10)31,
29(11)232,
29(11)242,
29(11)286,
30(3)35,
30(4)9,
30(6)116,
30(6)246,
31(10)104,
32(9)54,
34(8)1,
34(10)57
- believe,
27(7)140,
27(7)311,
27(9)262,
28(6)300,
29(11)2
- block,
26(9)106,
27(7)12,
27(7)82,
27(7)212,
27(7)322,
27(8)83,
28(3)363,
28(4)45,
28(5)9,
28(11)52,
29(6)36,
29(6)85,
29(6)196,
29(11)219,
29(11)232,
29(11)242,
29(11)286,
29(11)297,
30(3)35,
30(6)56,
30(6)246,
30(8)217,
32(4)47,
32(12)90,
32(12)90
- C.1.2,
27(7)94,
27(7)188-1,
27(9)76,
27(9)85,
27(9)111,
27(9)149,
27(9)162,
27(9)175,
27(9)262,
27(9)274,
28(6)68,
28(6)112,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)98,
29(11)196,
29(11)219,
29(11)232,
29(11)242,
29(11)252,
29(11)274,
31(9)2-1,
31(9)12,
31(9)26,
31(9)37,
31(9)50,
31(9)210,
31(9)279,
32(5)183,
32(5)334,
33(11)58,
33(11)170,
33(11)181
- called,
25(6)53,
25(12)85,
26(6)219,
27(7)116,
27(7)341,
27(9)262,
28(2)21,
28(3)361,
28(3)367,
28(6)46,
28(6)90,
28(6)248,
28(7)23,
28(7)102,
28(7)112,
28(7)229,
29(6)85,
29(6)349,
29(6)349-1,
29(8)13,
29(11)158,
29(11)208,
29(11)274,
30(3)1,
30(6)1,
30(6)32,
30(6)67,
30(8)39,
30(8)48,
30(11)70,
33(7)43
- D.4.2,
25(6)66,
25(6)234,
25(6)296,
27(9)10,
27(9)23,
27(9)51,
27(9)62,
27(9)124,
27(9)137,
27(9)149,
27(9)187,
27(9)274,
28(6)217,
29(11)2,
29(11)76-1,
29(11)86,
29(11)98,
29(11)132-1,
29(11)145,
29(11)158,
29(11)196,
29(11)208,
29(11)297,
30(11)125,
31(5)44,
31(9)74,
31(9)84,
31(9)105,
31(9)210,
31(9)244-1,
31(9)258,
31(9)279,
32(5)7,
32(5)97,
32(5)287,
32(5)296-1,
33(11)2,
33(11)12,
33(11)24,
33(11)92,
33(11)218,
33(11)240,
33(11)295,
34(3)1,
34(3)10,
34(3)20,
34(3)37,
34(3)49,
34(3)57,
34(3)68,
34(3)79,
34(3)86,
34(3)97,
34(3)118,
34(3)130,
34(3)138,
34(3)146,
34(3)166,
34(3)176,
34(3)186
- demonstrate,
25(10)237,
25(12)85,
27(7)68,
27(7)152,
27(7)200,
27(7)249,
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)102,
30(8)134,
30(11)70,
33(7)19,
33(7)51
- develop,
25(6)137,
27(7)200,
28(6)100,
30(6)233,
30(8)80-1,
33(7)59
- distribution,
25(6)311,
26(11)212,
27(7)200,
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,
30(8)102,
32(5)159,
32(5)334,
33(11)205
- exploit,
26(7)83,
27(9)248,
28(7)112,
29(6)171,
29(6)186,
29(6)257,
29(6)257-1,
29(6)349,
29(6)349-1,
29(11)171,
29(11)183,
29(11)232,
30(6)56
- exploring,
27(10)146,
29(12)48,
30(11)70,
32(10)106,
32(10)106-1
- faster,
25(4)59,
25(6)9,
25(6)66,
25(6)112,
27(1)95,
29(6)36,
29(6)266,
29(11)252,
29(11)297,
30(3)1,
30(6)151,
30(8)39,
30(8)68,
30(8)123,
30(8)217,
31(5)108,
31(6)1
- generalizing,
29(6)349,
29(6)349-1
- hand,
25(6)112,
25(6)311,
28(3)347,
30(11)20-1,
33(7)59
- important,
25(6)66,
25(6)209,
25(6)283,
26(6)219,
27(7)12,
27(7)212,
27(7)249,
27(7)283,
27(9)238,
28(3)149,
28(6)156,
28(6)177,
28(7)44,
28(7)149,
28(7)179,
29(6)85,
29(6)206,
29(11)219,
30(3)71,
30(6)79-1,
30(6)93,
30(6)218,
30(8)19,
30(8)58,
30(8)68,
30(8)112,
30(11)50,
30(11)88
- 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,
28(3)363,
28(11)22,
29(6)36,
29(6)61,
29(6)121,
30(2)42,
30(6)139,
30(8)92,
30(8)102,
33(5)118,
33(5)186,
33(11)252
- lattice,
28(1)24,
28(10)394,
30(8)102,
33(7)1
- Li, Wei,
28(1)9,
30(6)205,
32(9)39
- library,
26(4)290,
26(11)47,
27(3)71,
27(7)200,
27(10)435,
27(10)435-1,
27(12)81,
28(1)21,
28(1)21-1,
28(3)271,
28(3)343,
28(3)347,
28(6)100,
28(7)102,
28(10)83,
29(6)49,
29(8)46,
29(10)212,
29(10)453,
30(3)119,
30(6)291,
30(8)11,
30(8)58,
30(8)68,
30(8)80-1,
31(4)4,
31(4)4-1,
31(12)22,
32(5)206,
32(10)1,
32(10)1-1,
34(1)261,
34(3)86,
34(6)76,
34(10)399
- like,
25(6)85-1,
25(10)237,
28(3)351,
28(3)363,
29(6)196,
29(11)76-1,
30(6)67,
30(6)246,
30(6)258
- linear,
25(6)311,
26(1)47,
26(6)1,
26(9)255,
27(2)57,
27(4)55,
27(4)59,
27(7)162,
27(8)89,
28(6)126,
28(7)83,
28(7)112,
28(7)187,
29(2)13,
29(6)107,
29(6)171,
29(6)206,
29(6)349,
29(6)349-1,
29(7)54,
29(9)38,
29(11)86,
30(1)45,
30(1)45,
30(3)62,
30(6)67,
30(6)130,
30(6)139,
30(6)246,
30(6)279,
30(8)134,
30(8)144,
30(9)25,
30(11)1,
31(8)60,
31(12)80,
33(5)38,
34(11)52
- local,
25(7)11,
27(7)300,
27(9)98,
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(8)102,
30(11)108,
33(5)269,
33(11)71,
33(11)92,
33(11)159,
33(11)218,
34(1)336,
34(7)20
- locality,
25(6)66,
26(6)30,
26(6)177,
26(6)177-1,
27(7)200,
28(6)112,
28(6)177,
28(6)187,
28(7)239,
28(7)249,
29(4)58,
29(6)206,
29(7)15,
29(11)242,
29(11)252,
29(11)328,
29(12)31,
30(6)151,
30(6)205,
30(8)179,
30(8)189,
31(9)60,
31(9)94,
31(9)138,
31(9)279,
33(11)127,
34(5)215
- made,
23(1)17,
25(5)95,
27(7)116,
27(7)249,
27(7)300,
28(3)149,
28(3)347,
28(6)217,
28(8)90,
28(12)169,
29(6)13,
29(6)186,
29(11)98,
30(11)125
- make,
25(1)59,
25(6)78,
25(6)85-1,
25(6)150,
25(6)246,
26(8)145,
27(7)1,
27(7)82,
27(7)152,
27(7)249,
27(12)61,
28(3)69,
28(3)97,
28(3)231,
28(3)347,
28(6)156,
28(6)300,
28(7)64,
28(7)239,
29(6)24,
29(6)73,
29(6)257,
29(6)257-1,
29(6)349,
29(6)349-1,
29(8)35,
29(11)171,
29(11)196,
29(11)308,
30(3)62,
30(3)94,
30(6)93,
30(6)103,
30(6)130,
30(6)174,
30(8)1,
30(8)58,
30(8)68,
30(8)80-1,
32(10)253
- many,
25(1)59,
25(6)112,
25(6)137,
25(6)189,
25(6)283,
27(1)95,
27(5)z,
27(7)68,
27(7)82,
27(7)116,
27(7)188-1,
28(3)69,
28(3)343,
28(3)345,
28(3)347,
28(6)100,
28(6)187,
28(6)237,
28(6)258,
28(6)300,
28(7)13,
28(7)33,
28(7)54-1,
29(6)1,
29(6)36,
29(6)49,
29(6)73,
29(6)85,
29(6)171,
29(6)206,
29(6)302,
29(8)94,
29(8)101,
29(11)145,
29(11)171,
29(11)196,
29(11)219,
29(11)252,
29(11)328,
30(3)13,
30(3)94,
30(3)119,
30(6)1,
30(6)67,
30(6)103,
30(6)291,
30(8)68,
30(8)134,
30(8)217,
30(11)20-1,
30(11)134,
33(7)19,
33(7)27
- matrix,
25(6)311,
26(6)30,
27(7)249,
28(6)112,
28(7)102,
29(6)121,
29(6)218,
29(10)191,
30(6)279,
30(11)1,
30(11)146-1,
31(8)5,
31(8)5-1,
31(9)60,
31(11)33,
31(11)33-1,
34(9)28
- message,
25(6)150,
25(10)116,
26(11)129,
28(1)85,
28(3)69,
28(3)367,
28(6)126,
28(7)23,
28(7)218,
28(12)118,
29(6)121,
29(9)105,
29(10)1,
29(10)176,
29(11)2,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)297,
29(12)48,
30(6)93,
30(6)196,
30(7)41,
30(8)39,
30(8)189,
30(8)217,
30(11)79,
32(9)61,
32(9)61-1
- much,
25(6)85-1,
25(6)150,
27(7)44,
27(7)82,
27(7)152,
27(9)248,
28(3)97,
28(3)349,
28(3)351,
28(7)54-1,
28(8)90,
29(6)49,
29(6)230,
29(8)35,
29(11)2,
29(11)145,
29(11)171,
29(11)308,
29(11)328,
30(3)94,
30(6)67,
30(6)116,
30(6)205,
33(7)59
- must,
25(6)137,
26(6)145,
27(7)1,
27(7)82,
27(7)273,
28(3)363,
28(3)367,
28(6)1,
28(6)90,
28(6)156,
28(7)13,
29(6)49,
29(6)278,
29(8)59,
29(11)2,
29(11)145,
29(11)171,
30(11)20-1,
30(11)88
- nest,
25(6)53,
27(7)188-1,
28(6)100,
29(6)107,
30(8)58,
31(9)94
- normalization,
34(1)347
- NUMA,
26(4)212,
26(7)122,
28(1)9,
29(11)286
- Pingali, Keshav,
28(1)9,
28(6)78,
28(6)78-1,
29(6)171,
30(6)32,
31(5)291,
32(5)346,
32(5)346-1
- power,
25(4)73,
25(6)209,
28(3)367,
28(7)179,
29(1)13,
29(11)171,
30(6)233,
30(8)144,
30(8)207
- PROCESSOR,
25(6)28,
26(6)229,
27(7)94,
27(7)188-1,
27(9)76,
27(9)85,
27(9)111,
27(9)149,
27(9)162,
27(9)175,
27(9)213,
27(9)262,
27(9)274,
28(6)68,
28(6)112,
28(6)258,
29(6)36,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)98,
29(11)196,
29(11)219,
29(11)232,
29(11)242,
29(11)252,
29(11)274,
30(6)79-1,
31(9)2-1,
31(9)12,
31(9)26,
31(9)37,
31(9)50,
31(9)210,
31(9)279,
32(5)183,
32(5)334,
33(11)58,
33(11)159,
33(11)170,
33(11)181,
33(11)283
- processors**.,
27(7)94,
28(6)68,
28(6)112,
29(11)51,
29(11)61,
29(11)98,
29(11)196,
31(9)26,
31(9)37,
31(9)50,
32(5)183,
33(11)170
- programmer,
25(6)102,
25(6)283,
27(6)10,
27(7)188-1,
27(8)14,
27(9)262,
28(3)177,
28(6)1,
28(6)156,
28(6)177,
28(7)13,
28(7)33,
28(7)208,
28(7)239,
29(1)53,
29(8)1,
30(4)13,
30(6)67,
30(8)11,
30(8)29,
30(8)179,
30(8)207,
30(8)217,
30(11)20-1,
30(11)99,
30(11)108,
31(1)6,
31(1)6-1,
31(3)5,
31(3)5-1,
31(3)6,
31(3)6-1,
31(3)8,
31(3)8-1,
33(7)59,
33(7)75,
34(1)338
- purpose,
27(5)z,
28(3)231,
28(7)218,
28(8)90,
28(10)240,
28(10)240-1,
28(10)256,
29(6)337,
29(6)337-1,
31(5)117
- rather,
25(6)223,
25(6)234,
25(6)272,
25(6)296,
27(9)223,
28(3)271,
28(3)361,
29(6)135,
29(6)349,
29(6)349-1,
29(8)119,
29(11)86,
29(11)110,
30(3)111,
30(6)13,
30(6)151,
30(6)174,
30(11)20-1,
30(11)88,
33(7)19
- remote,
28(7)239,
28(7)249,
29(4)49,
29(11)2,
29(11)274,
30(6)196,
30(8)39,
30(8)217,
30(11)146-1,
32(1)117,
32(1)117-1,
32(4)32,
32(4)32-1,
33(10)284,
34(8)173
- restructure,
30(8)166,
30(8)179
- restructuring,
29(6)73,
30(6)32,
30(6)56,
30(8)156,
31(10)235,
32(5)159,
32(7)217
- routines,
25(5)69,
25(6)311,
26(4)290,
27(7)200,
28(6)100,
28(7)102,
29(6)196,
30(6)130,
30(8)58
- run,
25(6)9,
25(6)85-1,
27(7)32,
27(9)85,
28(3)353,
28(6)126,
28(7)83,
28(7)102,
28(7)239,
29(6)36,
29(6)186,
29(6)196,
29(10)191,
30(3)1,
30(6)1,
30(6)218,
30(6)270,
30(8)123,
30(8)207,
30(8)217,
30(11)88,
34(5)229
- scalable,
26(4)224,
26(7)106,
27(9)262,
28(6)112,
28(12)85,
29(11)12,
30(8)1,
30(8)123,
30(8)199,
32(10)94,
32(10)94-1,
33(1)14,
33(5)301,
33(7)11
- small,
17(9)18,
25(5)124,
25(6)66,
25(6)174,
27(7)1,
27(7)212,
27(7)273,
27(7)322,
27(7)331,
27(12)61,
28(3)231,
28(3)357,
28(6)126,
28(6)217,
28(7)119,
28(7)208,
28(7)229,
28(8)53,
28(8)90,
29(6)337,
29(6)337-1,
29(6)349,
29(6)349-1,
29(8)94,
29(11)2,
29(11)76-1,
29(11)86,
29(11)242,
29(11)252,
29(11)274,
29(11)328,
30(3)111,
30(3)119,
30(8)217,
32(10)125
- start,
28(3)333,
30(6)47,
30(11)60
- strategy,
25(6)16,
25(6)28,
25(6)66,
25(6)137,
25(6)296,
26(3)45,
27(7)283,
28(6)217,
28(7)229,
28(10)437,
29(6)313,
29(9)29,
29(11)76-1,
29(11)98,
29(11)252,
30(4)29,
30(6)93,
30(6)130,
30(8)1,
32(5)7,
32(5)97,
32(5)287,
32(5)296-1,
32(7)264,
32(10)243,
33(7)11,
34(1)13,
34(3)49,
34(3)79,
34(3)176
- stream,
25(6)28,
26(4)2,
27(7)12,
27(7)68,
27(7)94,
27(7)188-1,
27(9)76,
27(9)85,
27(9)111,
27(9)149,
27(9)162,
27(9)175,
27(9)213,
27(9)262,
27(9)274,
28(6)68,
28(6)112,
29(3)33,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)98,
29(11)196,
29(11)219,
29(11)232,
29(11)242,
29(11)252,
29(11)274,
30(8)11,
30(8)134,
31(9)2-1,
31(9)12,
31(9)26,
31(9)37,
31(9)50,
31(9)210,
31(9)279,
32(5)183,
32(5)334,
33(11)58,
33(11)170,
33(11)181,
34(1)261
- subprogram,
28(2)14,
28(2)14-1
- systematic,
25(6)283,
26(1)124,
26(7)28,
28(3)343,
28(4)61,
30(10)281,
32(8)38
- technology,
6(4)176,
6(4)186,
6(4)209,
6(4)213,
26(5)37,
26(11)355,
27(7)94,
27(10)166,
27(10)166-1,
28(10)304,
28(10)304-1,
28(10)356,
28(10)356,
28(10)365,
28(10)365-1,
28(10)374,
28(10)374-1,
28(10)437,
29(6)196,
29(8)13,
29(10)46,
29(10)205,
29(10)287,
29(11)2,
29(11)76-1,
29(11)86,
29(12)78,
30(10)33,
31(2)8-1,
31(11)21-1,
31(12)18,
32(4)16,
33(2)15,
33(2)15-1,
33(7)1,
34(4)35,
34(4)35-1
- thereby,
29(8)1,
29(11)86,
29(11)297
- too,
25(6)102,
25(6)112,
29(11)25,
29(11)208,
30(6)279,
33(7)27,
34(9)8-1
- transfer,
25(6)78,
28(6)147,
28(7)139,
28(10)437,
29(9)125,
29(11)2,
29(11)38,
29(11)86,
29(11)219,
30(6)1,
30(8)39,
30(8)68,
30(8)217,
33(11)159,
34(10)276,
34(11)94
- usually,
25(1)59,
25(4)59,
25(6)78,
25(6)174,
27(7)162,
28(3)361,
28(6)26,
30(3)111,
30(6)1,
30(6)32,
30(6)186,
30(6)291,
30(6)315,
30(11)79,
30(11)134
- well,
25(6)28,
25(6)40,
27(1)95,
27(7)22,
28(3)359,
28(6)36,
28(6)46,
28(6)166,
28(6)177,
28(6)187,
28(6)227,
28(6)300,
28(7)13,
28(7)102,
29(6)186,
29(6)206,
29(6)218,
29(6)266,
29(11)2,
29(11)122,
29(11)145,
29(11)158,
29(11)308,
30(6)32,
30(8)39,
30(8)48,
30(8)80-1,
30(8)123,
30(8)217,
30(11)60,
33(7)1,
33(7)35,
33(7)75
- when,
24(3)34,
25(6)40,
25(6)66,
25(6)78,
25(6)92,
25(6)102,
25(6)112,
25(6)137,
25(6)174,
25(6)223,
25(10)181,
27(7)1,
27(7)116,
27(7)188-1,
27(7)235,
27(7)311,
27(7)322,
28(3)97,
28(3)361,
28(6)56,
28(6)100,
28(6)147,
28(6)187,
28(6)258,
28(6)278,
28(7)44,
28(7)83,
28(7)239,
28(8)90,
28(12)169,
29(6)1,
29(6)49,
29(6)85,
29(6)206,
29(11)2,
29(11)86,
29(11)145,
29(11)171,
29(11)242,
29(11)252,
30(3)23,
30(3)94,
30(6)1,
30(6)56,
30(6)93,
30(6)103,
30(6)151,
30(6)279,
30(8)123,
30(8)179,
30(8)189,
30(8)199,
31(5)108,
32(3)27,
32(3)27-1,
33(2)59,
33(7)19,
33(7)27,
33(7)67,
34(9)1