IVF vs CVF (speed)

IVF vs CVF (speed)

I've been comparing the execution speed of IVF vs CVF (6.6C or B).

It looks like IVF is nearly twice as slow as CVF for the same set of test files. (IVF -- 2 hours, CVF 1 hour).

Is this what others are seeing?

Linda

34 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I forgot to mention -- both are compiled "optimized for speed".

Linda

Several other things you "forgot to mention:" which CPU are you compiling for, and executing on, with each compiler. Which compiler version, what type of code. I might believe such a result, if you are running on PII or P-Pro, as ifort 8 has dropped the ability to optimize for them.

CVF - "blend", IVF - Pentium 4 (default "platforms" for both compilers)

Both are being executed on same platform, obviously. A Pentium 4 Mobile processor.

Most other compiler options have been matched as much as possible (IVF project was built from scratch, not from translating from CVF) though CVF has "debug - partial" and IVF has "debug - full" at the moment. I may try the IVF "maximize across project" though not sure that will help.

Size of exes: CVF ~ 12MB, IVF - ~60MB.

Linda

You said "optimize for speed," now you have debug options on. IVF doesn't pretend to give debug runtime performance competitive with CVF partial debug. It's not really very good with any options which prevent vectorization.

So, are there any debugging options that can be used with optimizations in IVF? When the inevitable crash happens, it's nice to have some idea though usually we bring those back to the development environment, when they occur for the users.

Linda

To answer your original question - no, that's NOT what most people see. Independent benchmarks for a variety of programs show that IVF tends to generate code 5 to 25% faster than CVF. Results vary, though - some tests IVF is twice is fast, others it is somewhat slower.

Half the speed is a very unusual case and I'd appreciate it if you would send us an example at Intel Premier Support. Please ask that it be assigned to Steve Lionel.

I'm not saying it's impossible, but it seems rather unlikely given what I, and our customers, have seen.

Steve - Intel Developer Support

Thanks, Steve, for the offer. Last time I tried to submit my whole project to the Developer Services (to find a bug in IVF), it was too big for them.And it's grown since them -- very difficult to "trim".

How I am "timing" these is to use the built-in "Elapsed Time" F90 procedure. As an example, I have one test file thatbuilt with CVF, is

4 min 16 sec.

the same test file, with IVF (max speed, debug "lines") (.exe size ~33MB) is

5 min 45 sec.

Conditions during the run (i.e. other programs running, machine being used) were the same (no other programs running, machine essentially dedicated to running that item).

I think you would need the full projects, yes? Not just the exe and inputs?

Linda

I should have added with IVF (max speed but full debug) that same file was 9 min 10 sec.

LKL

Yes, we would want to see the whole project. How big is it zipped?

If it is too big to attach, say so in the report and we can tell you how to put it in an FTP drop area

Steve - Intel Developer Support

Do you want both source and object in the zip file or just source, project files, and files to run with? It will probably be around 4MB zipped, maybe less, with the source files. Probably quite a bit more if I included the object folder.

Linda

Just what is needed to build and any data files - we can build it. 4MB should be no problem to attach to a case.

Steve - Intel Developer Support

I've put in the support request (258976) but I cannot get the zip file uploaded (it's only about 3MB as it turns out). I've tried about 4 times and will try again in a moment.

LKL

Linda,

If you don't manage to get it uploaded, I'll contact you tomorrow with an alternate method.

What happens when you try to upload through Premier Support?

Steve - Intel Developer Support

The little popup window appears (the one that says it will close when finished). At the bottom of the main web page (turned to the issue number), the bar progresses during the upload but at the end, nothing happens.

Sooner or later, the system times out I think.

Linda

Quoting - lklawrie

I've been comparing the execution speed of IVF vs CVF (6.6C or B).

It looks like IVF is nearly twice as slow as CVF for the same set of test files. (IVF -- 2 hours, CVF 1 hour).

Is this what others are seeing?

Linda

