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...
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
eâ
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