Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

upgrade from CVF 6.6

warrenhodder
Beginner
1,031 Views
Is there an upgrade available from Compaq VF 6.6 to the latest Intel? Thanks for any assistance.

0 Kudos
13 Replies
kooka
Beginner
1,031 Views
Im afraid there isn't, you must have Intel Visual fortran
0 Kudos
warrenhodder
Beginner
1,031 Views
Thanks for that.

If I developed a project with 64 bit extensions would it run on all Xeon and all Core processors? In other words, can Core run everything that Xeon runs? Is there logically a difference between these two? Or it just performance?
0 Kudos
Steven_L_Intel1
Employee
1,031 Views
Intel processor branding is unfortunately not that consistent. First of all, a 64-bit application will require BOTH a 64-bit capable processor AND a 64-bit OS (such as Windows Vista x64). Even if the processor is 64-bit capable, if you run a 32-bit OS you cannot run 64-bit applications.

Intel has applied the Xeon name to a wide variety of processors, going back to the Pentium III line. You cannot assume that all Xeon-branded processors can run 64-bit applications. Certainly most that you will see in use nowadays can do so, if running a 64-bit OS, but you need to verify that. Xeon processors are server-oriented variants of other "desktop" processors. Today, they're based on Core 2 processors., but have been based on Pentium 4 and Pentium III in the past.

As for "Core", the original "Core Solo" and "Core Duo" processors are not 64-bit capable. The "Core 2" processors are all 64-bit capable, but again a 64-bit OS is required. To further the confusion, Intel just announced a new branding strategy for future processors, under the name "Core i7". Future processors labeled "Core" will be 64-bit capable, but not all past processors are.
0 Kudos
warrenhodder
Beginner
1,031 Views
Thanks for the help. I've just spent my first 2 hours ever looking at 64-Windows flavors. I hadn't really known about them.

If I'm only concerned with new 64-bit processors, say by buying equipment from Dell tomorrow -- with the Windows 64-bit OS pre-installed, then are all Core and Xeon logically equivalent? run the same EXE files? I'm looking to do integer*8 stuff.

Just curious, if you know, do Itanium Windows systems run DOS, Win16, and Win32 exe files under emulation? Does anyone sell Itanium workstations? It looks like HP sold a line at one point -- I found an old ZX2000 1.4GHz for sale.

0 Kudos
Steven_L_Intel1
Employee
1,031 Views
If you buy a system that has an "x64" version of Windows, it will run 64-bit executables including integer*8. There are some compiler options to use advanced instruction sets - if you use one of those, you need to be careful as to where you run the program or use the "automatic CPU dispatch" compiler feature to allow it to run anywhere.

DOS and Win16 applications will not run under Windows 64 (Itanium or x64). Win32 applications will.

Itanium workstations have not been sold for several years now. I can't imagine why you would want to buy one at this point.
0 Kudos
warrenhodder
Beginner
1,031 Views
Thanks for that response. After my 2 hours of wiki pages on x64 Windows and Intel chips I hadn't noticed that bit about DOS and Win16 -- maybe I should stick to NT on the Alpha? ;-)

For a memory bound application would the Xeon be better than the Core? Does it shovel bits faster?

0 Kudos
Steven_L_Intel1
Employee
1,031 Views
Typically you see Xeon processors used in dual-processor systems (with two or four cores per processor).. The newest Xeons have dual front-side buses that can improve memory traffic, but I would recommend a dual-Xeon system only if your application is multithreaded.

You can run a virtual PC environment that runs a 32-bit version of XP and you can run 16-bit and DOS applications in that.

Do you really have DOS applications you need to run?
0 Kudos
warrenhodder
Beginner
1,031 Views
I normally use Visual SlickEdit as my editor, but I have an old DOS based version of it that I've programmed with some unique scripts -- that's the only app that would be impossible to upgrade because it runs in a character based window.

I really don't think about whether some things are Win16 or Win32. Once I find a stable environment I stick to it. Windows 2000 is rather stable, so I've still got it. I'm now thinking of upgrading to XP.

0 Kudos
warrenhodder
Beginner
1,031 Views
Re the Itanium v Xeon/Core -- in a system where each cpu had, say, 4 cores, would the Intel Fortran compiler parallelize a dot product on the Itanium but not parallelize the dot product on the Xeon/Core? And if that's true, would the Itanium parallelization be essentially mooted by memory access for a long dot product?

0 Kudos
TimP
Honored Contributor III
1,031 Views
There is no Itanium quad core yet, although it should come on the market within a year. As mentioned previously, this hardly seems relevant in a thread about CVF. Itanium no longer is marketed as an efficient platform for technical applications which would require dot product computation.
Compilers don't distinguish between multi-core and multi-cpu in their support of parallelism.
If you mean OpenMP, that is the same for Itanium, Xeon, IBM Power, or any multi-cpu platform. OpenMP supports sum reduction operations, where a single sum is split across multiple threads, but it doesn't work automatically as an extension of dot product optimization on a single core. One advantage this reduction would have is that it doesn't have difficulty sharing cache lines among threads, as it should not be necessary to modify data in the shared cache lines.
Optimization of a dot product within a thread is similar for Itanium and Xeon, in that the sum is split into batches, typically 4 or 8 batches for Intel compilers on both platforms. The first, 9th, 17th, .... elements of the sum go in the first batch, the 2nd, 10th, 18th, in the second batch, and so on. At the end, the batches are added up. Nowadays, this is called "riffling." The optimization is enabled by options such as gfortran -ffast-math (not default) or ifort /fp:fast (default). The main practical difference between Xeon and Itanium is that Xeon vector dot product is available only for unity stride operands, while compilers for Itanium optimize dot product for any uniform stride. There was a time not so long ago when this might have influenced a choice between Itanium and Xeon, according to the requirements of an application. In the implementation, of course, it is different, with pipelining and software prefetch on Itanium, parallel SSE operations and hardware prefetch for Xeon. There is still a lack of unanimity about the optimum instruction sequence to combine the batched sums on Xeon, not that 5 cycles will be missed.
As to your point about memory performance, the lack of optimization of non-unity stride dot products on Xeon means that memory speed is not the major bottleneck. As there are read operations only, those typically consume half the memory bandwidth of writes, and the latest CPUs have eliminated cache line split penalties, the optimized unity stride dot products generally proceed quite fast within a single thread.
0 Kudos
warrenhodder
Beginner
1,031 Views
OK, I'm off Itanium then.

(Q1) Any guess as to how much improvement a multi-cpu version of a dot product would be with real*8 vector pairs of approximately 100 length? -- (Q2) with sequential pairs taken from a data set of about 80MB (400k pairs)?

0 Kudos
TimP
Honored Contributor III
1,031 Views
Dot product of length 100 can be optimized effectively to run on 1 thread. The way to gain from multiple cores would be to run an independent dot product on each thread. That arrangement is among the most effective for multi-core scaling. 8-way scaling should go even higher on current prototype hardware than on past production models.
0 Kudos
warrenhodder
Beginner
1,031 Views
Thanks for that info. Multi-thread here I come! :-)

0 Kudos
Reply