%!PS-Adobe-1.0 %%Creator: dasher:dongarra (Jack &,) %%Title: stdin %%CreationDate: Wed Nov 18 10:50:08 1987 %%DocumentFonts: Times-Roman Times-Italic Times-Bold Symbol Times-Roman %%Pages: (atend) %%EndComments % lib/pscat.pro -- prolog for pscat (troff) files % Copyright (C) 1985 Adobe Systems, Inc. % Added defs for Manual Feed save /pscatsave exch def /$pscat 50 dict def $pscat begin /fm [1 0 0 1 0 0] def /xo 0 def /yo 0 def /M /moveto load def /R /show load def /S {exch currentpoint exch pop moveto show}def /T {exch currentpoint pop exch moveto show}def /U {3 1 roll moveto show}def /siz 0 def /font 0 def /Z {/siz exch def SF}def /F {/font exch def SF}def /SF{font 0 ne {catfonts font 1 sub get fm 0 siz put fm 3 siz neg put fm makefont setfont}if}def /BP{save/catsv exch def 0 792 translate 72 432 div dup neg scale xo yo translate 0 0 moveto}def /BPL{save/catsv exch def 72 8.25 mul 792 translate -90 rotate 72 432 div dup neg scale xo yo translate 0 0 moveto}def /EP{catsv restore showpage}def /SetStTime{statusdict /manualfeedtimeout 120 put} def /SetStatus{statusdict /manualfeed true put statusdict /product get (LaserWriter) eq {version (23.0) eq % Don't redefine EP if printer is not "Classic LW" {/EP {catsv restore {statusdict /printerstatus get exec 16#22000000 and 0 eq{exit}if}loop showpage}def}if }if}def % definitions for PPROC callback functions % each PPROC is called with the following number on the stack: % pointsize charcode railmag pswidth pschar x y wid /$pprocs 50 dict def /fractm [.65 0 0 .6 0 0] def % fractions /PS1{gsave $pprocs begin /wid exch def pop pop pop pop pop /ch exch def /size exch def /pair $pprocs ch get def /cf currentfont def cf fractm makefont setfont 0 .3 size mul 6 mul 2 copy neg rmoveto pair 0 get show rmoveto currentfont cf setfont (\244) show setfont pair 1 get show grestore wid .06 div 0 rmoveto end}def $pprocs begin 8#34 [(1)(4)] def 8#36 [(1)(2)] def 8#46 [(3)(4)] def end % boxes /PS2{gsave /wid exch def pop pop /char exch def pop pop pop /size exch def /len size 3.5 mul def % length of a side len 0 rlineto 0 len neg rlineto len neg 0 rlineto closepath char 3 eq {fill}{size 5 mul .07 mul setlinewidth stroke}ifelse grestore wid .06 div 0 rmoveto}def /PS3/PS2 load def % boxes are the same... % circle /PS4{gsave /wid exch def pop pop pop pop pop pop /size exch def wid .8333 mul size 2.5 mul neg rmoveto currentpoint % center newpath size 1.8 mul 0 360 arc size .2 mul setlinewidth stroke grestore wid .06 div 0 rmoveto}def /bb{$pprocs begin /wid exch def pop pop pop pop pop pop /size exch 6 mul def /s2 size 2 div def /s4 size 4 div def gsave currentpoint newpath transform round exch round exch itransform translate size 16 div setlinewidth 2 setlinejoin 0 setgray}def $pprocs begin /mrr{moveto rlineto rlineto}def /be{stroke grestore wid .06 div 0 rmoveto end}def end % leftfloor /PS6 {bb s4 0 0 size s4 size -.8 mul mrr be}def % rightfloor /PS7 {bb s4 neg 0 0 size s4 size -.8 mul mrr be}def % leftceil /PS8 {bb s4 0 0 size neg s4 size .2 mul mrr be}def % rightceil /PS9 {bb s4 neg 0 0 size neg s4 size .2 mul mrr be}def % boldvert /PS5 {bb 0 0 0 size neg s4 size .2 mul mrr be}def % box rule /PS32 {bb /sw size 24 div def sw 2 div size 4.5 div moveto 0 size neg rlineto sw setlinewidth be}def % rule (roman, bold and italic) /PS16 {gsave $pprocs begin /wid exch def pop pop pop pop pop pop /size exch 6 mul def /sw size 14 div def currentpoint exch sw 2 div sub exch newpath transform round exch round exch itransform translate 0 0 moveto size 2 div 0 rlineto sw setlinewidth be}def % lefttopcurl /PS20 {bb s4 size .2 mul moveto 0 size -.55 mul rlineto currentpoint pop size -.8 mul 2 copy exch s4 add exch s4 arcto pop pop pop pop be}def % leftbotcurl /PS21 {bb s4 size -.8 mul moveto 0 size .55 mul rlineto currentpoint pop size .2 mul 2 copy exch s4 add exch s4 arcto pop pop pop pop be}def % righttopcurl /PS22 {bb s4 size .2 mul moveto 0 size -.55 mul rlineto currentpoint pop size -.8 mul 2 copy exch s4 sub exch s4 arcto pop pop pop pop be}def % rightbotcurl /PS23 {bb s4 size -.8 mul moveto 0 size .55 mul rlineto currentpoint pop size .2 mul 2 copy exch s4 sub exch s4 arcto pop pop pop pop be}def % rightmidcurl /PS25 {bb /s3 size -.3 mul def s4 size -.8 mul moveto s4 s3 s2 s3 s4 arcto pop pop size add s4 s3 4 2 roll s4 arcto pop pop pop pop s4 size .2 mul lineto be}def % leftmidcurl /PS24 {bb /s3 size -.3 mul def s4 size -.8 mul moveto s4 s3 0 s3 s4 arcto pop pop size add s4 s3 4 2 roll s4 arcto pop pop pop pop s4 size .2 mul lineto be}def /catfonts [ /Times-Roman findfont /Times-Italic findfont /Times-Bold findfont /Symbol findfont /Times-Roman findfont ] def %%EndProlog %%Page: ? 1 BP 1 F 60 Z 1838 597(.)U 2318 1389(Y)U 1311(ARGONNE)S 1623(NATIONAL)S 1952(LABORATOR)S 1526 1461(9700)U 1666(South)S 1826(Cass)S 1959(Avenue)S 3 F 72 Z 878 1863(P)U 1 F 60 Z 1533 1533(Argonne,)U 1778(Illinois)S 1989(60439)S 3 F 72 Z 922 1863(rospectus)U 1238(for)S 1354(the)S 1474(Development)S 1902(of)S 1986(a)S 2046(Linear)S 2278(Algebra)S 2550(Library)S 66 Z 798 2295(J)U 72 Z 1306 2007(for)U 1422(High-Performance)S 2022(Computers)S 66 Z 831 2295(ames)U 996(Demmel,)S 1269(Jack)S 1423(J.)S 1495(Dongarra,)S 1809(Jeremy)S 2039(Du)S 2146(Croz,)S 2324(Anne)S 2497(Greenbaum,)S 1258 2367(Sven)U 1416(Hammarling,)S 1817(and)S 1946(Danny)S 2156(Sorensen)S 1 F 60 Z 1278 2655(Mathemati)U 1540(cs)S 1610(and)S 1717(Computer)S 1978(Science)S 2186(Division)S 1442 2871(Technica)U 1664(l)S 1701(Memorandum)S 2062(No.)S 2170(97)S 1637 3246(September)U 1915(1987)S EP %%Page: ? 2 BP 1 F 60 Z 1838 597(.)U 3 F 66 Z 1972 1389(T)U 1 F 60 Z 432 1677(W)U 3 F 66 Z 1655 1389(ABSTRAC)U 1 F 60 Z 489 1677(e)U 544(propose)S 762(to)S 837(design)S 1022(and)S 1137(impleme)S 1349(nt)S 1424(a)S 1479(transportable)S 1822(linear)S 1988(algebra)S 2194(library)S 2383(in)S 2458(Fortran)S 2663(77)S 2751(for)S 2848(ef\256cient)S 3073(use)S 3180(on)S 3223 1749(t)U 432 1821(c)U 432 1749(high-performance)U 889(computers.)S 1180(The)S 1299(library)S 1485(is)S 1550(intended)S 1783(to)S 1855(provide)S 2064(a)S 2116(uniform)S 2335(set)S 2427(of)S 2502(subroutines)S 2803(to)S 2874(solve)S 3025(the)S 3123(mos)S 459 1821(ommon)U 665(linear)S 825(algebra)S 1025(problems)S 1271(and)S 1380(to)S 1448(run)S 1549(ef\256ciently)S 1815(on)S 1896(a)S 1944(wide)S 2082(range)S 2237(of)S 2308(architec)S 2500(tures.)S 2653(This)S 2781(library,)S 2978(which)S 3146(will)S 432 1965(a)U 432 1893(be)U 519(freely)S 690(accessible)S 965(via)S 1068(computer)S 1325(network,)S 1566(not)S 1672(only)S 1808(will)S 1931(ease)S 2064(code)S 2207(development)S 2519(,)S 2563(make)S 2723(codes)S 2889(more)S 3042(portable)S 459 1965(mong)U 625(machines)S 882(of)S 961(different)S 1198(architec)S 1390(tures,)S 1551(and)S 1667(increase)S 1894(ef\256ciency,)S 2176(but)S 2282(also)S 2408(will)S 2531(provide)S 2744(tools)S 2890(for)S 2988(evaluati)S 3180(ng)S 432 2109(p)U 432 2037(computer)U 683(performance)S 988(.)S 1026(The)S 1143(library)S 1327(will)S 1444(be)S 1524(based)S 1684(on)S 1767(the)S 1864(well-known)S 2174(and)S 2283(widely)S 2469(used)S 2601(LINPACK)S 2882(and)S 2991(EISPACK)S 462 2109(ackages)U 681(for)S 778(linear)S 943(equation)S 1178(solving,)S 1397(eigenvalue)S 1686(problems,)S 1952(and)S 2066(linear)S 2231(least)S 2369(squares.)S 2591(LINPACK)S 2877(and)S 2991(EISPACK)S 3223 2181(t)U 432 2253(d)U 432 2181(have)U 583(provided)S 834(an)S 928(important)S 1200(infrastructure)S 1561(for)S 1667(scienti\256c)S 1921(computing)S 2215(on)S 2311(serial)S 2478(machines,)S 2757(but)S 2870(they)S 3010(were)S 3163(no)S 462 2253(esigned)U 672(to)S 745(exploit)S 939(the)S 1039(profusion)S 1295(of)S 1370(parallel)S 1577(and)S 1689(vector)S 1865(architec)S 2057(tures)S 2199(now)S 2327(becoming)S 2590(availabl)S 2782(e.)S 2869(We)S 2978(propose)S 3193(to)S 3217 2325(s)U 432 2397(e)U 432 2325(restructure)U 718(the)S 820(algorithms)S 1106(in)S 1181(terms)S 1343(of)S 1421(calls)S 1560(to)S 1635(a)S 1690(small)S 1849(number)S 2061(of)S 2139(extended)S 2385(Basic)S 2547(Linear)S 2732(Algebra)S 2953(Subroutine)S 459 2397(ach)U 566(of)S 639(which)S 809(impleme)S 1021(nts)S 1114(a)S 1164(basic)S 1311(operation)S 1562(such)S 1695(as)S 1768(matrix)S 1948(multiplic)S 2167(ation,)S 2325(rank-)S 2514(matrix)S 2694(updates,)S 2915(and)S 3024(the)S 3120(solu-)S 2 F 66 Z 2452(k)S 1 F 60 Z 3223 2469(l)U 432 2541(a)U 432 2469(tion)U 547(of)S 618(triangular)S 874(systems.)S 1100(These)S 1265(operations)S 1537(can)S 1642(be)S 1720(optimize)S 1932(d)S 1983(for)S 2074(each)S 2205(architec)S 2397(ture,)S 2526(but)S 2623(the)S 2717(underlying)S 2998(numerica)S 459 2541(lgorithms)U 710(will)S 824(be)S 901(the)S 995(same)S 1139(for)S 1229(all)S 1310(machines.)S EP %%Page: ? 3 BP 3 F 72 Z 878 597(P)U (rospectus)R 1238(for)S 1354(the)S 1474(Development)S 1902(of)S 1986(a)S 2046(Linear)S 2278(Algebra)S 2550(Library)S 1306 741(for)U 1422(High-Performance)S 2022(Computers)S 2 F 42 Z 2002 861(\262)U 1 F 60 Z 1459 993(C)U 2 F 66 Z 1584 885(James)U 1771(Demmel)S 1 F 60 Z 1499 993(omputer)U 1720(Science)S 1928(Department)S 1613 1137(2)U 1630 1065(Courant)U 1844(Institute)S 1643 1137(51)U 1723(Mercer)S 1917(Street)S 2164 1209(2)U 1477(New)S 1610(York,)S 1768(New)S 1901(York)S 2044(1001)S 2 F 42 Z 2036 1329(\262)U 1 F 60 Z 1235 1461(M)U 2 F 66 Z 1550 1353(Jack)U 1692(J.)S 1760(Dongarra)S 1 F 60 Z 1288 1461(athemat)U 1480(ics)S 1567(and)S 1674(Computer)S 1935(Science)S 2143(Division)S 1430 1605(A)U 1430 1533(Argonne)U 1660(National)S 1888(Laboratory)S 1473 1605(rgonne,)U 1675(Illinois)S 1866(60439-4844)S 1372 1857(N)U 2 F 66 Z 1571 1749(Jeremy)U 1783(Du)S 1886(Croz)S 1 F 60 Z 1415 1857(umerical)U 1647(Algorithms)S 1941(Group)S 2114(Ltd.)S 2227 1929(e)U 1206 2001(2)U 1332 1929(NAG)U 1481(Central)S 1679(Of\256ce,)S 1864(May\256eld)S 2101(Hous)S 1236 2001(56)U 1316(Banbury)S 1543(Road,)S 1705(Oxford)S 1898(OX2)S 2034(7DE,)S 2179(England)S 1459 2253(C)U 2 F 66 Z 1553 2145(Anne)U 1710(Greenbaum)S 42 Z 2033 2121(\262)U 1 F 60 Z 1499 2253(omputer)U 1720(Science)S 1928(Department)S 1613 2397(2)U 1630 2325(Courant)U 1844(Institute)S 1643 2397(51)U 1723(Mercer)S 1917(Street)S 2164 2469(2)U 1477(New)S 1610(York,)S 1768(New)S 1901(York)S 2044(1001)S 2 F 66 Z 1551 2613(Sven)U 1697(Hammarling)S 1 F 60 Z 2198 2721(.)U 1332 2793(N)U 1372 2721(Numerical)U 1647(Algorithms)S 1941(Group)S 2114(Ltd)S 1375 2793(AG)U 1481(Central)S 1679(Of\256ce,)S 1864(May\256eld)S 2101(House)S 2350 2865(d)U 1206(256)S 1316(Banbury)S 1543(Road,)S 1705(Oxford)S 1898(OX2)S 2034(7DE,)S 2179(Englan)S 5 F 42 Z 2019 2985(\263)U 1 F 60 Z 1235 3117(M)U 2 F 66 Z 1568 3009(Danny)U 1766(Sorensen)S 1 F 60 Z 1288 3117(athemat)U 1480(ics)S 1567(and)S 1674(Computer)S 1935(Science)S 2143(Division)S 1430 3189(Argonne)U 1660(National)S 1888(Laboratory)S 1440 3261(Argonne,)U 1685(Illinois)S 1876(604394844)S 0 F 48 Z 432 3879 M 8 22 0 0 16 0 0 18 PS16 456 3879 M 8 22 0 0 16 0 0 18 PS16 480 3879 M 8 22 0 0 16 0 0 18 PS16 504 3879 M 8 22 0 0 16 0 0 18 PS16 528 3879 M 8 22 0 0 16 0 0 18 PS16 552 3879 M 8 22 0 0 16 0 0 18 PS16 576 3879 M 8 22 0 0 16 0 0 18 PS16 600 3879 M 8 22 0 0 16 0 0 18 PS16 624 3879 M 8 22 0 0 16 0 0 18 PS16 648 3879 M 8 22 0 0 16 0 0 18 PS16 672 3879 M 8 22 0 0 16 0 0 18 PS16 696 3879 M 8 22 0 0 16 0 0 18 PS16 720 3879 M 8 22 0 0 16 0 0 18 PS16 744 3879 M 8 22 0 0 16 0 0 18 PS16 768 3879 M 8 22 0 0 16 0 0 18 PS16 792 3879 M 8 22 0 0 16 0 0 18 PS16 816 3879 M 8 22 0 0 16 0 0 18 PS16 840 3879 M 8 22 0 0 16 0 0 18 PS16 1 F 54 Z 462 3945(Work)U 603(supported)S 834(in)S 894(part)S 996(by)S 1068(the)S 1152(National)S 1356(Science)S 1542(Foundation,)S 1820(under)S 1961(contract)S 2153(NSF)S 2270(ASC-8715728.)S 5 F 42 Z 432 4053(\263)U 2 F 432 3921(\262)U 1 F 54 Z 462 4077(Work)U 614(supported)S 856(in)S 927(part)S 1040(by)S 1123(the)S 1218(Applied)S 1421(Mathematical)S 1746(Sciences)S 1963(subprogram)S 2249(of)S 2322(the)S 2416(Of\256ce)S 2579(of)S 2652(Energy)S 432 4341(T)U 432 4143(Research,)U 662(U.)S 733(S.)S 795(Department)S 1068(of)S 1131(Energy,)S 1319(under)S 1460(contract)S 1652(W-31-109-Eng-38.)S 465 4341(ypeset)U 621(on)S 693(November)S 939(18,)S 1025(1987.)S EP %%Page: ? 4 BP 1 F 66 Z 1775 405(-)U 1819(2)S 1874(-)S 3 F 432 621(1.)U 504(Introduction)S 886(and)S 1015(Objectives)S 1 F 582 789(We)U 708(propose)S 952(to)S 1038(design)S 1245(and)S 1375(implement)S 1690(a)S 1754(transportable)S 2131(linear)S 2314(algebra)S 2541(library)S 2750(in)S 2835(Fortran)S 3063(77)S 3163(for)S 432 981(m)U 432 885(ef\256cient)U 672(use)S 785(on)S 876(a)S 930(wide)S 1083(range)S 1254(of)S 1334(high-performance)S 1830(computers.)S 2146(The)S 2273(production)S 2583(of)S 2662(such)S 2807(a)S 2860(library)S 3059(for)S 3160(the)S 483 981(ost)U 582(commonly)S 885(encountered)S 1228(problems)S 1495(of)S 1572(linear)S 1743(algebra)S 1958(would)S 2145(have)S 2291(several)S 2499(bene\256ts:)S 3211 1113(a)U 432(\(1\))S 582(It)S 648(would)S 839(facilita)S 1020(te)S 1093(the)S 1199(development)S 1564(of)S 1645(scienti\256c)S 1908(codes)S 2084(on)S 2176(high-performance)S 2673(computers.)S 2989(This)S 3131(are)S 582 1209(was)U 714(recently)S 954(identi\256ed)S 1231(by)S 1326(the)S 1435(Computational)S 1854(Science)S 2087(and)S 2210(Engineering)S 2559(Initiative)S 2823(of)S 2906(the)S 3014(National)S 582 1401(m)U 582 1305(Science)U 826(Foundation)S 1166(as)S 1261(in)S 1352(serious)S 1579(need)S 1743(of)S 1838(development.)S 2256(The)S 2398(large)S 2569(and)S 2704(growing)S 2964(variety)S 3185(of)S 633 1401(achine)U 838(architect)S 1063(ures)S 1207(puts)S 1351(a)S 1414(heavy)S 1604(burden)S 1820(on)S 1919(the)S 2032(scienti\256c)S 2302(programmer)S 2660(to)S 2744(use)S 2865(each)S 3018(machine)S 3218 1497(f)U 582 1593(a)U 582 1497(ef\256ciently,)U 888(since)S 1046(speed)S 1219(is)S 1285(the)S 1387(major)S 1562(reason)S 1756(to)S 1829(use)S 1939(high)S 2078(performance)S 2432(computers.)S 2745(The)S 2869(availabil)S 3094(ity)S 3185(o)S 637 1593(highly)U 831(ef\256cient)S 1072(library)S 1273(for)S 1376(standard)S 1625(linear)S 1799(algebra)S 2017(problems)S 2287(on)S 2378(each)S 2523(major)S 2701(machine)S 2948(would)S 3138(free)S 432 1821(\()U 582 1689(the)U 684(programmer)S 1031(to)S 1104(work)S 1262(on)S 1350(more)S 1507(interesting)S 1806(parts)S 1956(of)S 2033(the)S 2135(code.)S 454 1821(2\))U 582(It)S 654(would)S 850(increase)S 1096(the)S 1207(portability)S 1511(of)S 1597(scienti\256c)S 1865(codes)S 2046(between)S 2296(different)S 2553(computing)S 2865(environments.)S 582 2013(t)U 582 1917(Programs)U 858(written)S 1067(largely)S 1272(in)S 1346(terms)S 1515(of)S 1593(calls)S 1736(to)S 1810(a)S 1862(standard)S 2108(library)S 2306(would)S 2494(require)S 2702(less)S 2823(work)S 2981(to)S 3054(tune)S 3189(to)S 600 2013(he)U 684(new)S 816(computer)S 1086(architect)S 1311(ure,)S 1434(since)S 1591(the)S 1693(library)S 1890(routines)S 2124(would)S 2311(already)S 2526(be)S 2610(tuned.)S 3214 2145(s)U 432(\(3\))S 582(It)S 650(would)S 843(improve)S 1090(the)S 1198(utilizat)S 1379(ion)S 1490(of)S 1572(a)S 1628(scarce)S 1819(resource.)S 2086(By)S 2190(making)S 2414(ef\256cient,)S 2673(state-of-the-art)S 3090(code)S 582 2241(available)U 844(even)S 994(to)S 1071(beginning)S 1360(users,)S 1539(more)S 1700(ef\256cient)S 1941(use)S 2055(could)S 2227(be)S 2314(made)S 2481(of)S 2561(expensive)S 2849(supercomputer)S 432 2469(\()U 582 2337(cycles.)U 454 2469(4\))U 582(It)S 655(would)S 853(provide)S 1087(tools)S 1248(to)S 1332(aid)S 1444(performance)S 1808(evaluation)S 2113(of)S 2200(computers.)S 2545(A)S 2625(national)S 2868(study)S 3043([1])S 3152(has)S 582 2661(s)U 582 2565(identi\256ed)U 860(the)S 970(evaluation)S 1273(of)S 1358(supercomputer)S 1779(performance)S 2141(as)S 2226(an)S 2318(area)S 2457(in)S 2538(need)S 2692(of)S 2777(development)S 3145(and)S 608 2661(tandardizat)U 899(ion.)S 582 2793(T)U (o)R 682(realize)S 883(these)S 1045(bene\256ts,)S 1294(the)S 1401(new)S 1538(library)S 1739(must)S 1893(satisfy)S 2091(several)S 2303(criteria.)S 2553(First,)S 2717(the)S 2823(library)S 3024(must)S 3178(be)S 3218 2889(-)U 432 2985(f)U 432 2889(highly)U 624(ef\256cient,)S 880(or)S 959(at)S 1030(least)S 5 F 1174(")S 1 F (tunable)R 5 F (")R 1 F 1447(to)S 1522(high)S 1663(ef\256ciency,)S 1963(on)S 2053(each)S 2197(machine.)S 2460(Otherwise)S 2754(it)S 2813(will)S 2938(not)S 3045(be)S 3130(use)S 454 2985(ul)U 534(for)S 640(benchmarking,)S 1062(nor)S 1179(will)S 1309(it)S 1373(improve)S 1620(utilizat)S 1801(ion;)S 1931(and)S 2054(users)S 2218(will)S 2348(continue)S 2602(to)S 2681(write)S 2844(their)S 2992(own)S 3134(\(not)S 432 3177(m)U 432 3081(necessarily)U 749(better\))S 945(algorithms.)S 1290(Second,)S 1526(the)S 1630(user)S 1764(interface)S 2017(must)S 2169(be)S 2255(uniform)S 2491(across)S 2680(machines.)S 2969(Otherwise)S 483 3177(uch)U 605(of)S 687(the)S 794(convenience)S 1149(of)S 1231(portability)S 1531(would)S 1722(be)S 1810(lost.)S 1970(Third,)S 2159(the)S 2265(programs)S 2540(must)S 2694(be)S 2782(widely)S 2987(available)S 3223(.)S 432 3369(c)U 432 3273(The)U 567(success)S 798(of)S 886(the)S 999(NETLIB)S 1266(facility)S 1484([6])S 1593(has)S 1713(demonstrated)S 2099(how)S 2245(useful)S 2438(and)S 2565(important)S 2852(it)S 2920(is)S 2996(for)S 3105(these)S 461 3369(odes)U 605(to)S 679(be)S 764(available)S 1023(easily,)S 1216(and)S 1334(preferably)S 1627(on)S 1716(line.)S 1854(We)S 1968(propose)S 2200(to)S 2274(distribute)S 2545(the)S 2648(new)S 2781(library)S 2979(in)S 3053(a)S 3105(simi-)S 432 3561(s)U 432 3465(lar)U 524(way,)S 674(for)S 774(no)S 863(cost)S 992(or)S 1070(a)S 1122(nominal)S 1360(cost)S 1489(only.)S 1646(In)S 1724(addition,)S 1979(the)S 2082(programs)S 2354(must)S 2505(be)S 2590(well)S 2726(documented,)S 3087(in)S 3160(the)S 458 3561(tyle)U 578(of)S 655(the)S 757(LINPACK)S 1066(manual)S 1281([2].)S 582 3693(T)U (o)R 684(achieve)S 913(these)S 1077(goals,)S 1262(we)S 1368(propose)S 1606(a)S 1664(linear)S 1842(algebra)S 2064(library,)S 2285(based)S 2463(on)S 2557(the)S 2665(successful)S 2964(EISPACK)S 432 3789([11,)U 548(9])S 625(and)S 742(LINPACK)S 1051([2])S 1150(libraries,)S 1404(with)S 1543(the)S 1645(following)S 1923(further)S 2124(developments:)S 4 F 564 3981(\267)U 1 F 617(integration)S 923(of)S 1000(the)S 1102(two)S 1223(sets)S 1344(of)S 1421(algorithms)S 1724(into)S 1848(a)S 1899(uni\256ed)S 2104(library,)S 2318(with)S 2457(a)S 2508(systematic)S 2807(design;)S 4 F 564 4365(\267)U 564 4173(\267)U 1 F 617(incorporation)S 993(of)S 1070(recent)S 1252(algorithmic)S 1576(improvements;)S 1992(and)S 625 4365(restructuring)U 991(of)S 1076(the)S 1186(algorithms)S 1497(to)S 1578(make)S 1750(as)S 1835(much)S 2011(use)S 2129(as)S 2214(possible)S 2460(of)S 2544(the)S 2653(Basic)S 2828(Linear)S 3028(Algebra)S 564 4461(Subprograms)U 940(\(BLAS\).)S 1216(Use)S 1343(of)S 1421(the)S 1524(BLAS)S 1716(is)S 1783(the)S 1886(basis)S 2041(of)S 2119(our)S 2230(approach)S 2494(to)S 2568(achieving)S 2846(ef\256ciency,)S 3145(and)S EP %%Page: ? 5 BP 1 F 66 Z 1775 405(-)U 1819(3)S 1874(-)S 564 621(is)U 630(discussed)S 905(at)S 974(greater)S 1178(length)S 1364(in)S 1437(Section)S 1656(2.2.)S 582 753(In)U 670(short,)S 852(such)S 1006(a)S 1068(library)S 1276(would)S 1474(become)S 1711(a)S 1772(central)S 1982(part)S 2116(of)S 2203(the)S 2315(infrastructure)S 2701(of)S 2788(a)S 2849(growing)S 3101(high-)S 432 945(a)U 432 849(performance)U 795(scienti\256c)S 1063(programming)S 1452(environment,)S 1832(much)S 2009(as)S 2095(conventional)S 2465(libraries)S 2711(for)S 2819(serial)S 2992(machines)S 461 945(re)U 534(essential)S 782(to)S 855(conventional)S 1216(scienti\256c)S 1475(computing.)S 582 1077(S)U (ection)R 801(2)S 856(describes)S 1123(technical)S 1381(aspects)S 1593(of)S 1670(the)S 1772(project,)S 1993(and)S 2110(Section)S 2329(3)S 2384(the)S 2486(proposed)S 2750(organization.)S 3 F 432 1461(2)U 432 1269(2.)U 504(Outline)S 738(of)S 815(the)S 925(Project)S 465 1461(.1)U 537(Contents)S 1 F 582 1593(T)U (he)R 712(new)S 850(library)S 1052(will)S 1181(provide)S 1409(approximatel)S 1755(y)S 1815(the)S 1922(same)S 2084(functionalit)S 2386(y)S 2446(as)S 2528(LINPACK)S 2842(and)S 2964(EISPACK)S 3218 1689(-)U 432 1785(d)U 432 1689(together,)U 694(namely,)S 934(solution)S 1175(of)S 1259(systems)S 1497(of)S 1581(simultaneous)S 1957(linear)S 2135(equation,)S 2407(least-squares)S 2776(solution)S 3017(of)S 3101(over)S 465 1785(etermined)U 758(systems)S 998(of)S 1084(equations,)S 1383(and)S 1508(solution)S 1750(of)S 1835(matrix)S 2036(eigenvalue)S 2350(problems)S 2625(\(standard)S 2900(and)S 3025(general-)S 3222 1881(l)U 432 1977(a)U 432 1881(ized\).)U 630(The)S 760(associated)S 1058(matrix)S 1257(factorizat)S 1504(ions)S 1642(\(LU,)S 1797(Cholesky,)S 2091(QR,)S 2228(SVD,)S 2406(Schur,)S 2605(generalize)S 2874(d)S 2935(Schur\))S 3138(wil)S 461 1977(lso)U 568(be)S 660(provided,)S 941(as)S 1026(will)S 1158(related)S 1366(computations)S 1750(such)S 1901(as)S 1986(reordering)S 2289(of)S 2373(the)S 2482(factorizat)S 2729(ions)S 2868(and)S 2992(condition)S 3211 2073(e)U 432 2169(m)U 432 2073(numbers)U 685(\(or)S 788(estimates)S 1058(thereof\).)S 1331(Dense)S 1522(and)S 1643(band)S 1797(matrices)S 2045(will)S 2173(be)S 2261(provided)S 2520(for,)S 2639(but)S 2748(not)S 2857(general)S 3075(spars)S 483 2169(atrices.)U 715(In)S 792(all)S 879(areas,)S 1053(similar)S 1257(functionalit)S 1559(y)S 1614(will)S 1738(be)S 1822(provided)S 2078(for)S 2177(real)S 2297(and)S 2414(complex)S 2662(matrices.)S 3218 2301(r)U 432 2397(m)U 582 2301(Many)U 774(of)S 867(the)S 985(algorithms)S 1303(of)S 1395(LINPACK)S 1719(and)S 1851(EISPACK)S 2164(will)S 2303(be)S 2402(carried)S 2621(over)S 2775(with)S 2929(only)S 3083(mino)S 483 2397(odi\256cations)U 821(to)S 903(their)S 1054(numerical)S 1347(behavior,)S 1624(although)S 1884(often)S 2049(with)S 2196(extensive)S 2474(restructuring)S 2840(of)S 2925(the)S 3035(code)S 3189(in)S 3211 2493(e)U 432 2589(t)U 432 2493(order)U 603(to)S 686(improve)S 937(performance)S 1301(\(see)S 1438(Section)S 1666(2.2\).)S 1819(Some)S 2000(algorithms)S 2312(may)S 2456(be)S 2549(deleted,)S 2786(especially)S 3079(wher)S 450 2589(here)U 588(is)S 657(duplication)S 977(or)S 1057(overlap)S 1279(in)S 1355(functionalit)S 1657(y)S 1715(between)S 1959(the)S 2064(contents)S 2308(of)S 2388(the)S 2492(two)S 2615(packages)S 2880(or)S 2959(if)S 3023(they)S 3160(are)S 3223 2685(.)U 432 2781(W)U 432 2685(no)U 524(longer)S 717(thought)S 943(to)S 1019(be)S 1106(useful.)S 1331(Other)S 1506(algorithms)S 1812(may)S 1950(be)S 2037(extended)S 2299(to)S 2375(provide)S 2601(additional)S 2888(functionalit)S 3190(y)S 494 2781(here)U 633(the)S 739(state)S 885(of)S 966(the)S 1072(art)S 1167(is)S 1237(suf\256ciently)S 1559(clear,)S 1729(new)S 1865(algorithms)S 2172(will)S 2299(be)S 2386(added.)S 2607(In)S 2687(some)S 2851(cases)S 3015(the)S 3120(rela-)S 432 2973(h)U 432 2877(tive)U 558(merits)S 750(of)S 833(competing)S 1138(algorithms)S 1447(will)S 1577(be)S 1667(re-examined)S 2023(in)S 2102(the)S 2210(light)S 2358(of)S 2440(their)S 2587(performance)S 2946(on)S 3039(modern)S 465 2973(igh-performance)U 925(computers.)S 582 3105(T)U (est)R 722(software)S 976(will)S 1105(be)S 1194(developed,)S 1508(building)S 1754(on)S 1847(the)S 1954(test)S 2072(software)S 2326(already)S 2546(developed)S 2843(for)S 2947(EISPACK,)S 3 F 432 3393(2)U 1 F 432 3201(LINPACK,)U 758(and)S 875(the)S 977(BLAS.)S 1207(Timing)S 1422(programs)S 1693(will)S 1817(be)S 1901(provided)S 2157(to)S 2230(measure)S 2471(ef\256ciency.)S 3 F 465 3393(.2)U 537(Use)S 662(of)S 739(the)S 849(BLAS)S 1 F 582 3525(O)U (ur)R 711(approach)S 978(to)S 1055(achieving)S 1336(high)S 1479(ef\256ciency)S 1764(will)S 1892(be)S 1980(based)S 2156(on)S 2248(the)S 2354(use)S 2467(of)S 2547(a)S 2601(limited)S 2811(set)S 2909(of)S 2989(the)S 3094(Basic)S 432 3621(Linear)U 625(Algebra)S 859(Subprograms)S 1233(\(BLAS\).)S 582 3753(LINPACK)U 897(was)S 1028(constructed)S 1359(using)S 1530(the)S 1638(original)S 1869(set)S 1969(of)S 2051(BLAS,)S 2264(which)S 2452(perform)S 2691(low-level)S 2966(operations)S 432 3945(B)U 432 3849(such)U 578(as)S 658(dot-products)S 1016(and)S 1136(adding)S 1339(of)S 1418(the)S 1522(multiple)S 1764(of)S 1843(one)S 1962(vector)S 2150(to)S 2225(another)S 2446([10].)S 2619(We)S 2734(shall)S 2882(refer)S 3030(to)S 3105(these)S 476 3945(LAS)U 626(as)S 706(Level)S 880(1)S 938(BLAS.)S 1171(Ef\256cient)S 1422(implement)S 1702(ations)S 1883(of)S 1962(the)S 2066(Level)S 2239(1)S 2296(BLAS)S 2489(enabled)S 2717(LINPACK)S 3028(routines)S 3218 4041(f)U 432 4137(t)U 432 4041(to)U 508(achieve)S 733(high)S 875(ef\256ciency)S 1159(on)S 1250(some)S 1414(of)S 1494(the)S 1599(most)S 1752(powerful)S 2015(scalar)S 2193(machines.)S 2483(However,)S 2767(the)S 2872(granularity)S 3185(o)S 450 4137(he)U 534(operations)S 830(is)S 896(too)S 1002(small)S 1166(for)S 1265(effective)S 1516(use)S 1626(of)S 1703(the)S 1805(power)S 1992(of)S 2069(most)S 2219(vector)S 2405(or)S 2482(parallel)S 2700(machines.)S 3218 4269(-)U 432 4365(l)U 582 4269(More)U 750(recently,)S 1003(higher)S 1195(level)S 1346(BLAS)S 1539(have)S 1687(been)S 1835(speci\256ed)S 2093(which)S 2278(perform)S 2514(operations)S 2812(of)S 2891(larger)S 3068(granu)S 450 4365(arity,)U 621(namely,)S 865(matrix-vect)S 1167(or)S 1256(operations)S 1564(\(Level)S 1769(2)S 1836(BLAS)S 2039([4]\))S 2171(and)S 2299(matrix-mat)S 2590(rix)S 2696(operations)S 3003(\(Level)S 3207(3)S 3218 4461(\))U 432(BLAS)S 642([3]\):)S 799(for)S 916(example,)S 1195(matrix-vect)S 1497(or)S 1592(\(or)S 1709(matrix-mat)S 2000(rix\))S 2135(multiply-and-a)S 2525(dd,)S 2648(rank-one)S 2922(\(or)S 3039(rank-)S 2 F (k)R EP %%Page: ? 6 BP 1 F 66 Z 1775 405(-)U 1819(4)S 1874(-)S 3214 621(s)U 432 717(o)U 432 621(matrix)U 626(update,)S 841(or)S 918(solution)S 1152(of)S 1229(a)S 1280(triangular)S 1557(system)S 1762(\(or)S 1861(systems\))S 2114(of)S 2191(equations.)S 2504(Optimized)S 2803(implement)S 3083(ation)S 465 717(f)U 517(Level)S 696(2)S 759(BLAS)S 958(can)S 1079(come)S 1250(close)S 1414(to)S 1494(achieving)S 1778(the)S 1887(maximum)S 2182(possible)S 2427(ef\256ciency)S 2715(on)S 2810(a)S 2868(large)S 3028(class)S 3185(of)S 432 909(m)U 432 813(uniprocessor)U 802(vector)S 999(machines.)S 1319(However,)S 1611(their)S 1764(performance)S 2129(is)S 2206(still)S 2337(well)S 2483(below)S 2676(the)S 2788(best)S 2926(possible)S 3174(on)S 483 909(ultiprocessor)U 847(machines)S 1119(and)S 1238(on)S 1328(machines)S 1600(where)S 1784(the)S 1887(performance)S 2242(is)S 2309(limited)S 2517(by)S 2606(the)S 2709(data)S 2841(traf\256c)S 3021(between)S 3218 1005(f)U 432 1101(L)U 432 1005(different)U 692(levels)S 879(of)S 968(memory.)S 1260(Better)S 1454(performance)S 1819(on)S 1918(these)S 2086(machines)S 2367(can)S 2491(be)S 2586(achieved)S 2852(by)S 2951(the)S 3064(use)S 3185(o)S 472 1101(evel)U 603(3)S 658(BLAS.)S 582 1233(W)U (e)R 697(intend)S 885(to)S 960(code)S 1108(the)S 1212(routines)S 1448(in)S 1523(the)S 1627(new)S 1761(library)S 1960(so)S 2043(that)S 2165(as)S 2244(much)S 2414(of)S 2492(the)S 2595(computation)S 2946(as)S 3024(possible)S 3218 1329(-)U 432 1425(t)U 432 1329(is)U 499(performed)S 796(by)S 885(calls)S 1028(to)S 1102(Level)S 1274(2)S 1330(or)S 1408(Level)S 1580(3)S 1636(BLAS.)S 1845(Ef\256ciency)S 2138(can)S 2252(then)S 2388(be)S 2473(achieved)S 2729(by)S 2818(linking)S 3027(the)S 3130(rou)S 450 1425(ines)U 578(to)S 651(optimized)S 935(implement)S 1215(ations)S 1394(of)S 1471(the)S 1573(BLAS.)S 582 1557(W)U (e)R 696(do)S 785(not)S 892(regard)S 1083(the)S 1185(provision)S 1456(of)S 1533(optimized)S 1817(implement)S 2097(ations)S 2276(of)S 2353(the)S 2455(BLAS)S 2646(as)S 2723(part)S 2847(of)S 2924(this)S 3041(project,)S 432 1749(i)U 432 1653(although)U 686(we)S 786(shall)S 933(do)S 1022(as)S 1100(much)S 1269(as)S 1347(we)S 1447(can)S 1561(to)S 1635(encourage)S 1928(and)S 2046(assist)S 2212(such)S 2356(provision.)S 2667(Speci\256cations,)S 3076(model)S 450 1749(mplementa)U 741(tions,)S 908(and)S 1025(test)S 1138(programs)S 1409(are)S 1511(already)S 1726(available)S 1962(.)S 2001(We)S 2114(hope)S 2264(that)S 2384(vendors)S 2615(or)S 2692(other)S 2849(users)S 3007(will)S 3131(take)S 3223 1845(.)U 432 1941(I)U 432 1845(up)U 522(the)S 626(challenge)S 901(of)S 980(optimizing)S 1288(the)S 1392(performance)S 1748(of)S 1827(the)S 1931(Level)S 2104(2)S 2161(or)S 2240(Level)S 2413(3)S 2470(BLAS)S 2662(on)S 2751(speci\256c)S 2975(machines)S 454 1941(deally,)U 657(vendors)S 892(of)S 973(high-performance)S 1470(computers)S 1770(will)S 1898(supply)S 2100(optimized)S 2388(BLAS)S 2582(as)S 2662(part)S 2789(of)S 2869(their)S 3014(run-time)S 432 2133(B)U 432 2037(libraries)U 681(delivered)S 959(with)S 1110(every)S 1289(machine)S 1544(\(similar)S 1781(to)S 1865(SCILIB)S 2107(on)S 2206(CRAY)S 2423(machines\).)S 2765(\(For)S 2912(the)S 3025(Level)S 3207(2)S 476 2133(LAS)U 627(this)S 748(is)S 818(already)S 1037(beginning)S 1326(to)S 1403(happen.)S 1636(The)S 1764(Level)S 1939(3)S 1998(BLAS)S 2193(have)S 2342(been)S 2491(speci\256ed)S 2750(very)S 2892(recently,)S 3145(and)S 432 2229(their)U 574(speci\256cation)S 928(is)S 994(still)S 1114(to)S 1187(some)S 1348(extent)S 1530(provisional.\))S 582 2361(The)U 707(scope)S 880(for)S 980(using)S 1146(Level)S 1318(2)S 1374(or)S 1452(Level)S 1624(3)S 1680(BLAS)S 1872(varies)S 2052(among)S 2254(the)S 2357(different)S 2605(algorithms)S 2908(that)S 3028(are)S 3130(pro-)S 432 2553(s)U 432 2457(posed.)U 630(In)S 712(some)S 878(algorithms)S 1186(\(e.g.)S 1331(computing)S 1639(eigenvalues)S 1976(of)S 2058(a)S 2114(symmetric)S 2418(tridiagonal)S 2728(matrix\))S 2947(there)S 3104(is)S 3174(no)S 458 2553(cope)U 607(at)S 679(all.)S 808(In)S 888(the)S 993(majority)S 1240(of)S 1320(the)S 1425(algorithms)S 1731(there)S 1887(is)S 1956(certainly)S 2210(scope)S 2384(for)S 2485(using)S 2652(Level)S 2825(2)S 2882(BLAS,)S 3092(and)S 3211(a)S 432 2649(considerable)U 786(amount)S 1005(of)S 1082(experience)S 1388(of)S 1465(doing)S 1637(so)S 1718(has)S 1828(already)S 2043(been)S 2189(accumulat)S 2458(ed)S 2542([5,)S 2625(7,)S 2686(8].)S 582 2781(To)U 687(exploit)S 901(Level)S 1082(3)S 1147(BLAS,)S 1365(one)S 1492(usually)S 1714(must)S 1874(restructure)S 2187(the)S 2299(algorithm)S 2586(into)S 2720(a)S 5 F 2780(")S 1 F (block)R 5 F (")R 1 F 3013(form,)S 3189(in)S 3207 2877(n)U 432 2973(t)U 432 2877(which)U 616(the)S 719(original)S 945(matrices)S 1189(are)S 1291(partitioned)S 1597(into)S 1721(submatrices)S 2057(or)S 2134(blocks,)S 2345(and)S 2462(the)S 2564(algorithm)S 2841(is)S 2907(expressed)S 3189(i)S 450 2973(erms)U 626(of)S 729(basic)S 912(matrix-mat)S 1203(rix)S 1324(operations)S 1646(on)S 1760(the)S 1888(blocks.)S 2146(Many)S 2347(authors)S 2588(have)S 2759(demonstrated)S 3160(the)S 3211 3069(e)U 432 3165(p)U 432 3069(effectivene)U 723(ss)S 798(of)S 876(block)S 1045(algorithms)S 1349(on)S 1438(many)S 1606(of)S 1683(our)S 1793(target)S 1964(machines)S 2234(\(see)S 2362(the)S 2464(references)S 2756(cited)S 2905(in)S 2978([3]\).)S 3138(Th)S 465 3165(erformance)U 792(of)S 874(the)S 981(algorithms)S 1289(depends)S 1532(on)S 1625(the)S 1732(dimensions)S 2059(chosen)S 2269(for)S 2373(the)S 2480(blocks.)S 2718(It)S 2785(will)S 2914(therefore)S 3178(be)S 432 3357(d)U 432 3261(necessary)U 720(to)S 803(investigate)S 1119(the)S 1231(appropriate)S 1561(blocking)S 1822(strategy)S 2061(for)S 2169(each)S 2320(of)S 2406(our)S 2525(target)S 2705(machines,)S 3001(and)S 3127(then)S 465 3357(evelop)U 664(a)S 717(mechanism)S 1040(whereby)S 1291(the)S 1395(routines)S 1631(can)S 1746(determine)S 2032(good)S 2188(block)S 2358(dimensions)S 2681(automatic)S 2939(ally)S 3060(\(possi-)S 432 3453(bly)U 538(via)S 640(a)S 691(machine-speci)S 1070(\256c)S 1158(enquiry)S 1381(function\).)S 582 3585(Block)U 763(algorithms)S 1068(generally)S 1336(require)S 1546(an)S 1632(unblocked)S 1930(version)S 2148(of)S 2227(the)S 2331(same)S 2490(algorithm)S 2769(to)S 2844(be)S 2930(available)S 3189(to)S 3207 3681(o)U 432 3777(p)U 432 3681(operate)U 660(on)S 761(a)S 825(single)S 1017(block.)S 1215(Therefore,)S 1526(the)S 1641(development)S 2015(of)S 2105(the)S 2220(software)S 2481(will)S 2617(fall)S 2738(naturally)S 3005(into)S 3141(tw)S 465 3777(hases:)U 651(\256rst,)S 796(develop)S 1029(unblocked)S 1328(versions)S 1572(of)S 1651(the)S 1755(routines,)S 2008(calling)S 2210(the)S 2314(Level)S 2487(2)S 2544(BLAS)S 2737(wherever)S 3006(possible;)S 432 3873(then)U 567(develop)S 797(blocked)S 1027(versions)S 1269(where)S 1452(possible,)S 1707(calling)S 1907(the)S 2009(Level)S 2180(3)S 2235(BLAS.)S 582 4005(It)U 647(is)S 716(likely)S 890(that)S 1013(this)S 1133(project)S 1340(will)S 1467(reveal)S 1652(the)S 1757(need)S 1906(for)S 2007(a)S 2060(few)S 2183(additional)S 2469(basic)S 2628(routines)S 2864(whose)S 3057(perfor-)S 432 4197(c)U 432 4101(mance)U 630(may)S 770(need)S 921(to)S 999(be)S 1088(optimized)S 1377(for)S 1481(different)S 1733(architect)S 1958(ures)S 2094(and)S 2215(may)S 2354(be)S 2442(regarded)S 2698(as)S 2779(extensions)S 3083(to)S 3160(the)S 461 4197(urrent)U 640(sets)S 761(of)S 838(BLAS)S 1029(\(e.g.,)S 1186(applying)S 1438(sequences)S 1727(of)S 1804(plane)S 1968(rotations)S 2220(to)S 2293(a)S 2344(matrix\).)S 3218 4329(-)U 432 4425(a)U 582 4329(We)U 698(believe)S 911(that)S 1033(if)S 1097(we)S 1198(are)S 1302(developing)S 1618(the)S 1722(library)S 1921(in)S 1996(Fortran)S 2214(77)S 2304(\(see)S 2434(Section)S 2655(2.4\),)S 2801(the)S 2905(only)S 3046(reason)S 461 4425(ble)U 571(means)S 769(of)S 853(identifying)S 1170(matrix-vect)S 1472(or)S 1556(or)S 1640(matrix-mat)S 1931(rix)S 2033(operations)S 2336(within)S 2533(the)S 2642(algorithms)S 2952(is)S 3025(to)S 3105(write)S EP %%Page: ? 7 BP 1 F 66 Z 432 621(e)U 1775 405(-)U 1819(5)S 1874(-)S 461 621(xplicit)U 659(calls)S 810(to)S 892(BLAS-type)S 1227(routines.)S 1509(It)S 1580(is)S 1655(not)S 1769(likely)S 1948(that)S 2076(many)S 2252(compilers)S 2541(will)S 2673(be)S 2765(able)S 2904(to)S 2985(recognize)S 3218 717(r)U 432 813(F)U 432 717(operations)U 733(of)S 815(this)S 937(level)S 1091(of)S 1173(granularity)S 1488(if)S 1555(coded)S 1739(in)S 1817(standard)S 2067(Fortran)S 2288(77.)S 2419(Array)S 2599(syntax,)S 2814(as)S 2895(proposed)S 3163(fo)S 469 813(ortran)U 659(8X,)S 790(would)S 988(be)S 1083(preferable)S 1382(\(at)S 1484(least)S 1637(for)S 1747(some)S 1919(operations\))S 2248(but)S 2365(is)S 2442(not)S 2559(available)S 2828(except)S 3032(as)S 3119(non-)S 432 909(standard)U 677(features)S 907(on)S 995(a)S 1046(few)S 1167(machines.)S 582 1041(Both)U 740(the)S 850(algorithms)S 1161(in)S 1242(the)S 1352(library)S 1557(and)S 1682(the)S 1792(higher)S 1990(level)S 2147(BLAS)S 2346(from)S 2504(which)S 2695(they)S 2838(would)S 3032(be)S 3123(con-)S 432 1233(C)U 432 1137(structed)U 675(would)S 875(serve)S 1049(as)S 1139(benchmarks)S 1492(for)S 1604(supercomputer)S 2030(performance)S 2397(evaluation.)S 2722(A)S 2805(report)S 2997(from)S 3160(the)S 476 1233(ommittee)U 756(on)S 855(Supercomputer)S 1289(Performance)S 1657(and)S 1784(Development[1])S 2247(has)S 2367(recommended)S 2771(using)S 2946(a)S 3007(range)S 3185(of)S 432 1425(l)U 432 1329(routines)U 671(from)S 826(program)S 1076(kernels)S 1293(\(like)S 1440(the)S 1547(BLAS\))S 1765(and)S 1886(basic)S 2047(routines)S 2285(\(like)S 2431(LINPACK)S 2744(and)S 2865(EISPACK\))S 3189(to)S 450 1425(arge)U 588(applicati)S 813(on)S 904(codes)S 1079(\(such)S 1247(as)S 1327(radiation)S 1585(transport)S 1844(and)S 1964(\257uid)S 2110(dynamics\))S 2409(for)S 2511(benchmarks.)S 2871(Our)S 2998(proposed)S 3207 1521(d)U 432 1617(o)U 432 1521(effort)U 605(would)S 797(supply)S 1000(useful)S 1188(routines)S 1426(for)S 1529(this)S 1650(work.)S 1829(The)S 1957(new)S 2093(library)S 2294(would)S 2485(also)S 2617(provide)S 2844(a)S 2899(lower)S 3075(boun)S 465 1617(n)U 520(performance,)S 891(which)S 1074(any)S 1191(competing)S 1490(algorithm)S 1767(would)S 1954(have)S 2100(to)S 2173(exceed.)S 3 F 432 1809(2.3)U 537(Target)S 749(Machines)S 1 F 582 1941(The)U 715(class)S 874(of)S 959(machines)S 1237(on)S 1333(which)S 1524(the)S 1634(library)S 1839(will)S 1971(be)S 2063(designed)S 2327(to)S 2408(perform)S 2650(ef\256ciently)S 2946(consists)S 3185(of)S 432 2133(a)U 432 2037(machines)U 703(with)S 843(one)S 961(or)S 1039(more)S 1197(processors,)S 1516(each)S 1659(of)S 1737(which)S 1921(has)S 2032(a)S 2084(powerful)S 2345(vector-processing)S 2836(capabilit)S 3061(y.)S 3134(It)S 3196(is)S 461 2133(ssumed)U 683(that)S 805(the)S 909(number)S 1134(of)S 1213(such)S 1358(processors)S 1660(is)S 1727(modest)S 1940(\(no)S 2051(more)S 2209(than)S 2345(20,)S 2451(say\).)S 2623(This)S 2763(class)S 2914(of)S 2992(machines)S 432 2325(s)U 432 2229(includes)U 677(all)S 768(of)S 849(the)S 955(most)S 1109(powerful)S 1373(machines)S 1647(that)S 1771(are)S 1877(currently)S 2140(available)S 2402(and)S 2523(in)S 2600(use)S 2714(for)S 2816(general-purpose)S 458 2325(cienti\256c)U 713(computing:)S 1056(CRAY-2,)S 1356(CRAY)S 1584(X-MP,)S 1811(CYBER)S 2075(205,)S 2235(ETA-10,)S 2512(Fujitsu/Amdahl)S 2969(VP,)S 3115(IBM)S 432 2421(3090/VF,)U 706(NEC)S 860(SX,)S 984(Alliant)S 1188(FX/8,)S 1363(Convex)S 1590(C-1,)S 1728(and)S 1845(Scienti\256c)S 2115(Computer)S 2400(Systems)S 2642(SCS-40.)S 582 2553(We)U 706(do)S 805(not)S 922(claim)S 1100(that)S 1231(the)S 1344(strategy)S 1585(of)S 1673(using)S 1849(Level)S 2031(2)S 2097(or)S 2185(Level)S 2367(3)S 2433(BLAS)S 2635(will)S 2770(necessarily)S 3095(attain)S 3222 2649(l)U 432 2745(d)U 432 2649(optimal)U 669(performance)S 1038(on)S 1141(all)S 1243(these)S 1415(machines;)S 1718(indeed,)S 1947(some)S 2123(algorithms)S 2441(can)S 2569(be)S 2668(structured)S 2967(in)S 3054(severa)S 465 2745(ifferent)U 682(ways,)S 859(all)S 948(calling)S 1150(Level)S 1323(3)S 1380(BLAS,)S 1590(but)S 1698(with)S 1838(different)S 2087(performance)S 2442(characteri)S 2700(stics.)S 2879(In)S 2957(such)S 3101(cases)S 3218 2841(f)U 432 2937(t)U 432 2841(we)U 536(shall)S 687(aim)S 812(to)S 890(choose)S 1100(the)S 1207(structure)S 1464(that)S 1589(provides)S 1843(the)S 1950(best)S 2083(``average'')S 2402(performance)S 2761(over)S 2905(the)S 3012(range)S 3185(o)S 450 2937(arget)U 603(machines.)S 582 3069(W)U (e)R 699(hope)S 853(that)S 977(the)S 1083(library)S 1284(will)S 1412(also)S 1544(perform)S 1782(well)S 1921(on)S 2013(a)S 2068(wider)S 2244(class)S 2398(of)S 2479(parallel)S 2701(machines,)S 2992(including)S 432 3165(the)U 534(IBM)S 681(RP3,)S 834(BBN)S 992(Butter\257y,)S 1265(Sequent)S 1499(Symmetry,)S 1812(Encore)S 2020(Multimax,)S 2318(and)S 2435(FPS)S 2568(T-Series.)S 582 3297(On)U 686(conventional)S 1048(serial)S 1213(machines,)S 1501(the)S 1604(performance)S 1959(of)S 2037(the)S 2140(library)S 2338(is)S 2405(expected)S 2661(to)S 2735(be)S 2820(at)S 2889(least)S 3031(as)S 3108(good)S 3211 3393(e)U 432 3489(f)U 432 3393(as)U 513(that)S 636(of)S 716(the)S 821(current)S 1032(LINPACK)S 1344(and)S 1464(EISPACK)S 1765(codes.)S 1979(Thus)S 2136(the)S 2241(library)S 2441(will)S 2568(be)S 2655(available)S 2916(and)S 3036(suitabl)S 454 3489(or)U 534(use)S 647(across)S 837(the)S 942(whole)S 1128(range)S 1299(of)S 1379(machines)S 1652(from)S 1805(personal)S 2052(computers)S 2350(to)S 2425(supercomputers)S 2866(to)S 2941(experimen-)S 3 F 432 3777(2)U 1 F 432 3585(tal)U 519(architect)S 744(ures.)S 3 F 465 3777(.4)U 537(Programming)S 954(Language)S 1255(and)S 1384(Style)S 1 F 582 3909(T)U (he)R 717(software)S 977(will)S 1112(be)S 1207(developed)S 1509(in)S 1592(standard)S 1847(Fortran)S 2073(77,)S 2188(using)S 2363(extensions)S 2673(to)S 2756(the)S 2868(standard)S 3123(only)S 432 4005(where)U 615(necessary.)S 582 4137(Single-)U 802(and)S 927(double-precision)S 1399(versions)S 1649(will)S 1781(be)S 1873(prepared;)S 2151(conversion)S 2470(between)S 2718(different)S 2973(precisions)S 432 4233(will)U 556(be)S 640(performed)S 936(automatic)S 1194(ally)S 1314(by)S 1402(software)S 1651(tools.)S 582 4365(Routines)U 849(for)S 959(complex)S 1218(matrices)S 1472(will)S 1606(use)S 1726(the)S 1838(COMPLEX)S 2186(data)S 2327(type)S 2472(\(like)S 2624(LINPACK,)S 2960(but)S 3076(unlike)S 432 4461(EISPACK\);)U 794(hence)S 993(the)S 1119(availabil)S 1344(ity)S 1458(of)S 1558(a)S 1632(double-precision)S 2119(complex)S 2390(\(COMPLEX*16)S 2872(or)S 2972(DOUBLE)S EP %%Page: ? 8 BP 1 F 66 Z 1775 405(-)U 1819(6)S 1874(-)S 3207 621(x)U 432 717(m)U 432 621(COMPLEX\))U 796(data)S 931(type)S 1070(will)S 1198(be)S 1286(assumed)S 1539(as)S 1620(an)S 1708(extension)S 1985(to)S 2061(Fortran)S 2280(77.)S 2410(Routines)S 2669(for)S 2771(real)S 2894(and)S 3014(comple)S 483 717(atrices)U 680(will)S 808(be)S 895(written)S 1106(in)S 1182(such)S 1328(a)S 1382(way)S 1517(as)S 1597(to)S 1673(maintain)S 1927(a)S 1981(close)S 2141(correspondence)S 2579(between)S 2823(the)S 2928(two,)S 3069(and)S 3189(to)S 3211 813(c)U 432 909(e)U 432 813(permit)U 634(automatic)S 923(transformation,)S 1358(as)S 1444(far)S 1548(as)S 1633(possible;)S 1897(however,)S 2171(in)S 2252(some)S 2421(algorithms)S 2732(\(e.g.,)S 2897(unsymmetri)S 461 909(igenvalue)U 738(problems\))S 1027(the)S 1129(correspondence)S 1564(will)S 1688(necessarily)S 2002(be)S 2086(weaker.)S 3211 1041(c)U 432 1137(c)U 582 1041(The)U 707(code)S 854(will)S 979(be)S 1064(written)S 1273(to)S 1347(permit)S 1541(as)S 1619(much)S 1788(automatic)S 2069(vectorizat)S 2327(ion)S 2433(as)S 2510(possible.)S 2787(Machine-speci\256)S 461 1137(ompiler)U 691(directives)S 972(may)S 1111(be)S 1199(required)S 1443(to)S 1519(communicat)S 1843(e)S 1897(vectorizabi)S 2188(lity)S 2300(or)S 2380(paralleli)S 2594(sm.)S 2735(We)S 2851(shall)S 3000(also)S 3131(take)S 3218 1233(r)U 432 1329(S)U 432 1233(care)U 565(to)S 640(make)S 806(the)S 910(code)S 1058(safe)S 1188(for)S 1289(use)S 1401(in)S 1476(multitasking)S 1828(applicati)S 2053(ons)S 2168(\(i.e.,)S 2311(avoiding)S 2564(the)S 2667(use)S 2778(of)S 2856(COMMON)S 3185(o)S 469 1329(AVEd)U 665(variables\).)S 990(Our)S 1120(aim)S 1245(is)S 1316(to)S 1394(make)S 1563(the)S 1670(code)S 1820(entirely)S 2046(machine-inde)S 2403(pendent)S 2637(if)S 2703(possible,)S 2962(and)S 3083(other-)S 3218 1425(-)U 432 1521(p)U 432 1425(wise)U 577(to)S 652(use)S 764(software)S 1015(tools)S 1167(to)S 1242(generate)S 1488(variant)S 1694(versions,)S 1955(or)S 2034(to)S 2108(limit)S 2254(machine-depe)S 2622(ndencies)S 2875(to)S 2949(a)S 3001(few)S 3123(sim)S 465 1521(le)U 534(enquiry)S 757(routines.)S 582 1653(I)U (t)R 646(is)S 714(regrettable)S 1018(that)S 1140(Fortran)S 1358(8X)S 1463(is)S 1531(not)S 1639(yet)S 1743(available)S 2003(to)S 2078(implement)S 2382(the)S 2486(library.)S 2702(Fortran)S 2920(8X)S 3024(is)S 3091(likely)S 3218 1749(-)U 432 1845(m)U 432 1749(to)U 509(have)S 659(a)S 713(number)S 939(of)S 1019(features)S 1252(that)S 1375(would)S 1565(improve)S 1809(the)S 1914(design)S 2111(and)S 2231(coding)S 2435(of)S 2515(the)S 2620(library\320optional)S 3101(argu)S 483 1845(ents,)U 636(dynamic)S 892(allocati)S 1084(on)S 1180(of)S 1265(workspace,)S 1594(and)S 1719(array)S 1884(features,)S 2139(to)S 2220(name)S 2392(a)S 2450(few.)S 2617(However,)S 2905(if)S 2974(we)S 3080(are)S 3189(to)S 3218 1941(-)U 432 2037(s)U 432 1941(begin)U 602(development)S 965(and)S 1084(testing)S 1283(of)S 1362(the)S 1466(library)S 1665(now)S 1803(on)S 1893(our)S 2004(range)S 2173(of)S 2251(target)S 2423(machines,)S 2711(there)S 2865(seems)S 3049(no)S 3138(rea)S 458 2037(onable)U 655(choice)S 848(other)S 1005(than)S 1140(Fortran)S 1356(77.)S 3 F 1494 2229(n)U 432(2.5)S 537(User)S 691(Interface)S 969(and)S 1098(Documentatio)S 1 F 582 2361(The)U 712(user)S 850(interface)S 1107(to)S 1186(the)S 1294(routines)S 1534(will)S 1664(be)S 1754(similar)S 1964(in)S 2043(style)S 2195(to)S 2274(that)S 2400(of)S 2483(LINPACK.)S 2837(Routine)S 3072(names)S 432 2457(will)U 556(follow)S 750(a)S 801(systematic)S 1100(scheme,)S 1336(and)S 1453(arguments)S 1749(will)S 1873(appear)S 2070(in)S 2143(a)S 2194(systematic)S 2493(order.)S 582 2589(We)U 701(intend)S 893(to)S 972(provide)S 1201(a)S 1258(set)S 1359(of)S 1442(top-level)S 1703(driver)S 1888(routines)S 2127(that)S 2252(can)S 2370(solve)S 2536(a)S 2592(complete)S 2859(problem)S 3105(\(e.g.,)S 432 2781(a)U 432 2685(compute)U 683(all)S 773(eigenvalues)S 1108(and)S 1228(eigenvectors)S 1585(of)S 1665(a)S 1719(symmetric)S 2021(matrix\).)S 2256(The)S 2383(top-level)S 2640(routines)S 2876(will)S 3002(each)S 3146(call)S 486 2781(number)U 712(of)S 792(lower)S 967(level)S 1118(routines)S 1354(which)S 1539(perform)S 1775(the)S 1879(parts)S 2031(of)S 2110(the)S 2214(solution)S 2450(\(e.g.,)S 2609(reduction)S 2881(to)S 2956(tridiagonal)S 432 2973(a)U 432 2877(form,)U 602(accumulat)S 871(ion)S 980(of)S 1060(the)S 1165(orthogonal)S 1475(transformation)S 1887(matrix,)S 2100(compute)S 2351(eigenvectors)S 2708(and)S 2828(eigenvectors)S 3185(of)S 483 2973(tridiagonal)U 789(matrix\).)S 582 3105(B)U (oth)R 736(levels)S 915(of)S 996(routines)S 1234(will)S 1362(be)S 1450(accessible)S 1742(to)S 1819(users)S 1981(and)S 2102(will)S 2230(be)S 2318(documented)S 2664(in)S 2740(a)S 2794(guide,)S 2982(similar)S 3189(in)S 3222 3201(l)U 432 3297(d)U 432 3201(many)U 604(respects)S 842(to)S 919(the)S 1025(LINPACK)S 1338(Users')S 1537(Guide.)S 1741(The)S 1869(guide)S 2041(will)S 2169(be)S 2257(divided)S 2480(into)S 2608(two)S 2733(parts:)S 2905(the)S 3010(\256rst)S 3138(wil)S 465 3297(escribe)U 686(the)S 801(top-level)S 1069(problem-solving)S 1539(routines,)S 1803(and)S 1933(the)S 2048(second)S 2266(will)S 2403(describe)S 2657(the)S 2772(lower-level)S 3105(com-)S 3 F 432 3585(3)U 1 F 432 3393(ponent)U 633(routines)S 867(and)S 984(the)S 1086(algorithmic)S 1410(details.)S 3 F 465 3585(.)U 504(Organization)S 1 F 582 3717(T)U (his)R 722(project)S 927(is)S 994(an)S 1079(outgrowth)S 1373(and)S 1491(a)S 1543(natural)S 1748(transition)S 2019(from)S 2170(the)S 2273(EISPACK)S 2572(and)S 2690(LINPACK)S 2999(packages)S 3218 3813(-)U 432 3909(e)U 432 3813(that)U 554(have)S 702(been)S 850(developed)S 1144(over)S 1285(the)S 1389(last)S 1504(15)S 1594(years.)S 1796(The)S 1922(project)S 2128(is)S 2196(a)S 2249(joint)S 2393(effort)S 2563(of)S 2642(a)S 2695(number)S 2920(of)S 2999(research)S 461 3909(rs)U 537(at)S 612(several)S 826(institutions:)S 1164(Argonne)S 1423(National)S 1677(Laboratory,)S 2014(Courant)S 2254(Institute,)S 2514(and)S 2636(Numerical)S 2940(Algorithms)S 432 4101(N)U 432 4005(Group)U 633(Ltd.)S 795(The)S 929(\256rst)S 1064(two)S 1194(groups)S 1405(have)S 1560(received)S 1813(funding)S 2049(from)S 2208(the)S 2319(National)S 2576(Science)S 2811(Foundation;)S 3160(the)S 480 4101(umerical)U 738(Algorithms)S 1067(Group)S 1265(in)S 1345(the)S 1454(United)S 1662(Kingdom)S 1940(has)S 2057(agreed)S 2261(to)S 2341(cooperate)S 2625(in)S 2705(this)S 2829(research)S 3077(effort.)S 432 4293(c)U 432 4197(The)U 559(three)S 715(institutions)S 1032(plan)S 1170(to)S 1246(work)S 1407(in)S 1483(a)S 1537(coordinated)S 1872(but)S 1981(independent)S 2327(fashion.)S 2585(Argonne)S 2841(will)S 2968(serve)S 3132(as)S 3211(a)S 461 4293(enter)U 622(for)S 729(the)S 839(project)S 1051(and)S 1176(be)S 1268(responsible)S 1598(for)S 1705(collecti)S 1897(ng,)S 2010(editing,)S 2239(testing)S 2444(material)S 2658(,)S 2704(and)S 2828(distributing)S 3160(the)S 432 4389(software.)U 720(We)S 833(intend)S 1019(to)S 1092(meet)S 1241(at)S 1310(least)S 1452(twice)S 1616(a)S 1667(year)S 1802(to)S 1875(coordinate)S 2174(activiti)S 2355(es)S 2432(and)S 2549(discuss)S 2762(developments.)S EP %%Page: ? 9 BP 1 F 66 Z 1775 405(-)U 1819(7)S 1874(-)S 582 621(W)U (e)R 705(shall)S 861(use)S 981(test)S 1104(sites)S 1253(to)S 1336(help)S 1480(in)S 1562(testing)S 1768(out)S 1883(ideas)S 2049(and)S 2175(verifying)S 2447(that)S 2576(the)S 2687(software)S 2945(is)S 3020(working)S 3218 717(-)U 432 813(g)U 432 717(correctly.)U 711(The)S 842(test)S 962(sites)S 1108(will)S 1239(by)S 1334(necessity)S 1604(receive)S 1822(prerelease)S 2117(versions)S 2366(of)S 2450(the)S 2559(software.)S 2854(Once)S 3022(the)S 3130(pro)S 465 813(rams)U 617(and)S 736(test)S 851(material)S 1089(are)S 1192(ready)S 1361(for)S 1461(distribution)S 1787(to)S 1861(test)S 1975(sites,)S 2132(we)S 2232(will)S 2357(release)S 2562(preliminary)S 2891(copies)S 3082(of)S 3160(the)S 432 909(package)U 669(to)S 742(people)S 939(with)S 1078(a)S 1129(legitima)S 1343(te)S 1412(research)S 1653(interest.)S 582 1041(We)U 697(also)S 827(plan)S 964(to)S 1039(distribute)S 1311(working)S 1555(notes)S 1718(to)S 1793(anyone)S 2007(interested)S 2286(and)S 2405(to)S 2480(report)S 2661(at)S 2732(conferences)S 3070(on)S 3160(the)S 3214 1137(s)U 432 1233(b)U 432 1137(status,)U 622(progress,)S 886(and)S 1004(future)S 1183(directions)S 1464(throughout)S 1775(the)S 1877(project)S 2081(life.)S 2229(The)S 2353(notes)S 2514(are)S 2616(intended)S 2864(to)S 2937(be)S 3021(a)S 3072(mean)S 465 1233(y)U 522(which)S 707(tentative)S 956(decisions)S 1225(on)S 1315(technical)S 1575(matters)S 1792(can)S 1907(be)S 1993(disseminated)S 2360(for)S 2461(comment.)S 2768(A)S 2840(secondary)S 3130(pur-)S 432 1425(m)U 432 1329(pose)U 576(of)S 654(the)S 757(notes)S 919(is)S 986(to)S 1060(serve)S 1222(as)S 1300(an)S 1385(archive)S 1601(detailing)S 1853(the)S 1956(progress.)S 2220(It)S 2282(should)S 2480(be)S 2564(stressed)S 2795(that)S 2915(much)S 3083(of)S 3160(the)S 483 1425(aterial)U 672(in)S 749(the)S 855(notes)S 1020(will)S 1148(be)S 1236(of)S 1317(a)S 1372(tentative)S 1622(nature)S 1811(and)S 1931(will)S 2058(not)S 2167(represent)S 2433(a)S 2487(commitme)S 2767(nt)S 2843(to)S 2919(any)S 3039(speci\256c)S 432 1521(action.)U 582 1653(We)U 698(encourage)S 993(anyone)S 1208(with)S 1349(questions)S 1622(or)S 1701(comments)S 1995(about)S 2165(the)S 2269(project)S 2475(to)S 2550(contact)S 2763(any)S 2882(of)S 2961(the)S 3065(princi-)S 432 1845(c)U 432 1749(pal)U 541(investigators)S 905(on)S 999(the)S 1107(project.)S 1356(Our)S 1487(plan)S 1628(is)S 1700(to)S 1779(keep)S 1931(the)S 2039(project)S 2249(open)S 2405(to)S 2484(the)S 2592(outside.)S 2827(We)S 2946(believe)S 3163(we)S 461 1845(an)U 545(bene\256t)S 746(from)S 896(the)S 998(advice)S 1191(and)S 1308(exchange)S 1578(among)S 1779(our)S 1889(colleagues.)S 432 2205(1)U 3 F 432 2037(References)U 1 F 465 2205(.)U 582(``An)S 730(Agenda)S 958(for)S 1058(Improved)S 1337(Evaluation)S 1644(of)S 1721(Supercomputer)S 2145(Performance,'')S 2564(National)S 2812(Research)S 3075(Coun-)S 432 2433(2)U 582 2301(cil,)U 686(1986.)S 465 2433(.)U 582(J.J.)S 698(Dongarra,)S 994(J.)S 1067(Bunch,)S 1286(C.)S 1377(Moler,)S 1585(and)S 1710(G.)S 1805(Stewart,)S 2 F 2053(LINPACK)S 2354(Users')S 2561(Guide,)S 1 F 2769(SIAM)S 2964(Pub.,)S 3130(Phi-)S 432 2661(3)U 582 2529(ladelphia,)U 861(1979.)S 465 2661(.)U 582(J.J.)S 696(Dongarra,)S 990(J.)S 1061(DuCroz,)S 1314(I.)S 1380(Duff,)S 1549(and)S 1671(S.)S 1752(Hammarling,)S 2128(``A)S 2247(Proposal)S 2505(for)S 2609(a)S 2665(Set)S 2776(of)S 2858(Level)S 3034(3)S 3094(Basic)S 3222 2757(l)U 582 2853(1)U 582 2757(Linear)U 785(Algebra)S 1029(Subprograms,'')S 1474(Argonne)S 1737(National)S 1995(Laboratory)S 2319(Report,)S 2546(ANL-MCS-TM-88,)S 3101(Apri)S 615 2853(987.)U 432 2985(4)U (.)R 582(J.J.)S 698(Dongarra,)S 993(J.)S 1065(DuCroz,)S 1320(S.)S 1403(Hammarling,)S 1781(and)S 1905(R.)S 1995(Hanson,)S 2243(``An)S 2397(Extended)S 2674(Set)S 2787(of)S 2871(Fortran)S 3094(Basic)S 3218 3081(-)U 582 3177(s)U 582 3081(Linear)U 784(Algebra)S 1027(Subprograms,'')S 1470(Argonne)S 1731(National)S 1987(Laboratory)S 2309(Report,)S 2535(ANL-MCS-TM-41)S 3072(\(Revi)S 608 3177(ion)U 714(3\),)S 808(November)S 1108(1986.)S 432 3309(5)U (.)R 582(J.J.)S 696(Dongarra)S 973(and)S 1096(S.)S 1178(C.)S 1267(Eisenstat,)S 1549(``Squeezing)S 1895(the)S 2003(Most)S 2167(out)S 2279(of)S 2362(an)S 2451(Algorithm)S 2752(in)S 2830(Cray)S 2985(Fortran,'')S 432 3537(6)U 2 F 582 3405(ACM)U 743(Trans.)S 937(Math.)S 1115(Software)S 1 F (,)R 1388(vol.)S 1511(10,)S 1616(3,)S 1688(pp.)S 1793(221-230,)S 2052(1984.)S 465 3537(.)U 582(J.J.)S 707(Dongarra)S 995(and)S 1129(E.)S 1224(Grosse,)S 1463(``Distribution)S 1863(of)S 1956(Mathematic)S 2269(al)S 2354(Software)S 2630(via)S 2748(Electronic)S 3055(Mail,'')S 432 3765(7)U 2 F 582 3633(Comm)U 777(of)S 850(the)S 952(ACM)S 1 F (,)R 1130(vol.)S 1253(30,5,)S 1408(pp.)S 1513(403-407,)S 1772(July,)S 1921(1987)S 2075(.)S 465 3765(.)U 582(J.J.)S 694(Dongarra,)S 986(L.)S 1069(Kaufman,)S 1357(and)S 1478(S.)S 1558(Hammarling,)S 1933(``Squeezing)S 2277(the)S 2382(Most)S 2543(Out)S 2667(of)S 2747(High)S 2904(Performance)S 3218 3861(-)U 582 3957(1)U 582 3861(Computers)U 897(for)S 1000(Finding)S 1231(the)S 1337(Eigenvalues,'')S 2 F 1745(Linear)S 1947(Algebra)S 2185(and)S 2310(Its)S 2402(Applications)S 1 F (,)R 2777(vol.)S 2903(77,)S 3011(pp.)S 3119(113)S 615 3957(36,)U 720(1986.)S 432 4089(8)U (.)R 582(J.J.)S 714(Dongarra)S 1009(and)S 1150(D.C.)S 1322(Sorensen,)S 1627(``Linear)S 1888(Algebra)S 2146(on)S 2258(High-Performance)S 2794(Computers,'')S 3189(in)S 432 4317(9)U 2 F 582 4185(Proceedings)U 933(Parallel)S 1170(Computing)S 1485(85)S 1 F (,)R 1590(ed.)S 1691(U.)S 1778(Schendel,)S 2058(pp.)S 2163(3-32,)S 2323(North)S 2499(Holland,)S 2750(1986.)S 465 4317(.)U 582(B.S.)S 740(Garbow,)S 1013(J.M.)S 1175(Boyle,)S 1392(J.J.)S 1521(Dongarra,)S 1830(and)S 1968(C.B.)S 2133(Moler,)S 2 F 2354(Matrix)S 2575(Eigensystem)S 2946(Routines)S 3218(-)S 582 4413(EISPACK)U 867(Guide)S 1050(Extension)S 1 F (,)R 1348(51,)S 1453(pp.)S 1558(Springer-Verlag,)S 2025(Lecture)S 2247(Notes)S 2423(in)S 2496(Computer)S 2781(Science,)S 3024(1977.)S EP %%Page: ? 10 BP 1 F 66 Z 1775 405(-)U 1819(8)S 1874(-)S 3218 621(-)U 432(10.)S 582(C.)S 668(Lawson,)S 919(R.)S 1005(Hanson,)S 1249(D.)S 1339(Kincaid,)S 1589(and)S 1709(F.)S 1788(Krogh,)S 1999(``Basic)S 2214(Linear)S 2410(Algebra)S 2647(Subprograms)S 3024(for)S 3126(For)S 582 717(tran)U 706(Usage,'')S 2 F 954(ACM)S 1115(Transactions)S 1482(on)S 1570(Mathematical)S 1957(Software)S 1 F (,)R 2230(vol.)S 2353(5,)S 2425(pp.)S 2530(308-323,)S 2789(1979.)S 2 F 3211 849(x)U 1 F 432(11.)S 582(B.T.)S 726(Smith,)S 926(J.M.)S 1071(Boyle,)S 1270(J.J.)S 1381(Dongarra,)S 1672(B.S.)S 1812(Garbow,)S 2067(Y.)S 2157(Ikebe,)S 2345(V.)S 2435(Klema,)S 2652(and)S 2772(C.)S 2858(Moler,)S 2 F 3061(Matri)S 582 945(Eigensystem)U 938(Routines)S 1194(-)S 1242(EISPACK)S 1531(Guide,)S 1735(Second)S 1951(Edition,)S 1 F (,)R 2204(6,)S 2280(pp.)S 2389(Springer-Verlag,)S 2860(Lecture)S 3086(Notes)S 582 1041(in)U 655(Computer)S 940(Science,)S 1183(1976.)S EP %%Trailer pscatsave end restore %%Pages: 10 .