Slashdot Mirror


Compaq Fortran for Linux Alpha Released

stevel wrote to us with the news that Compaq has announced Version 1.0 of Compaq Fortran for Linux Alpha systems. The compiler is the same as the one that is used on Tru64 Unix, OpenVMS, and Windows. Click below for more details from Compaq.

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.

27 of 92 comments (clear)

  1. FORTRAN CGI by ajs · · Score: 2

    A friend of mine is, as far as I can tell, the first person to have ever written a CGI program (Common Gateway Interface, not Computer Graphics Images) in pure FORTRAN. He's an astronomer (who reads Slashdot and may follow up with details), and used it for some very cool plots of the sky....

    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 ;-)

  2. Re:It would be helpful if... by rsilva · · Score: 3

    When one says that Fortran is faster than C/C++ one means that if you have two versions of the same program, one written in Fortran and the other in C/C++ then the fastest executable will be likely the compiled Fortran version.

    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.

  3. Re:For Alpha But Not Intel? by stevel · · Score: 4
    There's nothing preventing us from releasing a compiler on Linux Intel, other than finding the time and resources to do so. However, the motivation for doing the Alpha compiler was to promote Alpha hardware sales, so that's what we did. An Intel compiler would have an entirely different business case to be made for it. (Yes, Compaq sells Intel boxes too, but that side of the company doesn't seem interested in Fortran.)

    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

  4. Re:Questions by stevel · · Score: 2
    Our compilers do not use gas - they compile directly to ELF object code. They do work with gdb, but for Fortran in particular, you'd be happier with ladebug.

    Steve Lionel

  5. Re:Free as in CoverDisk? by DaveHowe · · Score: 2
    You're a brave man. You aren't allowed to question this.
    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.
    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 :+) 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.
    --

    --
    -=DaveHowe=-
  6. Re:Fortran still has its place! by CaptainCarrot · · Score: 2

    This is almost exactly what we do in my shop. I work on a system for realtime telemetry processing. We have an enormous amount of legacy Fortran code. As things have evolved over the years, the core Fortran routines have remained relatively stable. New code tends to be written in C as a wrapper around the Fortran. I have, for example, developed Motif interfaces to replace our old command line and SMG (the proprietary DEC equivalent of curses) interfaces. All the old Fortran was accessed through callbacks from Motif written in C.

    --
    And the brethren went away edified.
  7. It's good news - although the license sucks by vndr · · Score: 3
    Truly commercial-quality Fortran for Linux is definitely good news - despite the fact that Fortran itself has quite a limited number of serious users (a couple of scientists with alphas, not quite a blockbuster) it certainly carries a PR value you cannot just ignore.

    Free-but-not-free license is disappointing, but what else can you expect from a company like Compaq.

  8. ??? by BJH · · Score: 4

    IIRC, this has actually been available for quite a while in beta form. This is, however, good news - the Digital (I can't bear to call it Compaq) Alpha compiler for Fortran produces code that is anywhere up to 2-3 times as fast as g77 (currently, that is. I'm sure g77 will get better). Anybody doing scientific work on an Alpha under Linux (and, let's face it, most people that have Alphas use them specifically because they're good at scientific work) can benefit from this.

    (FWIW, I've used the Digital C compiler for Linux, and it produces excellent code - better, in most cases, than gcc.)

  9. Re:g77 by BJH · · 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.

  10. Fortran still in use by alexhmit01 · · 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

    1. Re:Fortran still in use by BJH · · 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.

    2. Re:Fortran still in use by vr · · Score: 2

      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.

      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 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 and VTK, 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.

  11. Fortran, the trusty hammer by LL · · Score: 2

    Fortran still has its strengths and with the new extensions (OpenMP, OO traits) can still be used. However, for teaching purposes, I would hazard that people would prefer coding in higher level languages such as MatLab. Sure Fortran may be that trusty comfortable hammer but when you've got an automated nailgun handy, it makes sense to shoot yourself in the foot faster :-). CPU cycles are getting cheaper whereas human development time is not. Debugging old style Fortran is still a pain even though it doesn't have the pointer aliasing problems of C. Also people at TriLabs have found that with the right approach, numerical libraries written in C++ can be just as good as Fortran. If you look at areas where some heavy number crunching is used, for example real-world physics in game engines, I suspect that C++ would predominate. Hence Fortran will still cruise on like the mainstay Cobol but the use of other languages (like Java and Python) will start to draw attention, especially to utilise commercial development environments.

    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

    1. Re:Fortran, the trusty hammer by BJH · · Score: 2

      If you think that real-world physics in game engines is "heavy number-crunching", then please, write your software in C++.

      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.

  12. Fortran still has its place! by k00ld00d · · Score: 2
    Fortran is still in use, but only because lots of people believe, it is cheaper (time wise) to fix existing code than make a paradigm shift.

    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).

  13. And C as well. by Black+Parrot · · Score: 4

    At least that what the notice quoted at Linux Today says.

    --
    It's October 6th. Where's W2K? Over the horizon again, eh?

    --
    Sheesh, evil *and* a jerk. -- Jade
  14. Re:A new, Fortran-written UNIX by volsung · · Score: 2
    Um, sure, except for the fact that it would be nearly impossible. (Excuse me while I go into language bigot mode) Frankly, I think FORTRAN is ugly and hard to work with. Maybe I just didn't use it enough to grok it, but after a semester of writing programs in it, my only though was: "This is annoying in the extreme." However, people put up with FORTRAN's ugliness because it has features that make compiler optimization really fast, especially when you are doing mathematical operations on vectors and matrices. (I wish someone would explain the aliasing thing.)

    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.

  15. Re:Offtopic? WTF? by BJH · · Score: 2

    Yes, it will work on a Multia, but you'll lose most of the benefits of its code optimizations; a Multia is an EV4 Alpha (a 21066?), whereas the compiler's optimizations (especially math optimizations) are written to perform best on EV56 / EV6.

  16. Re:Who cares? by Tom+Christiansen · · Score: 2
    do you understand the problem of address aliasing and how it affects what code optimizations can and cannot be done by a compiler? People that use FORTRAN do so for a reason.
    It's remarkable what kind of thing a truly good Fortran compiler can do. For example, a really good one can even detect subtly illegal code due to overlapping arrays.

    Here are two references:

    • http://www.hpcc.gov/pubs/tech_transfer.html
      In November 1990, CONVEX Computer Corp. announced its new applications compiler, giving substantial credit to the compiler group at Rice for ideas underlying the system. The Convex applications compiler analyzes and transforms whole programs to eliminate errors and improve execution efficiency. The underlying implementation technology, called "interprocedural analysis and optimization," was first implemented in a practical compilation system in the ParaScope programming environment by researchers at Rice.
    • http://suif.stanford.edu/papers/mhall95a/node20.ht ml
      A few commercial parallelizing compilers have initial interprocedural analysis systems. Most notably, the Convex Applications Compiler performs flow-insensitive array analysis and interprocedural constant propagation and obtains some path-specific information through inlining and procedure cloning Applied Parallel Research has demonstrated good speedup results on some of the programs presented here; these programs were parallelized with programmer directives that instruct the compiler to ignore dependences and to privatize certain variables. We know of no commercial system that currently employs any flow-sensitive array analysis, particularly interprocedural array privatization.
  17. Boy I fell Old! by B.B.Wolf · · Score: 2

    All the posting kiddies talking about FORTRAN77 as
    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.

  18. Alternative compilers. by Black+Parrot · · Score: 2

    > its going to be funny in 10 years when there will be c++ and java news and the new lang and OS supporters will say "So fucking What"

    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?

    --
    Sheesh, evil *and* a jerk. -- Jade
    1. Re:Alternative compilers. by BJH · · 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/.

  19. Speaking of disappointing... by Johnboy · · Score: 3

    Are the Open Source zealouts at it again?

    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"

    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!

    --
    -- Liquor up front, poker in the rear.
  20. Fortran 90/95 by rsilva · · Score: 4

    Unfortunately it seems that most slashdot readers don't know much about the new Fortran standard (Fortran 95) and keep on saying that Fortran is an old language, etc. I will try to point out some things:

    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.

  21. Try blitz...(fast C++) by joss · · Score: 2

    http://oonumerics.org/blitz/

    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).

    --
    http://rareformnewmedia.com/
  22. Re:Who cares? by hubie · · Score: 2
    I hear a lot (mostly from C programmers) that FORTRAN is a lousy language, but I never hear much beyond that statement to back it up. I'm not even sure why people say it is an ugly language. The function calls are natural (if you're not sure the exact name of a function, you can pretty easily guess it), and simply not having semi-colons all over the place even makes the code asthetically more pleasing then other languages.

    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.

  23. Free as in CoverDisk? by DaveHowe · · Score: 2

    I am not particularly enthused by the licence on this one - it matches the licence commonly found on "get $$$ of sofware free with this magazine" copies of commercial software - It explicitly forbids any commercial use, or any non-commercial institutions (such as charities), and the licence is to an individual and can be withdrawn at 30-day's notice for no reason other than they would like you to buy a licence from them.
    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.....
    --

    --
    -=DaveHowe=-