Quoting - pgalimutti

I have a problem something similar, maybe little serious. I've been using CVF in my Toshiba laptop which is a Intel P4 processor(2 gb ram, 80 gb hard disk and 32 bit). Now I've got a new HP desktop which is more advanced(8 gb ram, 500 gb hard disk and 64 bit). I am not sure if it is P4 , but its Intel Core2 Quad. Coming to the point, I use a massiveCFD codewhich has6568 lines . I ran the code in my laptop and the speed ispretty decent. Since CVF doesnt support 64 bit I've to buy IVF. As an initial test I ran asample which took more than 5 mins in my desktopwhereas ittakes less than a minute in my laptop. Thats just unbeleivable, I was shocked,it got on my nerves and very disappointing. My goal is to develop a more complicated CFD code on my desktop computerand get faster results (Iam aware of my limitations for not using parallel processors or super computers since my code will be just upto the point). Unfortunately this project can not be sent because this is a private code. At the most I can try sending a .exe file. Can somebody have an answer for this??

Quoting - lklawrie

I've been comparing the execution speed of IVF vs CVF (6.6C or B).

It looks like IVF is nearly twice as slow as CVF for the same set of test files. (IVF -- 2 hours, CVF 1 hour).

Is this what others are seeing?

Linda

Quoting - pgalimutti

I have a problem something similar, maybe little serious. I've been using CVF in my Toshiba laptop which is a Intel P4 processor(2 gb ram, 80 gb hard disk and 32 bit). Now I've got a new HP desktop which is more advanced(8 gb ram, 500 gb hard disk and 64 bit). I am not sure if it is P4 , but its Intel Core2 Quad. Coming to the point, I use a massive CFD code which ha about 6550 lines. It normally takes a minute or two to run on my laptop which has CVF 6.6. Since CVF doesnot support 64 bit I have to buy IVF 11.0 in my new desktop. Initially as a test I ran the same file and to my shock it took 5 mins to run the same code. That is really disappointing. This code was written in fortran 77 version. Is there a way to get around this?
Unfotuantely this is a private code and can not be transfered.

Peter

What compiler options are you using? Go to the Command Line property page and copy the options shown there then paste into a reply.

You are building a release configuration, yes?

It may well be that the performance is limited by something other than compiler optimization. If you have a dual-core system, look into the parallel processing options.

Steve - Intel Developer Support

Quoting - Steve Lionel (Intel)
What compiler options are you using? Go to the Command Line property page and copy the options shown there then paste into a reply.

You are building a release configuration, yes?

It may well be that the performance is limited by something other than compiler optimization. If you have a dual-core system, look into the parallel processing options.

Quoting - pgalimutti

Intel Visual Fortran Intel 64 Compiler Professional for applications runni
ng on Intel 64, Version 11.0.072
Copyright (C) 1985-2009 Intel Corporation. All rights reserved.

Setting SDK environment relative to C:Program FilesMicrosoft SDKsWindowsv6.0
.
Targeting Windows Vista x64 RELEASE

I've tried setting the platform to x64 instead of win32, but this doesnt make any difference. I've seen some of your answers, one of them saying 'youmight not expect superior performance with 64 bit' if i am not mistaken. I of course expect superior performance because of its superior configuration, like 4x more ram and many others. At the moment one would expect ATLEAST same performance(in my previous comparision with my laptop and desktop).

I dont know if im running the build release configuration. Honestly I dont what it is? I am merely a mechanical engineer trying to use FORTRAN for my problems.

Re: Parallel computing.
I have this hing in my mind, but like I said I yet have to get a hang of such things apart from my field.

C:Windowssystem32>

Quoting - pgalimutti
Intel Visual Fortran Intel 64 Compiler Professional for applications runni
ng on Intel 64, Version 11.0.072
Copyright (C) 1985-2009 Intel Corporation. All rights reserved.
Setting SDK environment relative to C:Program FilesMicrosoft SDKsWindowsv6.0.
Targeting Windows Vista x64 RELEASE
C:Windowssystem32>

