Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ames.UUCP Path: utzoo!linus!philabs!cmcl2!harvard!seismo!lll-crg!dual!ames!eugene From: eugene@ames.UUCP (Eugene Miya) Newsgroups: net.physics Subject: Re: Languages for number crunching Message-ID: <1241@ames.UUCP> Date: Tue, 5-Nov-85 03:07:27 EST Article-I.D.: ames.1241 Posted: Tue Nov 5 03:07:27 1985 Date-Received: Fri, 8-Nov-85 05:41:10 EST References: <722@sri-arpa.ARPA> Organization: NASA-Ames Research Center, Mtn. View, CA Lines: 54 > From: Paul Schauble> > FORTRAN used to be the language of choice for number crunching. Is it > still? What else is used? I'm very curious what people consider the > relative merits of the various languages. It is my understanding that F-66 style programs constitute 99% of all Cray codes. F-77 compiler has not been released yet. The other 1% are Pascal and C. Cray Pascal does now vectorize, and it is important because the new F-77 based compiler is written in Pascal to make it more maintainable. No one to my knowledge have written an APL, but with Unix running on a Cray this become easier to try. Relative merits? Try dusty decks. Also dusty brains (mine included). This is not much else because of dust. It takes a lot to move LISP or other "esoterica" and my typical user (read physicist, ME, EE) does not use these languages nor do they wish to maintain them. I suspect this will change as interest in AI grows. PSL was ported to the Cray-1 and XLISP was ported to the Cray-2 [neither are products]. > For the vector machines, is the language extended, or are the compilers > smart enough to recognize things that the vector instructions are good > for? What kinds of extensions? > > Thanks, > Paul Extensions come principally in the form of compiler directives to ignore vector dependences. These machines are quite fast scalar machines, too. The new thing to watch for will be used defined "multi-tasking" (Cray terminology). Automatic decomposition won't come fast enough, so it will be placed in the users hands. Fortran 99? Maybe. By the way at this time on Crays, only the inner most nested loops vectorize. The Convex will go more, I did get it to do this for me when I ran on one, so will the Amdahl-1200 [FAI VP-200]. Recently, I visited a group where I began work in the real world. We had FPS-120B serial #4. My old friends rationalized that programming vector machines was too hard. This is far from true. In some senses, vector programming is a bit too easy. We are overloading the function of the DO-loop. It's not just a DO-loop anymore. If you don't vectorize, you still get a fast loop, but otherwise, you end up with a program of interconnected vectorized DO-loop "nodules." The compiler does help you by telling you what it did and did not vectorize. Japanese vectorizing software is apparently like nothing in this country. It not only tells you what to vectorize, but suggestions more global optimizations interactively. It's very impressive stuff, but you can send mail to fai [Fujitsu] on the net. From the Rock of Ages Home for Retired Hackers: --eugene miya NASA Ames Research Center {hplabs,ihnp4,dual,hao,decwrl,allegra}!ames!aurora!eugene emiya@ames-vmsb