Compaq Fortran for Linux Alpha Released 92
Compaq Fortran for Linux Alpha systems is a full-language Fortran 95 implementation. Fortran programs using the latest features as well as traditional Fortran 77 programs will be able to take advantage of the highly optimized Alpha code generation technology to take advantage of the Alpha processor's leadership performance. The compiler also supports most of the popular language extensions available on other Compaq platforms (OpenMP and HPF features are not currently supported.)
Accompanying the compiler and optimized run-time libraries is Ladebug, a robust and easy to use debugger that will simplify the debugging of all of your Fortran applications.
Also provided is the Compaq Extended Math Library (CXML), a library of technical and scientific subroutines.
Compaq Fortran for Linux Alpha Systems is available as a free download under a Technology Enthusiast license for non-commerical use. A Commercial Use license and media kit is available for US$399 - attractive multiple-license pricing is also available.
For more information, please visit the Compaq Fortran web site.
FORTRAN CGI (Score:2)
Though a lot of people here may not "get" why FORTRAN is still important, you can get a idea by looking at "modern" toolkits such as the Perl Data Language (PDL module) which has a stunningly huge mathematical library that is ALL written in FORTRAN. FORTRAN was (is?) THE language for scientific analysis, so there's a ton of powerful math libraries that you can buy or get free for it. When you need to do something hideously complex, you don't want to have to start from scratch, writing all of the libraries to, say, do high-level matrix manipulation.
See, Java HASN'T taken over the world
Re:Who cares? (Score:1)
There are million line FORTRAN programs. And it has advantages for numerical calculation. When converting numerical calculation programs from BASIC or FORTRAN to C/C++, I frequently get bitten by automatic promotion of types in expressions and precision being lopping off in the process. The only way to fix some of this stuff is to add explicit type casting in strategic parts of the expression.
If you were a scientist, why would you bother with this noise. FORTRAN (stands for Formula TRANslation) is the best tool for the job.
Also, the Compaq compiler is likely to descend from the old VAX/VMS FORTRAN compiler. This compiler had many man-years of optimization put into it and was difficult to match in performance.
The reason we do not all use FORTRAN today is that unlike the old days, most computing is not floating point number crunching. Maybe that is why Digital Equipment Corp (formerly #2 in computers) no longer exists.
Re:It would be helpful if... (Score:3)
The reason for this is usually due to the control over aliasing that Fortran has. This allows better compiler optimizations that result in faster executable. Moreover Fortran 95 has lots of constructs that give hints to the compiler on possible optimization: the array sintax (so the compiler knows that order doesn't matter), the intent of paramters (in, out, inout), pure functions (functions with no side effects), allocatable arrays (that guaratee no aliasing) are some exemples.
Oh, and yes, it is very nice to borrow some APL features
Paulo.
PS: I am not really a Fortran fan, I am fan of using the best language to solve a given problem. In the case of numerical problems, Fortran seems the best. I would gladly program in C/C++ if I could prove to my advisor that I can get a faster executable by doing so.
Re:And C as well. (Score:1)
Steve Lionel
Re:For Alpha But Not Intel? (Score:4)
Our Intel Windows compiler (Compaq Visual Fortran) is very popular, and we do get frequent requests for an Intel Linux version. There are no current plans to do that, but then again, a year ago there were no plans to do Linux at all. So, "never say never"...
If you feel that we should do an Intel compiler, and would be willing to pay for it, let us know. (Feel free to send me mail with your comments.)
Steve Lionel
Re:Who cares? (Score:1)
There's some stuff about Lisp FP speed vs. C at http://www.cons.org/cracauer/lisp.html There's been some benchmarking vs. g77 done, but I don't know where it is. For more info, check dejanews's archive of comp.lang.lisp
~~~~~~~~~
auntfloyd
Re:Questions (Score:2)
Steve Lionel
Re:Free as in CoverDisk? (Score:1)
The "Technology Enthusiast" license is free for non-commercial and personal and classroom educational use. It allows you to develop software for and distribute to others, as long as you aren't "paid" for it.
If you want to use the compiler for paid work, or for use by a "business" (even an educational institution), then buy the commerical license (which is by far the least expensive Fortran license we offer!) We did a survey of beta users asking how much they would expect to pay for a commercial license - I was astonished to see many listing figures well over $1000! Initially we had been thinking $499, but we knocked that down to $399.
I agree that the wording of the license terms at present is a bit confusing. I have some new wording which will be put up on the site soon.
Steve Lionel
Re:Who cares? (Score:1)
Re:Fortran still in use (Score:1)
Your associate professor is one of many people who don't realize that Fortran has evolved a bit since Fortran 77.
Re:Who cares? (Score:1)
Re:Fortran, the trusty hammer (Score:1)
Offtopic? WTF? (Score:1)
To answer your question, yes - both Linux and the new compiler will work on a multia.
--
Re:Fortran still in use (Score:1)
Three years ago, I finally gave it up and switched to C++. Almost all my code is rewritten since. You can always start writing a C++ wrapper class around existing and running FORTRAN code, to utilize it in new projects.
I noticed, that my developing cycles are much shorter now, since less debugging is necessary. In the mean time we have a farm of Linux PC's and they are feed in C++ through a simple PVM++ wrapper class in a much cleaner way as I used to do it in FORTRAN. Less code is necessary in switching to an OO paradigm.
I do not look back on the times, I was programming FORTRAN. FORTRAN is not clean and nice. It is dirty, has lots of memory problems, since FORTRAN does only know pointers in calling sequences and therefore the subroutine has no change to check consistency of the arguments.
Of course, you can formulate any problem in any programming language. It is just a question of efficency.
Let me finish with a comment on the Alpha boxes: Some time ago, I looked into buying an "killer box" based on the alpha for heavy number crunching. However, I only got a factor of two speed increase out of an alpha testbox. Since my appliation using heavly threads and PVM it turns out to be cheaper per MFLOP moneywise to buy a SMP x86 box than an ALPHA or even MAC G4 based system. The last buy for our institute were two PII 400 dual 128MB RAM boxes for total $2500 in 8/1999.
Your milege might vary, especially if you spent $10000 or $100000 on your boxes. But I bet, your MFLOP/buck rate is even lower.
Re:Free as in CoverDisk? (Score:2)
Surprisingly, no - I would be more likely to be accused of jumping on the "!GPL==BAD" Bandwaggon, recently aggravated by the Sun Community Licence and their recent aboutface, taking someone else's work, rebranding it as their own (or not acknowledging the originators, which amounts to the same thing) and suddenly starting charging for the right to call your compiler "Java".
If you are, you'll get branded offtopic or overrated. :+)
Hmm. I am seldom offtopic, but fairly often overrated
But you're right: it's not free, and this is a problem. :+) and the fact that fortran, despite it's huge legacy codebase, and that it is ideally suited for certain tasks, is very much a fringe language in the *nix environment.
Not so much a problem as initially misleading - It *is* a step up from nothing, and a useful time-unlimited "trial" package if you wish to evaluate this package, but given it's very narrow field (Linux on Dec Alpha! how many people HAVE a spare dec Alpha, never mind one runnning Linux? Possibly a discarded NT box now that MS have dropped NT4Alpha like a hot stone
--
Re:For Alpha But Not Intel? (Score:1)
There's a group of engineers that work up in Nashua, NH that live and breath compilers and compiler technology. You are getting the fruits of their labour for nothing.
FSL bid required Fortran (Score:1)
My employer would never have won the $15 million FSL bid
(see this press release [noaa.gov]) without a good Fortran 95 compiler.
Most people who don't use fortran don't think that anyone uses Fortran. They are mistaken.
Re:Speaking of disappointing... (Score:1)
NO.. it wouldn't exist.
Soo.. it's not just a "convenience" to have a free compiler. In some cases it is necessary. Other's it doesn't matter.
But let me add that as a personal/application compiler - go for it. I happen to use ccc myself. It's freaking fast and wonderfully STRICT! I'm not a f77 guy.. but thhis compiler is freaking fast.
One noteable feature in ccc is that they are trying to make the cmdline switches to ccc compatable with gcc. Ofcourse.. ladebug still sucks rocks. Nowhere near gdb standards.
Pan
Re:Fortran still has its place! (Score:2)
Re:Who cares? (Score:1)
C will never be as quick on some numerical problems, because the language hobbles the compiler in certain respects.
C++ might (see blitz++, etc.) but only by taking those decisions away from the complier and making them explicit (via templates, or whatever).
There are lot's of reasons one might want to ditch FORTRAN (from a comp sci. point of view) but there aren't any really good contenders there yet. That doesn't even bring up the F95 sucks/sucks not debate
You seem to be extrapolating from a problem domain you understand to one that you don't...always a mistake.
S.
Re:BASIC still in use! (Score:1)
S.
It's good news - although the license sucks (Score:3)
Free-but-not-free license is disappointing, but what else can you expect from a company like Compaq.
??? (Score:4)
(FWIW, I've used the Digital C compiler for Linux, and it produces excellent code - better, in most cases, than gcc.)
g77 (Score:1)
on it, and its status is in limbo. In any case,
g77 isn't very close to fortran-90 compatibility.
OTOH, I find it hard to imagine that too many ppl
on Linux/Alpha have a big use for fortran anyhow..
Re:It's good news - although the license sucks (Score:1)
And believe me, a lot more than a "couple" of scientists use Fortran for data analysis.
Re:g77 (Score:4)
OTOH, I find it hard to imagine that too many ppl on Linux/Alpha have a big use for fortran anyhow..
You have got to be kidding. An awful lot of scientific applications are written in Fortran for two reasons:
1: Many scientists started using Fortran a long time ago, and they can't be bothered switching now (not to mention all that legacy software they've stocked up).
2: The floating-point math libraries for Fortran on the Alpha are way faster than just about any other language on any desktop platform, period.
If Fortran wasn't available for Alpha, the architecture would have most likely sunk into obscurity a long time ago.
Fortran still in use (Score:4)
Freshman year, my advising seminar involved developing a method for modeling sail boats. We were given a spec file and implemented some algorithms to scale the boat, apply wind, etc. We wrote some code, and used some code that the professor developed years earlier. The language in use? Fortran-77. Developing that on our Sun Workstations was a travesty.
Fortran is STILL heavily used in academic circles because the code already exists. My friend, when interviewing for an on campus job doing mathematical modeling, was asked if he knew Fortran. He convinced the guy to let him do it in C++, but some professors would insist on Fortran.
From my experience, for doing scientific analysis, Fortran is fine. Fortran, C, PASCAL, BASIC, it really doesn't matter, the structured languages are all almost identical with slightly different syntax.
While object oriented techniques make sense for real software development, if you merely want to run a particular algorithm on a lot of data points, any structured language will do.
Older researchers learned Fortran and probably never moved to the newer languages. Fortran is really clean, and if your existing code is in Fortran, why migrate to a newer language. While I haven't read the newer Fortran specs, I believe they implement much of the functionality of other structured languages (although I'm assuming no real memory control).
Fortran makes it VERY easy to develop robust applications for number crunching without any risk of memory leaks, etc. Additionally, groups may already have thousands of lines of code already written and just need to write a bunch of 15-20 line applications utilizing them to do different forms of analysis.
Fortran on the Alpha under Linux may be the "killer app" to move Linux into acadamia. I don't mean in the school's IT departments, but into research departments. For departments that need to process a LOT of data points, allowing students to develop code at home or on public workstations and then run the massive calculations on their Alpha machines may be a real cost and time saver.
If Compaq gets the rest of their compilers in line, then Linux/Alpha may become huge.
Your statement that:
I find it hard to imagine that too many ppl on Linux/Alpha have a big use for fortran anyhow..
is kinda silly. Outside of home users, people don't buy a system and then find a use. People have a need and pick the best platform.
If you have a lot of existing Fortran code and want to utilize it for new processes and do massive calculations, you pick the best platform available. If current computing capabilities fit your need, you use them. If you need a newer machine to process all the data, you buy a new machine. If the Alpha platform under Linux is the best platform and you have a lot of Fortran to process, I can bet that you'll be buying a new Alpha machine running Linux.
Alex
Fortran, the trusty hammer (Score:2)
The big bugbear is that Matlab compilers still don't optimise themselves very well for modern architectures with cache and/or hierarchical memory. If you're interested in the nitty gritty details of cache-line control and low-level latency then hand-tuned Fortran still has a place. As the Alpha processor has the highest raw floating point performane, it is a favorite of many academic and scientific grunt workstations. And if worst comes to worst, you can use the heat it generates as a coffee warmer
LL
Re:Fortran, the trusty hammer (Score:2)
BTW, there's a big difference between in saying that libraries in C++ can be just as good as those in Fortran, and actually providing libraries that are faster than those in Fortran. I've yet to see any compiler/library combination on Alpha that improves on the performance of Digital's Fortran.
Re:Fortran, the trusty hammer (Score:1)
This is exactly the point. You can't just take the existing Fortran code and convert it to C++. Besides, CPU cycles are cheap now if you do game engines, but in the REAL WORD (tm), if you design let's say an engine, it doesn't have to look nice and feel godd, it has to WORK as good as possible and it has to be designed as fast as possible as cheap as possible. If you do your simulation in 2 hours instead of 6 hours, and you do thousands of them in the design cycle, $400 for a compiler is peanuts.
Re:Fortran still in use (Score:2)
Heh. I just bought a Digital 600MHz Alpha 21164 PWS secondhand (but in spotless condition) for around $US1600. It'll kick a PII/400's ass for FP any day.
Fortran still has its place! (Score:2)
This is nonsense. FORTRAN ist still in use, because it is the fastest compiled HLL (often much faster than C) and it is much easier to write fast numerical cores in FORTRAN than in C/C++.
I spend days debugging code, since prototyping does not exist and subroutine calling sequence did not match after some changes.
I think its more like you spend days with debugging because you didn't get your code right in the first place. Don't blame FORTRAN for your sloppy programming.
I do not look back on the times, I was programming FORTRAN. FORTRAN is not clean and nice. It is dirty, has lots of memory problems, since FORTRAN does only know pointers in calling sequences and therefore the subroutine has no change to check consistency of the arguments.
Let me suggest the following practice: Write your numerical cores in FORTRAN, and use C/C++ or whatever for data structure handling and everything else. It really pays off, especially if you consider the pricy high end hardware and the fact that it is relatively easy to write FORTRAN code wich is 20% faster than its 1:1 C counterpart (20% is a difference in number crunching).
And C as well. (Score:4)
--
It's October 6th. Where's W2K? Over the horizon again, eh?
Re:A new, Fortran-written UNIX (Score:2)
An OS doesn't need these features, it needs direct memory access and code that is easier to follow than FORTRAN. Writing an SMP, threaded OS in FORTRAN would be about as easy as writing it in BASIC. Parallelization of FORTRAN != Good SMP OS Language.
Re:Offtopic? WTF? (Score:2)
Re:Who cares? (Score:2)
Here are two references:
BASIC still in use! (Score:1)
The largest computer company in the world began
by selling BASIC for the Altair. Its best selling language and InterNet strategy is a descendent of BASIC.
Re:For Alpha But Not Intel? (Score:1)
> Intel.
Huh? This is a port of the UNIX/VMS compiler. No "Intel" version exists.
> I use it on the Intel platform and found it to
> be a solid product.
Use
--
Re:Offtopic? WTF? (Score:1)
I've used this compliler extensively, and the output is as fast as the TRU64 compiler. The EV4 doesn't have super-advanced pipelining, etc like the later chips, but the compiler still turns out some great binaries.
--
Re:Mutia? (Score:1)
It does run Compaq's C compiler, so I suppose it runs the Fortran one too. Certainly they seem to state this.
Boy I fell Old! (Score:2)
if its an ancient language, and I think of it as
that new version, that I have'nt got around to
trying yet. I hope to get a chance to use this
new f95. Maybe next year.
P.S. I Original learned FORTRAN IV in 1974, when I
was 14. Had to use a keypunch and submit cards!
And some say change isn't good. Object oriented
FORTRAN -too cool.
Re:For Alpha But Not Intel? (Score:1)
Re:For Alpha But Not Intel? (Score:1)
I use the Compaq Visual Fortran (for Windows) a fair amount at work and I found it to be a solid product.
That is all I was trying to say.
Re:BASIC still in use! (Score:1)
"largest computer company in the world began by selling BASIC for the Altair."
Wow.. I always thought that IBM got started building manual calculators for the Census Bureau..
You much be refering to the largest SOFTWARE company. And low and behold.. that version of BASIC was umm.. borrowed from UMICH. I guess they didn't have the GPL then.. huh? Or did Lady Lovelace get that from rms?
Pan
Re:BASIC still in use! (Score:1)
Re:Speaking of disappointing... (Score:1)
Gcc was conceived from the start as a Free(tm) compiler to run on commodity hardware.
This one wasn't. For each purpose there is a license.
Re:And C as well. (Score:1)
The C compiler has been available for quite a while now. I think they just tacked it on to the end of the press release as an afterthought, rather than as a new announcement.
Alternative compilers. (Score:2)
Your subject line won't win you much karma, but yeah, it's amazing how many people seem to think that 'their' language is the only one in general use.
I was offended a few weeks ago when some accountant got laughed at for wanting Cobol for Linux. I never touch the stuff myself, but it's out there and people rely on it.
IMO there's not much excuse for not broadening your horizons, when there are so many compilers and other utilities out there for free. Try an alternative language today.
--
It's October 6th. Where's W2K? Over the horizon again, eh?
Re:Fortran still in use (Score:2)
Well.. numerical simulations are getting larger all the time, and structuring the code and enabling evolution and replacement of components is becoming more and more important.
Although I've never used Fortran, one associate professor [ifi.uio.no] I've talked to, claimed that Fortan was unsuitable because of this.
Believe me; there's more to numerical simulation (and visualization) than to run a particular algorithm on a lot of data points.
I took a course in numerical simulation and visualization last semester, and we used C++ with Diffpack [nobjects.no] and VTK [kitware.com], and although many students did not take advantage of C++ by programming OO, I did it to keep my sanity.. and it paid off. Big time.
For Alpha But Not Intel? (Score:1)
Re:Alternative compilers. (Score:2)
I believe Alan Cox put together the remnants of a DOS COBOL compiler into a package that would run on Linux (try looking in ftp://ftp.linux.org.uk/pub/linux/alan/ Cobol/ [linux.org.uk].
Wow! Where to I buy? (Score:1)
It's exactly this kind of forward thinking that's going to leave Microsoft in the dust.
Questions (Score:1)
Does it work with GDB, or just ladebug?
Is its loader compatible with existing static and shared libraries?
Speaking of disappointing... (Score:3)
Fortran itself has quite a limited number of serious users
Ummm...no. A huge number of serious scientific and engineering simulations are coded in Fortran. It is a fairly low-level language that has unmatched capabilities for optimization and parallelization.
For God's sake, take a look at O'Reilly's High Performance Computing" [oreilly.com]
And don't whine about the license.
1. Compiler optimiztions are very much tied to the architecture, so it's not surprising that the best compiler writers for a high-end RISC platform are indeed employed by same company. In this case, it's "a company like Compaq". The old Digital would have been no different.
2. If a 10% increase in hardware speed costs $10,000, then $400 for a compiler is nothing, even if the executable is only 10% faster than that of g77. And Lo and Behold, it runs on Linux, not the costly, closed-source Tru64 UNIX!
Christ, what a bargain!
Re:Alternative compilers. (Score:1)
I will take a look
I dont give a damn about karma I just hate people that dont bother to learn anything from there history and follow the latest fad.
Fortran 90/95 (Score:4)
1) Fortran 95 is structured.
2) Fortran 95 has abstract data types (called modules). But certainly it is not OO (lacks inheritance). Oh, it has overloading too.
3) Fortran 95 has cool matrixes that are, in a certain sense, close to Matlab matrixes. For exemple the code
A(:,3) = 1 + 2*A(:,4)
changes the second column of the matrix A to 1 plus two times the forth column. Of course this serves as a good hint to the compiler that the implicit loop above can be done in parallel.
4) Fotran 95 was designed with efficiency in mind. A good exemple is the distiction between allocatable arrays and regular pointers, so that you can have dynamic allocation with a better control of aliasing.
6) Fortran 95 is usually faster than C/C++. There is some effort to change this (see Blitz++ library or the MTL, for information http://www.oonumerics.org).
7) The main disadvantage of Fortran 95 for a scientific linux user is the lack of free (as in freedom compilers). g77 only implements FORTRAN 77 (plus some extensions), it is not a Fortran 95 compiler.
Hope that helps.
Paulo.
A very simple question (Score:1)
Re:Who cares? (Score:1)
Re:Fortran still in use (Score:1)
F95 compilers will compile old f77 code because f77 is basically a subset of f95. And many people (obviously including yourself until 3 years ago) still code in f77 for various reasons: comfort with the language, maintenance of large codes already in f77 (although there are ways to mix the old and new stuff).
Sometimes its purely from prejudice. In a high visibility project that I better not name, I've been required to use about anything except for f90/f95 - for no coherent reason. Anything else is ok. F77 is fine. F77 extensions are fine (as long as I don't point them out as f90 features). Various autocoders are fine. As best as I can tell, if I used the NAG f90 compiler to translate my f90 code into C, I could claim that it was a C auto-coder and all would be fine...as long as I didn't reveal that the name of the autocoder was f90.
And, for some relevance to slashdot, sometimes its because of such things as free compiler availability.
But "real" f90/f95 is a very different language in many ways from the f77 that you are obviously familliar with. Don't judge f95 based on experience with its 20+ year old predecessor.
It seems to be a common theme - to critique Fortran based on f77 not having lots of more modern features, but then to discount the modern versions of Fortran as not being f77 and therefore not counting.
I use Fortran (a modern version) preferentially in most of my coding. Why? Not because of speed, but because I find it far more productive of my time compared to any alternative I've tried. Yes, that includes C/C++. It also includes f77. Others obviously have different priorities, and some others also have different experience in what language they are most productive in. These things do vary.
To summarize. I advise against making judgements about modern Fortran if you haven't actually used it....or just because its not the operating system that "everybody" uses....Um. I mean language. How did "operating system" slip in there. There couldn't possibly be any similarities in the issues, could there?
Try blitz...(fast C++) (Score:2)
is a superb library, and free too.
Actually, real world physics in game engines
is extremely CPU-time sensitive. Assembly is
still necessary for bits and bobs.
Now if you've got lots of legacy code and stuff,
then you're right - stick with Fortran.
(Yo Dud3, use Java hahahahaha).
Re:Who cares? (Score:2)
I've approached C from the perspective of being well-versed in FORTRAN, and frankly nothing about C jumps out at me and makes me say, "Gee, this is much better than FORTRAN." I see the differences, but none of them strike me as one being far superior to the other; it is all in what you're trying to do. Anything I need to do with pointers in C I easily do with common blocks in FORTRAN. I actually prefer how FORTRAN handles variables by address instead of value, but that is probably just a matter of taste.
I haven't used g77 because now I use Linux at home and Unix at work and there isn't much code on *nix systems that isn't written in C/C++ or one of the scripting languages. But to say that FORTRAN is outdated or bad because not many public applications are written in it is like saying that Unix/Linux/etc. are bad operating systems because most people use Windows.
I have spent the better part of the '90s programming FORTRAN on a DEC Alpha, and I can say that the compiler is very nice and fast, and the help files are excellent. I just hope Compaq maintains these standards.
Re:Questions (Score:1)
shared libraries, but apparently ladebug works better than gdb for
the fortran compiler. The C compiler is fairly gcc-compatible
and compiles 70% of the RPM's in Red Hat's distribution without
problem, according to the docs.
Re:Questions (Score:1)
existing shared libraries, but apparently ladebug works
better than gdb for the fortran compiler. The C
compiler is fairly gcc-compatible and compiles 70% of
the RPM's in Red Hat's distribution without problem,
according to the docs.
Re:g77 (Score:1)
I tuned some Finite Element code. starting at about 50 MFLOPS, I got up to 350 MFLOPS (on a 500MHz 21164) by tuning the C code. gcc went up to about 150 MFLOPS. With Fortran you don't need that tuning.
And now tell me how many scientific applications don't need some kind of vectors...
- Alex
Free as in CoverDisk? (Score:2)
That said, it *could* be of use to students to test any Fortran code they were developing at home - assuming they had a handy Dec Alpha box at home of course, as this is for ALPHA linux, not Intel.....
--