Sign in with
Sign up | Sign in
Your question
Closed

where can i get the answer?

Last response: in CPUs
Share
March 17, 2003 11:14:19 PM

i wanna build a PC, and have some questions, but i dont't know which board can i use.

i have a Fortran program, console mode, used for numerical calculation. it was estimated that the program would take 6 or 7 days to complete the whole computation on PC. i think it's too long. if build a PC, i should use what components to spare the time? or i should pay attentions to where?

thank you for help.

More about : answer

March 17, 2003 11:34:32 PM

What sort of calculations would that be? Floating-point intensive, right?

6 to 7 days on what machine?

I´m not sure of how optimized fortran compilers are for P4s or Athlons. My first guess would be that they´re P4-optimized (note: Intel gives away some fortran compilers, so...), which makes 533Mhz FSB - Pentium4s an excellent choice (a fast bus will probably do nicely if you need lots of memory as well).

Oh, and if you need 1GB or less of system memory, RDRAM is still the best performer. If you need more, and want excellent memory performance, you could wait for dual-DDR400 and 800Mhz, which is due in a month or so, and should offer up to 4GB of system memory :eek:  .
March 17, 2003 11:37:56 PM

This has to be a joke.......Fortran....
Related resources
March 17, 2003 11:57:27 PM

Yes, it´s old indeed, but I´ve seen a surprising number of people still using it. Can´t really figure out why, though. But I won´t argue with them. Sounds like old school or something to me.
March 18, 2003 12:12:24 AM

the machine i mentioned is P4 2.4G,512M DDR 333,Maxtor Diamondmax Plus9 120G,845PE chip.

and the compiler is Visual Fortran 5.0 . my program is mainly used for calculating marine environment. in my opinion it's the best language for numerical calculation, isn't it?
March 18, 2003 12:26:26 AM

If it is floating point intensive then you definently need an Athlon. The P4 sucks for floating point work. An Athlon 2800 T-Bred (NOT BARTON) with an A7N8X mobo should make a big improvement over the P4.
AREA_51

'It's only when you look at an ant through a magnifying glass on a sunny day that you realise how often they burst into flames'
March 18, 2003 12:36:39 AM

Not quite that easy. With P4-optimizations (read: SSE2 instructions) many floating-point-intensive programs actually perform better with Intel processors. The <i>huge</i> floating-point advantage AMD once had isn´t quite there anymore. That´s why compilers should be written for specific processors.
March 18, 2003 12:45:25 AM

Yes with a floating point operation that is highly dependent on memory bandwidth and specificaly optimised for the P4 at the same time. But that is all. The avarage FPU intensive software is NOT optimised specificaly for the P4 anyway. That is the problem and the reason why AMD is still the best if anyone needs to do any intensive FPU work. And from what someone else said on this thread fortran is very old and I would think it highly unlikely that the proggy that vitrfan is using is p4 optimised. But we can ask him if he knows. But I am guessing at a no.
AREA_51

'It's only when you look at an ant through a magnifying glass on a sunny day that you realise how often they burst into flames'
March 18, 2003 1:08:14 AM

I thought that it is conceivable that the compilers provided by intel are p4-optimised. I don´t know about that, though.

It was me who said fortran is old, not someone else.
Doesn´t mean new compilers haven´t been around, though.

I think you´re being overly generous with the Athlon. It has a very strong FPU performance indeed, but you don´t need an operation that is <i>highly dependent on memory bandwidth</i> to level the situation. In that case, the P4 certainly beats the Athlon. And SSE2-specific code is really not as hard to come by anymore, but it still is somewhat of a requirement for Athlon´s powerful FPU performance not to gain ground on the P4.
March 18, 2003 2:04:25 AM