Is the above info you've wanted to check??

I am not sure if i am using build configuration.

I'l have to consider parallel computed in the future. I am merely a mechanical engineer using fortran for some complex computations.

Hint - either uncheck the box "Quote this reply" or click below the gray quote box to add your text.

I would certainly expect the new Core 2 desktop to be faster than your older laptop, whether 32-bit or 64-bit. Are you sure you're running the same dataset?

Steve - Intel Developer Support

Quoting - j.sawicki

Note that you should write your response in the clear area _below_ the shaded area that holds the quote of the post you are responding to (if you tick "Quote this reply?"). Not following this pattern makes things a bit confusing. ;-)

OT Steve - I seem to have lost the ability to edit my posts (I've lost the edit tag, anyway). I wanted to apologise for making the same suggestion that you had just made.

Steve ,

After I posted the first message , I messed up with the installation and when I ran the code i got an error 'rc.exe not found', to resolve I happened to see you post and installed using your suggestions. This worked and I could now run the code way better. However its the same speed as my laptop, but its not an issue for now. Atleast I could get the same speed.

And now the debugger gives me an error that 'the components for 64 bit debugger are not registered. please repair your VS 2005 remoe debugger installation via...'.

I aprreciae your suggestion.

Steve,

Ignore my last post. I've fixedeverything by reinstalling following the installation instructions and ofcourse keeping your suggestions in mind!. Now I'm going tosleep :-)

Re your last question: Yes the data set is absolutely same.

My conculsion concerning my problem is, by defaultIVF installs win32 platform andone hasto change it to x64 if using it on a 64 bit machine. After i changed platform to x64 on my 64 bit desktop IVF's speed doubled or tripled or maybe more for my case. ButIVF having configured for win32 platform on a 64 bit is a no no!! Its worst than a win32 platform running on 32 bit !!

I dont know if it happens to my case or others.

Suggestions on why it happens or any experience of the same kind are welcome.

Gib,

Thanks for your hint on replying posts.

And special thanksSteve foryour prompt anduseful replies

If you installed only the Intel64 compiler, you wouldn't get 32-bit compilation by accident. If you install both compilers before installing X64 support in Visual Studio, I would expect it to remain set up for 32-bit. There isn't any way to guess whether those who install both 32- and 64-bit compilers want 32- or 64-bit default setup. Maybe it would be desirable to have a message come up saying you have installed both compilers, which one do you want as default?

Unfortunately, Visual Studio makes this insanely complicated. It defaults to a 32-bit configuration even on a 64-bit platform, and you have to manually create an "x64" configuration.

I'm somewhat astonished at the speed difference you saw.

Steve - Intel Developer Support

Tim,
Your are right. I've installed both the configurations. And ofcourse I would like to have x64 as default configuration.

Steve,

Yes this looks very odd. There are lot of unknown (to me) reasons.

Anyways CVF got its own advantages and disadvantages when it comes to debugging. Same applies to IVF . IVF doesnt have array visualizer and in CVF you can not give conditional breakpoint.(as far as I know).

Oops. I am unaware that IVF got Array Visualizer !!!

Quoting - Steve Lionel (Intel)
Unfortunately, Visual Studio makes this insanely complicated. It defaults to a 32-bit configuration even on a 64-bit platform, and you have to manually create an "x64" configuration.

I'm somewhat astonished at the speed difference you saw.

you can make batch files to set up the 64 bit config and if you build in visual studio i would suggest using incredibuild
look at www.xoreax.com
i have a driver i build that normally takes 40 minutes to build but with the incredibuild app its less than 2 minutes

Last I knew, Incredibuild did not support Fortran projects. Does it now? We've talked to them about adding Fortran support but they say this is not trivial for them.

Steve - Intel Developer Support

Leave a Comment

Please sign in to add a comment. Not a member? Join today