LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

lvanlys.dll fails to load on PCs with many processors

 

I also attached my test LabVIEW code. You need to atached figure to run this code.

 

Thanks.

 

Deqing.

Download All
0 Kudos
Message 11 of 14
(1,156 Views)

@Mark-Ren wrote:

 

@I have a computer with  dual CPUs of  Intel(R) Xeon(R) E5-2687W @ 3.10GHz, 8 Core(s), 16 Logical Processor(s). The LabVIEW can run my LabVIEW correctly.

 

However, with LabVIEW code (with "for" loop parallelism), the CPU usage can only achieve 72% at maximum case for two CPUs. If I switch to one CPU only, the CPU usage can achieve 99%. I compare my computer with two Xeon CPUs with another computer with one i7 2600K CPU (overclock at 4.0 GHz), they have the same speed with the same LabVIEW code !

 

But I used the CINEBENCH software to test these 2 computers. The computer with 2 Xeon CPUs can achieve 99% CPU usage and the speed is 2.3 times faster than that with one i7 CPU.

 

So, my conclusion is that that LabVIEW cannot Well support the computer with 2 CPUs.  Is someone else has the same problem?


SInce you don't have a problem with many CPU cores, you should have started a new thread.

 

LabVIEW can only use all CPU cores IF the dataflow allows. What does the parallel loop do? How fast is a single iteration? How long does it run?

 

I have exactly the same hardware and I get 100% on all cores if needed so your problem is specific to your code. We need to see the program to further analyze the problem. What are your parallel loop settings (parallel instances, etc.). There is a certain overhead to parallelize and reassemble the results, so you should make sure to not fragment the code into very small parallel sections. Parallelize only the outermost loop.

Also look at the remainder problem. For example if you do 17 iterations it will take nearly twice as long than with 16 iterations, because 16 iterations can run in parallel, but the last one will run in a single CPU core, leaving the others idle.

You probably cannot get 100% if all loop instances share common data, because each CPU has it's own cache and traffic across the motherboars is slower. What kind of code is in each iteration? Are there non-reentrant VIs, for example?

 

Please show us your code.

0 Kudos
Message 12 of 14
(1,154 Views)

altenbach wrote: Please show us your code.

Ah, I see you posted it when I was replying.

 

Sorry, I don't have IMAQ, so I cannot help you further....

0 Kudos
Message 13 of 14
(1,152 Views)

 

You can download and install the LabVIEW Vision Development Module.

After that, can can test my code. My code is attached again. This is a very simple and small code to test LabVIEW's parallelism with a computer with 2 CPUs.

 

As I siad previously, using this LabVIEW code, my computer with 2 Xeon CPUs (each with 3.1 GHz and 8 cores) got the same speed with a computer with a CPU with 6 core at overclock 4.0 GhZ.

 

Everyone can see my LabVIEW code and can test it.

 

However, using the software Cinebench, my computer with 2 Xeon CPUs is  "At Least" 2 times faster than that with a i7 CPU, for the same hardware!

 

As a result, LabVIEW is not suitable for a computer with 2 physical CPUs !

 

 

Deqing Ren.

 

 

 

Download All
0 Kudos
Message 14 of 14
(1,144 Views)