09-17-2013 02:50 PM
I am (hoping to) migrate my system from a 2-core 2.5 GHz Intel CPU to a 4-core 1.0 GHz VIA CPU. The existing build uses the 2011 Runtime 32-bit running on Windows 7 64-bit. The bottleneck calculation is a large number of multiplies on doubles.
I am wondering if the 2012 or 2013 runtimes have performance improvements that will help me better utilize the additional cores. I am also interested if people are seeing performance improvements when switching from from the 32-bit runtime to the 64-bit runtime.
I know for the most part this is a "try it and see" question, but unfortunately I don't have the hardware available yet so I am hoping to benefit from your experience. 🙂
09-17-2013 03:01 PM - edited 09-17-2013 03:02 PM
The run time performance is similar to the performance in the development system.
I have no experience with VIA, but in the past they were relatively slow. Can you give the exact model numbers of the intel and VIA processors?
In order to be able to really utilize all CPU cores in parallel, you need to write the code accordingly. How are you performing the multiplies on DBLs? Are these arrays? Do you use the operations directly or do you use loops? Can the problem be split up (e.g. using the parallel FOR loop)?
09-17-2013 03:01 PM - edited 09-17-2013 03:02 PM
Are you asking whether or not it is worth the effort to rebuild the executable in 2012 or 2013 to take advantage of any optimizations that may have taken place?
[edit]
I guess Alt is faster than me. And a better guesser. 🙂
[/edit]
09-17-2013 08:33 PM
http://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i3-2120T+%40+2.60GHz
http://www.cpubenchmark.net/cpu.php?cpu=VIA+QuadCore+U4650+%40+1.0%2B+GHz
Those are my before and after, for the curious.
My algorithm is parallelizable and I have a good sense of how to write it so that LV understands that. I guess what I really want to know is if LV's thread handling logic has changed much in the last two releases, for example I know that parallel for-loops is a relatively new feature, does it work "better" in newer versions than it did when first released?