Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!kpc.com!ardent!mac From: mac@gold.kpc.com (Mike McNamara) Newsgroups: comp.arch Subject: Re: More on Linpack pivoting: isamax and instruction set design Message-ID: Date: 21 Jun 91 17:24:05 GMT References: <396@validgh.com> <1991Jun13.234834.22970@neon.Stanford.EDU> <1991Jun14.134338.4673@linus.mitre.org> <6357@goanna.cs.rmit.oz.au> Sender: uucp@kpc.com (UNIX-to-UNIX Copy) Reply-To: mac@ardent.com (Michael McNamara) Organization: Kubota Pacific Computer Incoporated, Santa Clara, CA Lines: 22 In-Reply-To: ok@goanna.cs.rmit.oz.au's message of 16 Jun 91 09:07:19 GMT Nntp-Posting-Host: gold Ah, I see I posted too soon. I now understand that the discussion is about linpack's IDAMAX routine. I think the current champion hardware for this loop is the ardent titan vector unit. It has the DRAMAX instruction. This is translated Double precision Reduction Absolute MAXimum value instruction. Run over a vector, it returns in a scalar the maximum absolute value of that vector. ( The machine supports the single precision, minimum absolute value, and non absolute variants, just so no one would think the instruction was inserted just for Dongarra. :-) Of course, the failing is that IDAMAX doesn't care particularily about the actual maximum value; it only wants to know the *index* of that value. But then a DVCEQ instruction is fully vectorized also... -mac -- +-----------+-----------------------------------------------------------------+ |mac@kpc.com| Increasing Software complexity lets us sell Mainframes as | | | personal computers. Carry on, X windows/Postscript/emacs/CASE!! | +-----------+-----------------------------------------------------------------+