LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

What's new for Windows Vista and DUO CORE CPU?

Just wondering how CVI will be correspondingly improved as the new OS and CPU come out. Are there any tremendous improvements for real time applications?
Thanks.
 
 
0 Kudos
Message 1 of 3
(3,146 Views)
Well, you're going to need to develop multi-threaded applications if you want to take advantage of the multiple cores.

The Intel CEO is worried about the "software ecosystem".  And he should be.  His fate isn't completely in his own hands.

In the past, Intel (or AMD) could always market a uP with a faster core speed and claim that your application would run faster.  And this is generally true, though at the higher core speeds, other issues come into play that de-empahasize it. (e.g. memory access times, bus throughput, etc.).

Core speeds are approaching maximum practical rates, so the uP's are getting "wider" to provide more performance on the same die (though some of the "multi-core" uP's are really multi-die).

So now, if a given application is single threaded (almost all commercial PC apps are multi-threaded) OR the app is multi-threaded but doesn't balance the workload amongst the threads, that same app won't run much (or any) faster on a multi-core uP.

So for the multi-core uP's to show substantial performance benefits, applications will have to be not just concurrent, but with some measure of workload balance amongst threads as well.

Yes, the Windows OS's schedule threads from all active processes equally, so overall system operation may improve if your system uses several processes, but any given application may not run any faster.

You can do concurrent design in CVI using their libraries or Win32 SDK directly (or Win64 SDK).  But you will have to do the work to balance process workload amongst the threads (and thence the cores), the OS / CVI can't do that for you.

C# and Java have concurrency supported directly in the language.  C, C++ do not.  You can'y use Java with CVI, there's support for .net (C#) but I've never used it, others may be able to tell you about it.

Menchar
0 Kudos
Message 2 of 3
(3,121 Views)
Menchar pretty much hit things having to do with dual core perfectly. With dual core systems, its really up to the programmer more so than the program you are writing in. Though, what is said about C# brings up some good points. Since the .Net framework and Java are fairly new, they do have these abilities already in them. CVI is of course built off ANSI C and was developed at a time when this was not really considered. You can read a good article (if interested) about this here.

As far as Windows Vista is concerned, there is testing going on with Vista, but other than 64 bit technology (which was available with Windows XP x64 but now becomes a consumer product), the new operating system will not offer much to it that would interface with CVI, other than cosmetic changes in the windows that are openned. If a 64 bit version of CVI becomes available, it would be announced at www.ni.com/cvi.

Hope that helps answer a few of your questions.

Brandon Vasquez | Software Engineer | Integration Services | National Instruments
0 Kudos
Message 3 of 3
(3,090 Views)