Posted on 11/28/2005 12:18:02 PM PST by Ernest_at_the_Beach
SEATTLE - There was a time long ago when the word "computer" was a job description referring to the humans who performed the tedious mathematical calculations for huge military and engineering projects.
It is in the same sense that Kazushige Goto's business card says simply "high performance computing."
Mr. Goto, who is 37, might even be called the John Henry of the information age.
But instead of competing against a steam drill, Mr. Goto, a research associate at the Texas Advanced Computing Center at the University of Texas at Austin, has bested the work of a powerful automated system and entire teams of software developers in producing programs that run the world's fastest supercomputers.
He has done it alone at his keyboard the old-fashioned way - by writing code that reorders, one at a time, the instructions given to microprocessor chips.
At one point recently, Mr. Goto's software - collections of programs called subroutines - dominated the rarefied machines competing for the title of the world's fastest supercomputer. In 2003 his handmade code was used by 7 of the 10 fastest supercomputers. (The Japanese Earth Simulator, which was then the world's fastest machine, however, did not use his software.)
In the most recent ranking of supercomputers, I.B.M.
machines overtook a number of supercomputers using Mr. Goto's software to capture the top three spots in the fastest computer rankings. Still, the Goto Basic Linear Algebra Subroutines, or BLAS, as his programs are known, were used by 4 of the world's 11 fastest computers.
Mr. Goto has become a legend in the supercomputing community because of his solitary crusade. And he shows no signs of flagging in the contest to wring every ounce of computing speed from the world's fastest microprocessor chips.
(Excerpt) Read more at nytimes.com ...
Where is the ASA pingeroo???
Kazushige Goto's software runs many of the fastest supercomputers.
Wow! Somebody still cares about writing fast code that isn't bloated with crap. Well done!
There is hope for us Humans.....
10 PRINT "That's cool!" 20 GOTO 10
Applause due to a very aptly named fellow!
The best was Slashdot's title for this -- "Goto Leads to Faster Code"
Well, it is funny if you're a programmer.
You got to keep those compute loops in the cache.
Meanwhile just posted this:
CNET Prize Fight : AMD Dualcore vs Intel Duals ~ AMD wins all 7 categories
From my college days....(I think I remembered this right).
Q: If you use goto in you code you will receive...
A. Goto C
B. Goto E
C. Goto B
D. Goto F
E. Goto D
F. F.
BLAS is included with Mac OS X, and it runs fine on G4 and G5 PowerPC-based Macs, and the forthcoming Intel-Macs.
Most of the tricks Mr. Goto uses for writing high-performance code are described at developer.apple.com. Anyone who is experienced at writing assembler language code can probably figure this stuff out. Basically, you have to arrange the instructions to avoid stalling the processor, and use data streaming mode correctly.
Actually, avoiding GOTO or any other unnecessary branches is critical for performance. Unroll those loops!
10 Goto 10
Very fast code.
Spaghetti code is my favorite kind, it has so many pastabilities.
Authoring Windows Applications In Assembly Language
Steve Gibson
http://www.grc.com/smgassembly.htm
Small Is Beautiful?
http://www.grc.com/files/sib.zip
Jon Kirwan's PC Assembly Programming
http://users.easystreet.com/jkirwan/pctools.html
http://users.easystreet.com/jkirwan/new/pctools.html
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.