The Impact Of Computer Architectures The Impact Of Computer Architectures On Linear Algebra On Linear Algebra Algorithms and Software Algorithms and Software ������������� ������������������������������� ������������������������ ������������������������������� ������������������������� � ������� � Outline Outline ♦ ������������������ ♦ ������������������ �������� !�����"����� � ������������#����$������ ♦ %���������&������"����� � �� ♦ ������������'��������������� � ���� � �
High Performance Computers High Performance Computers ♦ (�)*���������� � +$+* ,� &��������������!��-����.'����-�/� � ������������ ♦ (�+*���������� � +$+* 0 &��������������!��-����.1����-�/� � 2������3��#���������������������4����� ���#�� ��� � 5����������������4����������������� ♦ (������ � +$+* +)� &��������������!��-����.�����-�/� � 6��#�����������4�����������������������4����������������4���� ��������� � ������������������4��������������-����������� ♦ (�+*�������� �� � +$+* +7� &��������������!��-����.�����-�/� � '����������������'64������������-�����36�� � '������������4������������ ���#�� ���4���������������4���������� �$����������������4���������������'������� � Where Does the Performance Go? or Where Does the Performance Go? or Why Should I Care About the Memory Hierarchy? Why Should I Care About the Memory Hierarchy? Processor-DRAM Memory Gap (latency) 1000 µProc CPU 60%/yr. “Moore’s Law” Performance (2X/1.5yr) 100 Processor-Memory Performance Gap: (grows 50% / year) 10 DRAM 9%/yr. DRAM 1 (2X/10 yrs) 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Time � �
Optimizing Computation and Optimizing Computation and Memory Use Memory Use ♦ ��������������������"������ � �#��������������8.9�����/:.�����-�����/�:�'#" � �����������8�.+����/:.+�����-�����/:.;7*�'#"/�����<��;7*�'&�!�-� � ��������=8�.+����/:.)������-�����/:.)>7?�1#"/�����<�7*,*�'&�!�-� � ��#���8�.)����/:.+����-�����/:.,**�'#"/������������<�+)**�'&�!�-� � �� ��?8�.)����/:.)������-�����/:.?@7�'#"/���������<�+7**�'&�!�-� ♦ !��������������8 α <�$ � � 8� α α α )����������.+,�5����/������������)������A��������������� � ���;7*�'����-�� ������B������+@**�'C-������ ���# � ��<� α α $�D���8 ?����������.)=�5����/������������)������A��������������� α α ���;7*�'����-�� ������B������)77*�'C-������ ���# ♦ '������������"����� � �#��������������8�.���� ���#/�:�.���������/ � �����������8�.?)�����/:.+??�'#"/�<�7?)�'5-�������<�,,>7�'C-� � ��������=8�.?)�����/:.7??�'#"/�<�)+?)�'5-��������<�),,�'C-� � ��#���8�.,=�����/:.+??�'#"/�<�+*,=�'5-������������<�+??�'C-� � � �� ��?8�.+);�����/:.+**�'#"/�<�+,**�'5-����������<�)**�'C-� Memory Hierarchy Memory Hierarchy ♦ 5�����������������������#�����������������������8 � ���������#������� ��#�������#��������������������������� �#���#����������#������> � �������������������#��������������������#���������� ���#������> Processor Tertiary Storage Secondary (Disk/Tape) Control Storage (Disk) Level Main On-Chip Remote Registers 2 and 3 Memory Distributed Cache Datapath Cluster Cache (DRAM) Memory Memory (SRAM) 10,000,000s Speed (ns): 1s 10s 100s 10,000,000,000s (10s ms) (10s sec) Size (bytes): 100s 100,000 s Ks Ms 10,000,000 s (.1s ms) (10s ms) Gs Ts �
Level 1, 2 and 3 BLAS Level 1, 2 and 3 BLAS ♦ ������+�5������� 2�����E2������ � � ���������� ♦ ������)�5����� '����$E2������ � ���������� ♦ ������?�5����� '����$E'����$� � � ���������� � Why Higher Level BLAS? Why Higher Level BLAS? ♦ ����������������#����������������� �#����������#��#������#� ♦ 6��#���������5����������������#�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � �� � � � �� � � � �� � � � �� � � � � �� � � � � �� � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��!"�#��� � � � � ��� � � � � ��� � � � � ��� � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � α α α � α � � � � � � � � � � � � � � � ���� $%&� ���� $%&� � � � � � � � � � � � ��� � � � � ��� � � � � � � � � � � � � � ��� � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��%$�������� � � � � � � � � � � � � ����#�������� � � � � ��� � � � � ��� � � � � ��� � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��%��'$��������� � �
Recommend
More recommend