Ok so it was you that said fortran was old. I knew someone said it but I had forgotten who. Sorry bout that. But anyway I never said that the compilers provided by intel didnt give the P4 any help. I said the direct opposite. I said it was only the intel compilers that gave the P4 any chance at all of besting the Athlon. You seem to be overestimating the FPU performance of the P4 with unoptimised and also optimised code. I have seen FPU benchmarks with P4 optimised code run on an Athlon and also a P4. With FPU work that is mempory bandwidth dependent the P4 easily won with the optimised code. But when the job wasnt memory bandwidth dependent and all the data could be kept in the CPU cache the Athlon managed to hold its own with the P4 optimised code. It didnt beat the P4 by a lot but it still beat it. But anyway why dont we find out is vitrfan`s code is P4 optimised or not. Then we can all make a more informed decision.
AREA_51

'It's only when you look at an ant through a magnifying glass on a sunny day that you realise how often they burst into flames'
March 18, 2003 2:54:37 PM

I think you are both splitting hairs for his app. Either will work. How much money do you want to spend.
March 18, 2003 3:56:29 PM

Geeze. It's been a long time since I've worked with (or even seen) FORTRAN. vitrfan, FORTRAN <i>is</i> the best language for complex numerical calculations. The thing is, most people don't really use FORTRAN to it's full potential, so in the vast majority of cases C++ is just as good. The real question is: Are you using any FORTRAN-specific features that wouldn't port to C++? If not, then you're gaining nothing by using FORTRAN.

That aside, there's still nothing <i>wrong</i> with using FORTRAN. (Especially for console applications.) I'm just saying that there might be no actual advantage to using it over using C++. But that's why I personally haven't worked in FORTRAN in almost five years, because C++ was just as good for the ways in which I was using it.

Now, on to performance. I'm assuming that by Visual FORTRAN 5.0, you mean DIGITAL's flavor, since to my knowledge 5.0 was the point when Microsoft sold the Visual FORTRAN line to DIGITAL. (Which is why DIGITAL Visual FORTRAN plugged in so nicely into Microsoft's Developer Studio.) Visual FORTRAN is actually a twisted tale since MS started its development, but then sold it to DIGITAL. DIGITAL got bought out by Compaq, who in turn merged with HP. So now I'm guessing (and I could be wrong) that if new versions of Visual FORTRAN are still worked on, it's probably under Compaq's name, but only available through HP. Nasty, huh?

Anywho, at the time that DIGITAL Visual FORTRAN 5.0 was released I'm not even sure if that compiler supported MMX instructions. I don't think that it did, but I could be wrong. I'm pretty sure that it didn't support SSE1 yet though, and it <i>definately</i> didn't support SSE2. So if you're on 5.0 then you're definately without SSE2.

So that means that on a Pentium 4 the code will run especially bad. Intel made the P4 with truly awful floating-point performance, relying upon SSE2 optimizations to make up for that. So with an old compiler that doesn't support SSE2, software that is very floating-point intensive will run very poorly on a Pentium 4. Thus in your case an Athlon would be a <i>much</i> better performer <i>if</i> your mathematical equations are heavily based on floating point calculations.

This is also where a recent Intel C++ compiler could be a big advantage over FORTRAN, as it'll allow for MMX, SSE1, and SSE2 optimization. If you're lucky, there will be some sort of 6.??? version of Visual FORTRAN that plugs into Visual Studio 6 and supports optimizations for a Pentium 4. I can't promise that such a beast exists, but if it does, you'll probably have to search for it on HP's website.

Also a quick warning, if you <i>do</i> have a version from Microsoft and not from DIGITAL, then you should try to upgrade. Microsoft's versions had a number of compiler bugs (including a nasty floating-point division by zero doozy) that DIGITAL fixed.

So to conclude, chances are high that your code will run a <i>lot</i> better either by switching to a newer compiler and optimizing the code for a Pentium 4, or by picking up a powerful Athlon system because Athlon's run unoptimized code very well.

And of course the obvious question is: How well have you actually optimized your code? No matter what language you're working in, there are always tricks for making code faster. You just have to find and use them. :) 

<font color=blue><pre>If you don't give me accurate and complete system specs
then I can't give you an accurate and complete answer.</pre><p></font color=blue>
March 20, 2003 12:20:05 AM

here is the little beast everyone was talking about... it´s an Intel compiler that is optimised for technologies even as new as Hyperthreading... Should interest you, take a look. It´s <A HREF="http://www.intel.co.jp/software/products/compilers/fwin..." target="_new"> Intel® Fortran Compiler 7.0 for Microsoft Windows</A> and should perform very well on - guess what - Intel-based systems. Tell me what you think! :smile: Try it out on your program, if it wasn´t SSE2-optimised, you should get a boost!

Personally, I´ll be working with old code written in Fortran because people at my University still use it now. I´d prefer C++ or something, but, well... Won´t argue with my teacher. So I hope this fortran compiler rocks in performance...

I hope vitrfan is still around...
!