do i = 1,n - cornell university together.... i = t*d = j u v i j u v 1 1 1 0 1-1 1 0 skewing of...

17

Upload: phamdieu

Post on 20-Mar-2018

218 views

Category:

Documents


3 download

TRANSCRIPT

����� ����� ��� � � ���� �� �

� ��� � ���� ���� � � �� ��

� �� �� � � �

�� � ��� � �� ��� � � � ��� ��� ������� � ����� � ��� � ������ �� �

��� ������ �� �� � � �� � �� ����� ���� � ��� ���� �����

���� !"! �#$ %!& "�%�� �� �� ��� ��� �� �� � �� � �� ���� ��� '

���� � ���� � � � ������ �� � � ������� ������ �� �� ��

��� � ��� � � �����(� � �� ���� ��� '

���� � � ���� ��� � ���� � �� ������ ��� )�� � � � ���� �'

*

���� �� � �� � ������ �� ���� ������� �� ����� ��� � � ���� �� �� ���

� ��� ���� ���� ����� ���� � � ���� �� � + ,�- ��� .���� �� �. � ���� '

��� � � ���� �� ������(+/0 ��� � 1 ��� � �� ������(2

3�� � ��� � � �����(+4

5����(��- �� ��� � � �� ����� ��� � �6 � ��� � �� ��� �� �

��� � ���� +/748 9

3�� � ��� � � �����(� ��� � � ����� ��� �� �+/74

� �� �� � �� �� �� �� �- �� � ���� � �� ��� �� �� � ���� � �� �����'

:

; �� �� ��-� �� �� ��

������ ����� ��� � � ���� �� � +� � ������ �� �. ,�- ��� .

���� �� �. � ����

�� � �� � �� �� �� ����� ����� ��� � � ���� �� � +�����(� ��-� � ���

��� � ���� �����(+���� �� ��� �� � �� �� ��� �� �� ��� � ����

��-� ,�� ���� +

<'=� �� ������ � �� �

>'5� ,��� � ���� ��� � ��� � � ������ ��

�?� ��@��� �� � ��� ��� ���� ��� ��� � ��� � �� ��� � �

��� �� ������� �-� �,-�� �� � �=�BA � �� ��� �� ���� � ����

C

D�� � �� � ��� ��+@�� ��� �� � � ��� ��� � �� � ������ � ������(

3� @��� �� �+?�� �� �(� ���� ��� � �� � �����(5�5(E9'

)����� �� @����� � � ��� ��� � �� �����(�� � �� �� 1� �� �� �

� ��'

mz

Null space basis:

0I mxz

zxz

F � �� �� ������(5+

�G���� ������ �� ������(H�� ���5HE�� ��

� �� �� 1� �� �� �� ��'

�)(���� �� ����� ��� � �� �.H (� ���� ��� � �� 5'

�)I��� � � ��� ��� � �� �.H I��� � � ��� ��� � �� 5'

J

�(� �� �� +5LKHE�

MNNO<9

>

9

>>

<P<< Q

RRST MNNO

<9

P>

9

<P<

99

< QRRSEMNNO

<99

9

>9

<P<9

QRRS

I� � � ��� ��� � �� 5EH K0 99<2 AE

0 1> 1<<2 A

U

� � ����� ���� �� � +

�V � ����������� � �� ��� � �� �� 1� �� �� �� ��+5HE�'

�V � � �� ��� ��-� ���� �����(�� � �� � �� �� �+5E�W

- �� ��W � ���� ��� H �� �� ��� ������ '

�?�� ��� � +W X� �� ��Y�� �� �� ��� ������ � '

H ������ �� ������ �� �� ��,�� �� ��� � �� ������ � ����� � '

��� � �� �� ��� � ���� � �� � �� �� �+5E�W - �� ��� ��� ��� � �� �

� �� �� ��� �� �� �� � 1��� �� ��� '

���� � � ������ ���� 1=� ����� �� ��� �� ��� �����('

Z

5�� ���� ��� � (� �� �� +V ��� �� �� ���

[\]^_`abcdef

ghijklmnopqr

stuvwxyz{|}~

� �� �� �� �� �� �� �� �� �� �� �� �

������������

I

J

12

35

4

1 2 3 4 5

DO

I = 1,N

DO

J = 1,N

X(I,J) =

X(I-1,J+

1)......

Dependence m

atrix =

-1 1

3�� � ��� � ����-�� ��-� ��� ��� �� �

E� ��� ��� �� ���� �� ��� �� �� �� �� �

E�� ��� �� �� �� �� (� �� �� ��� �������� �

���� ��� �� �� � ������-�� �� (� �� �� �� ��� � ��� �� ��� ��� �� � '

� � �-� ���� ����� � ��� �� ��� ��� �� � ��� ���� �� �� ��

G� ���-. � �� ��� � �������� � ��� ��� �����-�� ���� � ��� ��

��� ��� �� � '

���� (� �� ��� ��� � �� ,���� �� �� � �� ��� � ���� '

��� ��� ���� �� �,���� �� � ���� � ���� �� ��� � ��� �� +

���� ��� �� �� ���!� ��� �� ��� �� �� �� �� �+��� ����� � ��� � �

�� �� �� ��� � ����

I�� �� ����� ��������� � ���� ��-�- ����� ���� �'

�(� �� �� ��� �� �� � �� ��� � ���� ��-��� �� ��

�� ¡¢£¤¥¦§¨©

ª«¬­®¯°±²³´µ

¶·¸¹º»¼½¾¿ÀÁ

ÂÃÄÅÆÇÈÉÊËÌÍ

ÎÏÐÑÒÓÔÕÖ×ØÙ

ÚÛÜÝÞßàáâãäå

æçèéêëìíîïðñ

òóôõö÷øùúûüý

þ þÿ ÿ� �� �� �� �� �� �� �� �� �

�� ���� ����

I

J

12

35

4

1 2 3 4 5

I

J

12

35

4

1 2 3 4 5

Tiling is illegal!

Permutation is illegal!

V � ������� ����-���� � � ���� �� � +� � ������ �� �� ��� ����� '

�� ������ �� �� ��� ����� � ����� ������ � �'

��

=� �� ��X��� � �� �

��

; ��� ��� �� �+ ���� �� ��� ��� �� �� �� �� �� ��� ���� �� �� �

H

G

J

I

���� +���� � � ���� �� �� ��� � �'

�3�� � ��� �� ��� ��� �� �� �� ���� ��� ������ �� �� �. �� ��� � �

�� � ���� '

� � �-�� ��-� �� ���� ��� ���� ��� � � ���� �� ��

���� ,�- ��� � ���-���� ���� ���� �� �'

�*

���� � ,�- ��� +� ����� ����� ��� � � ���� �� �

I

J

U

V

IJ=

UV1 11 0

1-110

Skewing of inner loop by outer loop:

Skewing of inner loop by an outer loop: alw

ays legal

New

dependence vectors: compute T

*D

In this example, D

=

T*D

=

This skew

ing has changed dependence vector but it has not brought dependent iterations

closer together....

1 0k 1

(k is some fixed integer)

�:

� ,�- ��� ���� ����� �� ���� �����IJ=

UV

I

J

U

V

1 10 1

1 k0 1

Outer loop skew

ing:

Skewing of outer loop by inner loop: not necessarily legal

In this example, D

=

-1T

*D =

0-1

1incorrect

Dependent iterations are closer together (good) but program

is illegal (bad). H

ow do w

e fix this??

�C

���� X��� �� �+� ����� ����� ��� � � ���� �� �

00

IU

U =

[-1][I]

DO

I = 1, N

X(I) =

I+2

X(-U

) = -U

+2

DO

U =

-N,-1

Transform

ation matrix =

[-1]

Another exam

ple: 2-D loop, reverse inner loop

UVIJ

1 00 -1

=

Legality of loop reversal: A

pply transformation m

atrix to all dependences & verify lex +

ve

5-5

Code generation: easy

�J

���� � � � �� � ������ � � ���� �� �

1 10 1

1 00 -1

I

J

U

V

IJ=

UV

UV=

GH

G

H

Com

position of linear transformations

= another linear transform

ation!

Com

posite transformation m

atrix is

*=

1 00 -1

1 10 1

1 10 -1

How

do we synthesize this com

posite transformation??

close together! In final program

, dependent iterations are

Transform

ation: skewing follow

ed by reversal�U

� � �� � ������� � ������ �� �6 ���� �� �6 ,�- ���

���� � � ���� �� ������ � � �� � ������ �� �6 ���� �� �6 ,�- ��� � ��

� ������ �� �'

�?�� � �� � �� �� �� � ������ � � ���� �� � � ��� ��� ��� ����

�� �� ������ �� ������('

�?�� � ������ �� ������( � ����� � �� ��� ����� ���� ��

� � ������ �� �6 ���� �� �6 ,�- ��� ����� � '

���� � ���� � � �� � ������ � � ���� �� �/+ �� ,� ���/748 9'

0 ���� +/: T0 /* T0 /� T422 E0 /: T/* T/�2 T4'2

�� ���� � �� ��� �� �� �� � ��� ��+

�� ��� ��� !"# �$% &'()* +

�,�� �% -" �.�/ �" �&0 12 ()

�345!"# �$% &6" .7 #/4 -�" .'(298:0* +

�Z

�� �� �� �Y��� � �� � ������ � � ���� �� �� ��� �����( 1����

��� ��� ��

�X�� �� �� �� ����� �������; �� � �� ��� � � ���� �� �. -� � �

���� ������� �� ��� �� �����(� ������ ��� ��� �� � �� � ���

��� � � ���� �� �'

����� ���� ��� �� � �� �+��� � ��� � � �����(

��

=� �� ������ � �� �+���� ���� ���� ���� �����

<47 4 �$4 �64=46/" ��%

>?@?ACB

D�4 -4 ��"//"E�=4$47 4 �$4 �/�/4 ��/ �" �%��$ �F4 �4 �/"#/4 � ""7 �/4 ��/ �" �% B

G"$47 4 �$4 �64=46/" ���/ �� �% -" �.4$7 �"� �� .% E"# $ "" H �H4>IJJACB

G"2 (>?@?A1

>IJJA

,E�%%�K %L�%/ �"5" -2�%" �/ E"� " �� /"

>?@?ACB

G"L�%/ �"5" -26� �!46 E"%4 �/"!4M ??N B

O E�/�!"#/%46" �$ �"5J

��

� � � ����-� /0 � ����P2 ��� ���� � � � �� � ���- ��� � ��� � �� �� +

�Q% E"# $!4 ��4� � K ��$47 4 �$4 �/" -L�%/ �"5" -2M �" � R% ��� # � �

.�/ ��SN B

�2 (T% E"# $!4� 4 S�6"� ��7 E�6� K 7 "% �/ �=4=46/" �B

�<4/4 �.��� �/" -.�/ ��S% E"# $!4U ?" � R?M # ��."$# � ��/KN B

� �46 E" �64 &M I@?N V� �= ��� 2 1

>??

I@?ACB

*�

F � �� �� �; ��� �� �

<'=�-��-� ����� �� @�� �-��-� � ����� � � ���� �� �

�����(��� � �������-��

>'=�-��-� @����� �� ���� � �� �����(��� ��� ������ �� �

�����(�

*�

� ��� ��� @�� �-��-� ��� � � ���� �� ������(+

G� ���-. �� ����� � ��� � � �����(3��� ��� � ��� � � ����'

?�� � ��� ��+

���� I����� � � ��� ��� � �� 3 A'

�H ���� �� ��� �� ��� �� �� @�� �-��-�

��� � � ���� �� ������('

�(� �� �� +���� �� ����� � (� �� �� ��� ��� ��� ���� '

**

�(�� � �� ���� ��� � �� ��� �� � +���

� � � ��� �4E

MNNNNNOW<

9

P<>

P<P> Q

RRRRRS

��� @����-� ��� � � ���� �� ���0 X� X* X: XC2 '

)� �� �� �� ��� � �� ��� 4. �� � ��� �� ���X� � ��X* ����� Y� �� '

)� �� �� <�� ��>����-� 4� �� @���� � � ��� ��� � ��

�� �� ����� ��-� 4+0 <<2

���- �� �Y� ����� ��� � �� �� ���� � � ���� �� �+0 99<<2

F � �� �� �� � �� �� +,�� ,�����-� 3- �� �� ��� � �� �� �� ���. ��

� �� � ��� ��� �� ��� � ��� �� �. � ��� ����� �� ��� �� ��� � ��� �� �

- �� �9 A '

*:

G������ ������ �����(+

��� ����������� �� ��-�� ��� � ������ �� ���� ��; � ��� �� ��

�� � �� ��� �� �� �� ��� �� +� � �� ������� � 1 ��� � �� ������(�� ��� �

@�� �-��-� � �� �����(

����� �� �+��-��-�� � �� ���� ��� ���� � � ���� �� ������(�

�� � �� �� ��� � 1 ��� � �� ������(�*C

� � �� ��� �� ���� ��� ��

F �� �+��� � �� ����� � �� ������� � � ���� �� ��� ��� � �� �� ���

� � �@��� ��

>??

JJA>

?@?A1

>IJJA

Y �=4 �&��$47 4 �$4 �64 .�/ ��ST

��Z [\]^[_/ �� �% -" �.�/ �" �`M L�%/-45 �"5%N

� 4 �4 ��/4� �" � R% ��� # � �.�/ ��S2/ E�/4 S/4 �$% `� �$/ E�/%�/ �% L4%�

/ E4$47 4 �$4 �64%��TM 2Ta IN B

D�46" �$ �/ �" �&

��"5%" -`� �4 ��4� � K ��$47 4 �$4 �/

�`(Tb IM �"$47 4 �$4 �64%=�" �/4$K 4/N

*J

� � �� ��� �� �� �� � ��� ��+��� ��� ���� �� � ��� ��

<'G�� �4. �� ����� ����� � ��� � �c� �- �� �dc8 9'

>')4� ��-� �� �� .�� �� ��� � ��� ����� ������ �� ������

�� �� ��-�� d��� � �� ������� � 1 ��� � �� ������('

e '; � �� �- ��. ���f��� �� @����-� 0 ���� ��2 4� ������

�� � 1Y� ��� �� �� 'H �gh0 � �����-�� �� �- �� �<�� � �� ��f� ��

Y� ����� �� - �� ��� ��2 �� �� �� (���-� � ����� � � ���� �� �'

�'X�� ����� ����0 �2 '

���� +������ ��-� ���gh � ����� ��� ����� � ��� ��� � (�� ���

��-� � � �� �� ���� � � ���� �� �. � ����� ���� �� ����� ��

��� � ��� � � '���0 �� ��6 ���� � ��� �� � �2 '

*U

�(� �� �� +MNNO 9

<<

���

��� Q

RRSMNNO

<WW

<9

<

P<9

P< QRRSE

i 999j

����� � ��� � � ��� � @���� � � �� �� ���� � � ���� �� �'

�� (���-� ��� � � ���� �� � E0 <992

��-� � �� �� ���� � ��� � � �����(�

MNNO 999

<WW

��� Q

RRS

*Z

?����� � ��� � �� �� ��-�� � @��.�-�� �� �� �- �� �� ��� ��� �� �

� � �� ��� ��� ��� � � ���� �� �- �� ����- ����� � ��� ��� � (�� ���

� �� '

I� � � ��� ��� � �� � � �� �� ���� � � ���� �� � E0 9< 1<2 A

/EMNNO 9

<<

<99

9

<P< Q

RRS

*�

���� �� �+��� � � ���� �� ������(�-����� ��� �� � 1 ��� � �� ����

��� ������ ������ �� �'

�-�� ��� �� � +����� ��E�W� ���� 1=� ����� �� ��� �� ��

�� � �� � �� �� �- �� �� �� ��-� � 1���� �� � �� �- �� �� � �� ���� ��� � �� �

� �� �� ��

�3��� ��� ���� � �� ��� �� ��� ��� ��� � � ��� � 1 ��� � �� ������ � '

�H �W ���� � � ���� �� ������('

W ��� �� �+=�-��-� ,��-� �� � ��� � �. � �� �� ��� � �

�� � ���� �

G���. ����� ��� ��� ��- ������ � � ���� �� �� �� ���� �����

�� � 1 ��� � �� ������ �� ���� �� ���� ������ �� �'

*�

���� � ���� + �� �� ���� �Y�� ����

kl mn opmq mnn

rs

kl mntpuq unnq u

mn

vw ox po

mnvw ty uxpty u

� � ���� �����(+�� � 1� ������ �� ���� � � ���� �� �

>?I

IzA

:�

�� � ���� . ��,� ���� �� �. � ��� ��� � ��� ���� ��� �'

��� � ��� � �� ������ ����� ��� � � ���� �� � +

� � ������ �� �6 ,�- ���6 ���� �� �6 � ����

�?�� �� � 1 ��� � �� ������ � ������( � ����� � �� ��� ����

� ���� �� � � ������ �� �6 ,�- ���6 ���� �� �6 � ���� ����� � '

�� �� ��� ���� � �� � �� �� � +0 � ����2 1=� ����� � ��/E{ T|

- �� ��| �� ������ �� �� ��{� ��-� ����� �� � �� �- �� �� � �� ���

� ��� � �� �� �� �� ��.0 � ����2 1� ��� ��� ��� �� ��/E} 4~

- �� ��}� ~ � ��� ������ �� �� ��4�� ��� � �� �- �� �� � �� ���

� �� �� �� '

�)� ��� ��� � ���� ����� � ��� ���� ���� ��� � � ���� �� � �� ,� ��

�� �� ���� �� �� �Y���� � � ���� �� ���� � �� �� ��� ���

� � �� ��� �� �'

: �

� ���� � �� ��� �� �- �� ���� � 1 ��� � �� ���� � � ���� �� �/

� ���� � �� ��� �� �� �� ������ �� ������(} +

�; ��� ��� ���� �� +�T�� �

���� � � ���� �� �+� E}T�

���-��� �� + � �� ��� �� ��T}����� �

D�� � ��� �� ��� �� +/ ��� ���

�� �� ���� � ������ � ������('

: *

3�� � �� �� +

I

J

IJ=

UV

DO

I = 1,3

DO

J = 1,3

A(4J-2I+

3,I+J) =

J;

DO

U =

-2,10,2 D

O V

= -U

/2 +3 m

ax(1,ceil(u/2+1/2)),

-U/2 +

3min(3,floor(U

/2+3/2)),3

A[U

+3,V

] = (U

+2V

)/6

1 1-2 4

How

do we determ

ine integer lower and upper bounds?

Key problem

s:

How

do we determ

ine step sizes? (rounding up from

rational bounds is not correct)

U

� � ��� �� �+�� =� ����� �� ��� �� ���� � �� � �� �� �/E{ T|

::

X� ����� � (� �� �� +� �� ��Y� /E{ T|

-1 2 0 1

-1 32 0

-1 32 0

-1 2 0 1

I

J

U

DO

U =

-2,10,2 D

O V

= -U

/2 +3 m

ax(1,ceil(u/2+1/2)),

-U/2 +

3min(3,floor(U

/2+3/2)),3

A[U

+3,V

] = (U

+2V

)/6 U

DO

I = 1,3

DO

J = 1,3

A(4J-2I+

3,I+J) =

J;

DO

P = -1,5

DO

Q =

max(1,ceil(p+

1/2)),min(3,floor(p+

3/2)

A(2P+

3,-P+Q

) = Q

-2 4 1 1

=

Initial Iteration Space

Final Iteration Space

Auxiliary Iteration Space

: C

H ��� �� � 1 ��� � �� ������(/���� � � ���� �� ������('

X� ����� � (� �� �� +

�Y �=4 �2 1� (� 5E4 �4 ��%/ ��� �� # � �5�/ E7 "% �/ �=4$ ��� " ��

4 4 .4 �/%� �$��%# ��."$# � �B

-1 32 0

0 1-1 2

1 1-2 4

=

��%4��%/ E4/ �� �% -" �.�/ �" �/"� 4 �4 ��/4!"# �$%-" ��# S� �� �K %7 �64 B

@?*�* �

���M ?� ����MM � U ?N� �NN *�* ���M ��� ����MM � U �N� �NN

��4�$" F!"# �$%-" �L�� �/4 ��/ �" �%7 �64 -�".�

> �I

@?�A>

��A1

> ��A

@�* �

* ?I

@�� �U ����M ?� ����MM �� �U ?N� �NN *�* @�� �U � (���M ��� ����MM �� �U �N� �NN

:J

�G/47 % � 4%" - ""7 % &$ ��� " �� 4 �/ ��4%" -�

�¡ E� �� 4" -=� ���! 4%��!"$K

>�¢A1

>@?� £¤� £

?� £�� £A> ��A

�Y""$/"#%4%/ �4 �� / E�4$#6/ �" �/" �47 �64/ E4 ��/4� 4 �$ �= �% �" �%!K

�$$ �/ �" �%� �$ .# / �7 �6�/ �" �% B

¡" .7 4/4/ �� �% -" �.�/ �" �5�/ E�" � R% ��� # � �.�/ ��S�% �44$4$ -" �

� 4 �4 ��/ ��� 6"$4 -" �$ �%/ ��!#/4$ R.4 ." �K 7 � �� 4 .�6 E��4%� �$% �.� � �

7 �"! 4 .%M %44O" -4¦¥%!"" HN B

§"//". ��4 &/ �� �% -" �.�/ �" �%K �/ E4% �%7 �"64$# �46� �-"6#%" �7 �"$#6 ���

�" � R% ��� # � �.�/ ��SB� ��."$# � ��/K �% �"/�.7 " �/� �/ B

:U

� � ��� �� �>�� ���� � �� ��� �� �- �� ��� � 1 ��� � �� ���� � � ���� �� �

����� �

�� ��� +){��¨ ©¨���� �� � �� ������(- �� �� � �� ���� ��� � �� �

� �� �� ��. {��� �� (� �� ��� �� � ��� � � �� ����� �� � ����

�� (� �� ��� �� � ��� � � �� ����� �� � '

)��� �� �� �+{��� ��� �� �� �� ��� ��� ���- �� ���� ��� �� �� ���� ��

���ª ���� �� ��� �� �� ��

���� +� � � ��� �cE{ T«- �� �� «�� �� (� �� ��� �� � ��� � � �� ���

�� �� �� �� ��-� ���c � �� (� �� ��� �� � ��� � � �� ����-� ��'

�?� (���� �� � � � ��� ��� �� �� ��� � �� ���� ��� ��� ��� ��

� ���� � �� ��� ��� ��� �� � ��@�� �� � � '

�5� �� �� � �� ��� ��� �� �� �� (���� �� � ��� �� ��� ���

�� �� �� � �� ��� ��� �� �� @�� �� ��� �� ��

:Z

G� ��� �� �� � �� ��� � ���Y�� �� �. -� � ������ � 1 ��� � �� �

��� � � ���� �� ������(/� � ���- + � �� ��� =� ����� �� ��� �� ��

� /E{ T| � ����| ���� � � ���� �� ������(�

:�

���� ��� ��� ����� �� �� �� �-��� �� ��� (� �� �� +

¬­®¯°±²³´µ¶·

¸¹º»¼½¾¿ÀÁÂÃ

ÄÅÆÇÈÉÊËÌÍÎÏ

ÐÑÒÓÔÕÖ×Ø ØÙ ÙÚ ÚÛ Û

ÜÝÞßàáâãäåæç

I

J

12

35

4

1 2 3 4 5

DO

I = 1,N

DO

J = 1,N

X(I,J) =

X(I-1,J+

1)......

Dependence m

atrix =

-1 1

��$ �"5%" �/ E"� " �� /"%7 �64%7 � ��4$!K $47 4 �$4 �64=46/" �%V � �$

#%4/ E4 .�%/ E47 � �/ �� / �� �% -" �.�/ �" �Bé�/ E�%4 S� .7 4V / E4

" �/ E"� " �� %#!%7 �64 �%%7 � ��4$!K / E4=46/" �M ??N B

�ê77 K 6" .7 4/ �" �7 �"64$# �4/"7 � �/ �� / �� �% -" �.�/ �" �/"� 4 �4 ��/4

-# / �� �% -" �.�/ �" �BO45"# $�$$ �"5M ?IN BG"/ �� �% -" �.�/ �" ��%

>??

?IA

:�

F � �� �� �� � �� �� +

�(� �� ����ë �����ì�#í#ë "� ��%ì ��"î í !� �ï%��î � " !�ð#�

<'���� � ��� � � �����(4- �� ���� � ��� � ��� �� �

>'� �� � ���� �����({ñ4- �� ��� � ���� �� �� �

�� � ���� �����(����� �� �� �� ��� �� ���� �� �� � �� �� �� �

�� � ���� � ������ 1� ��� �������� '

)��� �� ��� �� . -�-�� �� ��,��� � �� �� �� � ��� � �� � ��{������ ����

���� .� ��� ������� � ��� � �� � ���� ��'

C�

5��� ���� � �� �� ��� � ���� + � ���� ��� �� �� � �� � ����� ���-�� ��

� ���� ����� ��0 � �� �� �� �� �� ��� �� ��� 2

�(� �� �� +�� �? �� ��� ��<

òó ôõöö

òó÷õööö

øù ôú ÷û õüù ôú ÷û ýþù ÷ú ôû

é-� ���K %� �4%/" �4$ ��6" # .� R.�ÿ " �" �$4 �V 54% E"# $ ��/4 �6 E� �� 4/ E4

/5" ""7 % B�"5$"54$4/4 �.��4/ E�% ��� 4 �4 �� J

C�

�(� �� �� +� ���� �� ��� �� � �� �� 1��ª � �� ��� �. �� � �� � � ����W ��

� ��� ��-��� ��� ��� �� ��� � ��� �� ���� ��� �� ��* '

?���� � �� �� ��� ��� ����� ��� �� ��� E����� W ��

?���� � �� �� ��� ��� ����� ��� �� ��* E����* W ��

V �-� ��� ����-�� ������- �� ���� � �� ��� �'� �

�T0 �� P�*2 E

MNNNNNO�

97779Q

RRRRRS

��� ��E�

- �� �@����-�� �����'� �-�-� ����� ���

��T�E9- �� ��� ������ ��� � �� � '

� � ��� �� �+� �� �� �� �� ����� ��� � �� ��'

�� �� �� ��� � ���� �����(+�����( � ��� ����� ��� � � ��� ��� � ��

��

C*

�(� �� �� +� ��.ª . ,'''?� �Wª W ,. ,Wª . >,W >ª� ''

)�- ���� ��� � �� �0 2 � �-� �����-�� ��� ��� �� �� @��

� ��� � �� �� ?� �� �� ���� � �� �

��EMO 9

<<

9>> QS

�� �� �� ��� � ���� �����(� MNNO

<99

<

9

P< QRRS

C:

�(� �� �� �� �? �� ��� ��<+� (� �� �� ��� � �� �� ��� � ���� ��5� 5

�����(� ��

� �opmq �

� ��pmq �

vw ox pvw ox ��w oq �x ��w �x

X� � �� � � �����(� MO

<99

< QS '

��� � ���� �����(�i 9

<j '

� �� �� �� ��� � ���� �����(�

MO<

9QS '

CC

���� � ��� � �� �� ��� � ���� +� � �� ���� �� ������ � �� �� ��� � ����

�����(

G� ��� �� (� �� ��. -�� ��� ����� � � ���� �� �

MO 9

<<9

QSMO<

9QSEMO 9

< QS

�����. -�-�� ��� � ������ �� ���� - �� �� � ��� �'

CJ

X��� 1� ��� �������� +�������� ��� � �� ��� �� � ���� �����(

òó ôõ�ú �

òó÷õ�ú �

òó �õ�ú �

øù ôú ÷û õøù ôú ÷û ýüù ôú �û �þù �ú ÷û

¡" �% �$4 ��4#%4=46/" �-" ��4 -4 �4 �64 üù ôú �û &

?*):� )�� �:� ��� �:� ��* �

M ):� �:� �:N�M )�� ��� ��N

):1)�

�:1��

�?1)� @):

��1�� @�:

��1�� @�:

CU

�4#%4=46/" ��%

MNNOIUI Q

RRS B

¡" �% �$4 ���� � / E4 �4 -4 �4 �64%V 54� 4// E4 -" "5��� "6� �/K .�/ ��S&

MNNOIIU

UII

IIU Q

RRS

CZ

F � �� �� �?�� � ��� ��� �=� �� ��X��� � �� �

�� � �� ���� �� �� � ���� �����({- �� � � ��� ��� ���� �� �� �� ��

- �� �-�-�� �� ��,���� (� �� �� �� � ����0 ��ë �����ì�#í

!� �ï%��î � " !�ð#�í#ë "� ��%ì ��"î2

�3��� �������� � �� �� �� �� ��� � �� { �� ����� ���� �

�� �� @�� �-��-� � ����� � � ���� �� �'

�� � ��� �� � �� ��� �� �� �� � ��� ����� � �� ����� � �� ����

��� � � ���� �� �'

�3��� ���� 1=� ����� � ���� � �� � �� �� �� ��� � � ���� �� �

�����(� ����� ��� ������ �� �� � ������ � � ���� �� �'

G�� (�� ����� +��� ��� � �� { ���� ��� � �� Y� ���� �� �����. �����

��� ������ ��� � ��� � �� �� ��� � ��� �� ���� 1� ��� ����

�� �� �� ��� �� �� ��� � ���� �� �� � �� � � � ��� ��� �� �'

C�

)�� �� ���. �� �� ������ � �� ���� � �� �� � �� � ���� �� �� �� � �

� �� ���� � � '

�(� �� �� +555� ��-���� ��� ��� ����0 � ��� ��� ��� �5� 5�

-�-� ����� (� �� �� �� � ���� ����� ������(?� ���� �� � (.�2

V � � �� ���� (� �� ������ � �� �� � ���� � ��� ����-� � �� ��� ���� '

������ � ���� �-�� ��� � �'''

� � ��� �� �+��� �� ����� ����� ��� � � ���� �� ���� ��� ��� ����� '

C�

����� ����� ��� � � ���� �� ���� ��� ��� �����

J�

)�� � �� �� �. � ����� � ��� ��� � �'

!"#$%&'()*+,

-./012345678

9:;<=>?@ABCD

EFGHIJKLMNOP

QRSTUVWXYZ[\

I

J

12

35

4

1 2 3 4 5

Tiling is illegal!

D =

-1 1

������ � ��� � ������ � �� � ��� � � ������ ��0 � ��� � ������ �� ��

���� � �� ��� � �2 '

������ � ��� � ��� ��� �� ��� ����� � ��� � � �����(� �� �� � 1��� �� ��� '

�� � �-�� �-�� � ��� ���� � �� � �� ����� ���� ����� � ���

� � ������ �� ���� ��� �

�V �� �-� � �. ��-��-��� �� �J �

���� �� �+)� ����� � ��� � ��� �� �� ��� ��� � ��� �� �. -� � �

� ��� ��� �� ��� ���� ��� ����� � ��� � � ������ �� ���� ��� '

�(� �� �� +-��� �� ��

3�� � ��� � � �����(� MO

<P< QS '

3�� � ��� � � �����(� ��� � � ����� ��� �� ���� ����� ��� � �� ���

� �� ��� '

� � @����-� ��� � � ���� �� � � ���0 <92 '

� � � ����-� ��� � � ���� �� �0 �<20 � �� �� �� 92 '

F � �� �� ����� + ,�- ���� ����� �� ���� ����� � � �� �� �� �� �� ,�

� ����� �� ���� �� ��� �� � 1��� �� ��� 'J *

��� � � ���� �� ��� �� ,� @����-- �� ���� �� ���� �� ��� ���� ��-

- �� ��� � 1��� �� ���� �� ���

.......

-k-n

-m

... ...first roww

ith negative entries.......

row a

...

......

p3p1

......row

b

(a) for each negative entry in the first row w

ith negative entries, find the first positive num

ber in the corresponding column

assume the row

s for these positive entries are a,b etc as shown above

(b) skew the row

with negative entries by appropriate m

ultiples of row

s a,b.... For our exam

ple, multiple of row

a = ceiling(n/p2)

multiple of row

b = ceiling(m

ax(m/p1,k/p3))

Transform

ation: I

0 0 ..0 ceiling(n/p2) 0 0 ceiling(max(m

/p1,k/p3))0...0 I

p2

J:

F � �� �� �� �� � ��� ��� ��� ,��� ���� ��� � ��� � � ������ �� +

)� ��� �� ��� ����� � ��� � � �����(� �� �� � 1��� �� ���. �� �� '

; � �� �- ��.

<'?�� �� � �� � ��� ��� �� ��� ��� ������ @����-- �� �

�� � 1��� �� ���� �� ��� '

>'F � �� ���� ��-��� � ��� � � �����('

e ')�� ��� �� ���� �� ���. �� �� '

�'; � �� �- ��.� ����0 <2 '

J C

X�� ��� � ����� ��� � � ����-��� �� ��

]^_`abcdefgh

ijklmnopqrst

uvwxyz{|}~��

� �� �� �� �� �� �� �� �����

������������

������� ¡¢£¤

¥¦§¨©ª«¬­®¯°

±²³´µ¶·¸¹º»¼

½¾¿ÀÁÂÃÄÅÆÇÈ

ÉÊËÌÍÎÏÐÑÒÓÔ

ÕÖ×ØÙÚÛÜÝÞßà

I

J

12

35

4

1 2 3 4 5

I

J

12

35

4

1 2 3 4 5

1 11 0

Original loop

Tiled fully perm

utable loop

������� � �� ������ 1���� ���� ��� '

���� �� �� �� �� ������ � �� �� ��� �� �.��� ��- ���-� �,@�� � �

�� � ���� � ��� � � �� ��� ( �� ���� ������ ��� ���0 ������ ��� ��

� � ��� �� �� � �� � ����� �� ��� �� ���� ��� �� � ���2 '

JJ

V ������� � �- �� �� ��� � �� ��� �� � �

)�� � �� �� �. -� � ���� �� ,� ���� ��� � ��� � � ������ �� '

�(� �� �� +4EMNNOWPW Q

RRS

I��-� � ��� ��� �� ,�� ��� � �� ���� � ��� � � ������ �� '

V ���� �� �� ,����� ���� ���� � ��� � � ������ ��.�-�-�� ��

���� � �� �� �� ��� � ��� ��� ���� ���� . � ��� �� �� ���� �� @���-�

���� � ��� '

)��� +� �� � ��� ��- ���@��á ��#� � ��� � � ������ �� ���� ��� '

JU

�(� �� �� � �� � �� �� �� �� � ��� ��+

MNNNNNNNNO 9

<9

WPW

P>PeP<

PWP>

<e� Q

RRRRRRRRS

I�� ��@���� ��� � ��� � � ������ �� ���� - �� �@�� ���� '

� � � ����- �� 1��� ��� � �� �- �� � � ������ ,�� ,����� 'I��-�

� ����� � �� �� � @� ���-- �� �� � ����-�� � �� ������ ��'

JZ

MNNNNNNNNO 9

<9

<e�

P>PeP<

PWP>

WPW Q

RRRRRRRRS

��-� � �� ���� � ���� � ��� @�� � ��� � � ������ ���� ��'

D�� ,��� 1��� ��� � � ��� ������-�� ��� ��� > K� � ����-��

� ������-'

J�

MNNNNNNNNO 9

<9

<e�

9

PWP>

WPW Q

RRRRRRRRS

� � ���� �� ,��� ��� �� � ��� � �.��� ��������� ��. ���� � ���� � @��

��� � ��� � �. � ���� ��� � ���� ��'

)�� �� ��. � ����� � ��� � �� ���� � @��.� ����-� ���� � ��

� � ���� ��� � ��� � � ������ �� ���� '

J�

=�-��-����� �������� � � ���� �� ������(� �� � �� ����� � ��

�� � ��� �� � �

)� �� ����¨ ���� .�� ��- �� �/E�äãåã'

��� �� � ���� ����� �� ���� � � ���� �� ���� ����� � ��� � � �����(.

��� �� � ����� � � ���� �� ��� /'

?�� ��� ��./�� �� ���� � � ���� �� ������('

���� ,�� �+0 }* T0 }� T422 E0 }* T0 }� T�22 T4

U�

G� �� ��� ��� ���� (� �� ��. -�� ��

MNNNNNNNNO<9999

9

<999

99

<99

999

<9

9999

< QRRRRRRRRS

)��� � �� �� �� ��� � ��� �� @� ���-��� ��

MNNNNNNNNO<9999

9999

<

99

<99

999

<9

9

<999

QRRRRRRRRS

U �

?��> K� � ����-��� ����'

MNNNNNNNNO<9999

9999

<

99

<9>

999

<9

9

<999

QRRRRRRRRS

U *

� � ��� � �� ��� � ��� � � ������ ���� ��

<'� � �� ������ � ��� � � �����(3'� � ��� �� 1��-E��-<'

>'I�� ����-� ��� � � ������ ���� ��'

e ')� ��� �� ��� ��3� �� �� � 1��� �� ���. ���� ���� �� ����� ���� ��

� ��� ���� ��� ��� (��'

�'; � �� �- ��. @�� @����-�- �� �� ��� ��� �� ��� �� ���� �� ��� '

�� ���� �� ���� �� �� ������ �� ������ �� � �� ���� �� �� �����

��������� � ��� � ��� �� �'?��� ������ ���-�� � � ��� �� 1��-

� ����-0 � 1<2 �� � ��� ���� ��'

� ')��-��� ������ �� � �� ���� ����� �� ���� ��� � �� �. @(���

� ���- '

)� ��� ��� � �� �� �� ���� �� ��� �� ���.��� ��� ��-'

?�� ��� � ���. � ��� ��� � �� �� �� ��� ������ � �� ���. � ��� ��

�� �� ����� ��� �� ���� �� ��� ������ ��� � � ')� �� ��� ��

��� �� ���� �� ��� �� �� ����� . ���� �������� ��� ����� �� �� �� ���

U:

� �� ����-������������ �����-0 � ���� ��� W� �� ��� �� ���

� <2 �� � ��� ��� ����� �� ���� �� ��� ����-���� �� � �� � � �� ��� '

H� ������� � � ���� �� ������(� �������-��� � ��� ���� ��'

� � ��� �� 1��-E�W <

F ������ e '

æ '; � �� �- ��.�� ����-�� ��- � ��� ����-- �� ������� �� � �� ���

� ����� �� ���� ��� � �� � � ��� ���� � �� �� �� ��� � ��� - �� �

� ��� ����-'

)�.� � �� ������ � �� �� �.�� ������� � � ���� �� ������(� ��

� ������ �'

; � �� �- ��. �� ������� � ��� �� � ��� � � ������ ���� ��. � ��� � ��

�� � @����� � ��� � ��� �� �. � ��� ������ >'

U C

ç�F �� ��� �� � ���� ���� � � �� ��?�� � ��� ��

<'� � �� ��� �� � ���� �����({'

>'�� �� ���� �� ������ � �� ��� @�� ��� ��� � � ��� ��� � ��

{ �')�� ��� � � ���� �� ��.� �� ����� ���� � �� �� � ���� ���

�� ��� � ��� �� �� � ���� �� �� � '

e '� � �� ��� ��� �� ��� ��� � ��� � � �����(� �� ��� �� ������ � �� �'

)� ��� �� ���� �� �� � 1��� �� ���. �� �� �� ���� ������� � ���

� � ������ �� '

�'; � �� �- ��. ��� �� � �� � ��� ���� � ��� ������ ��� � ���

� � ������ �� ���� ��� '

� '�� �� ��� ���� 1=� ����� �� ��� �� ���� � �� � �� �� ��

��� �� ��� ��� � � ���� �� ������(. � ����� ������ �� �� (��� ���

� � �� �� ������ � � ���� �� �'

æ '���� � ��� � � ������ ���� �� ��� ��� ��� ��� ������ ��� �Y� '

UJ� � ��� ��

�=� �� ������ � �� � � �� ����� ��-������� � 1����

� � �� ��� ��Y�� �� �+������ � ��� � �� �� � ������� ���� ����� .

���� ����� � ��� � �� ��� ��

�G���� �� � �� ���� � � ���� �� �� �� �� � ��� ���� �� +�� ���

�� �� � ��0 <èæè2 � ��� �� �� �� �� � ���� ���� '

�?�� � ��� ���� �� ������ �V � ��� A� � ��� ����3� �� �0 V � ��

��-� � �� ��� ���� 1 ����� )��� ��2 '

�?�� � �� �� � ��� �� � ��� ��-� ��� �� �� ������ � ��=�BA

� �� ��� �� ���� � ���� '

�)����� �� � �� ��� �� �� ������ � �� �� �� � ��� � �� ��� � ���

� � ������ ���� �� � ������� ��� ����� � � ���� �� ������(

� �� �� �.���� �� � �-� �,����� � �� �� �� �'

UU