04-07-2009 06:19 AM
Hi to all,
We have a quad core PC beast here, (Xeon E5405), ranked in top 20 fastest cpus with 3Go ram and windows xp pro sp3.
When we run vbai it runs ridiculously slowly and never loads more than 25% cpu, as if it was not possible for it to use the multiple cpus.
We tried to set the priority in the task manager to "high" and to "time critical", but it did not change anything.
We also tried to force vbai to run on only 3 cpus : no effect.
Did anyone experiences (and solve) this problem
How could we solve this ?
04-07-2009 06:40 AM
Hi,
At the first you need clearly understand, when multiple cpus will be used. In few words - the application should support multicore. VBAI based on Vision, which is partially optimized for multicore CPUs. What you can do is - upgrade to Vision 8.6.4 and may be you will get more performance (may be not - this depends from the used functions).
Another possible way - is development your own modules for VBAI, then multiprocessing will be in your hands (but again, you should have basic understanding - how to program multi cpu application). Priority absolutely independent from CPU - this will take no any effect.
regards,
Andrey.
04-07-2009 06:53 AM
Thank you Andrey for your answer.
Well we did make this vision system using vbai to avoid to make a custom software, which we also do, so I would loke to find other solutions ... I thought vbai was multicore ready...
Is there a way, an emulator or anything, for a multi cpu to look like a unique one with more power?
04-07-2009 10:24 AM
Would it help to install intel's IPP ??
http://software.intel.com/en-use/articles/measure-intel-ipp-function-performance/
04-07-2009 10:44 AM
DOC-doc wrote:Would it help to install intel's IPP ??
No. At least you shoud develop your own module for VBAI with IPP support, then it will make sence.
Just for your information:
The only following functions was optimized for multicore in Vision 8.6.x:
Cross Correlation
Concentric Rake
Gray Morphology
Image Absolute Difference
Image Addition
Image Complex Division Image Complex Multiplication
Image Division
Image Expansion
Image Logical AND
Image Logical OR
Image Logical XOR
Image Multiplication Image Resampling
Image Subtraction
Image Symmetry
Morphology
Nth Order
Rake
Spoke
(source: NI Vision 8.6 Development Module Readme)
So, if you (more exacltly, VBAI internally) using one from the function above, then upgrade to vision 8.6 may give you desired result immeaditely. Otherwise you have to develop your own solution for multi cpu support, there are no other ways possible. First I will recommend to analyse "bottleneck" in your application.
Which version of NI VIsion used right now?
regards,
Andrey.
04-07-2009 11:05 AM
DOC-doc wrote:
We have a quad core PC beast here, (Xeon E5405), ranked in top 20 fastest cpus with 3Go ram and windows xp pro sp3.
Also I will suggest to try Intel Core i7-965 CPU. Should be much faster than Xeon E5405.
Andrey.
04-07-2009 12:01 PM
Here the presentation from NI Week which may be helpful for better understanding:
ftp://ftp.ni.com/pub/events/niweek/pdfs/presentations/ts1904.pdf
Andrey.
04-08-2009 02:19 AM
NI Vision 8.6.1.xxxx is installed.
04-08-2009 02:50 AM - edited 04-08-2009 02:52 AM
In order to test what you are saying, I made a vbai script which is only calling a vision assistant "script". This script is performing grey morphology only, a big number of time to load enough the cpu.
Result : cpu load 25%, even for multicore optimized functions.
04-08-2009 02:58 AM
Hello Doc Doc,
with the latest VDM and the powerpoint from Andrey you should able to use multicore in LabVIEW.
With the vbai it possible to use the dual core on rt smart cameras.
As far as i know its not possible to use multicore on a windows system in combination with the VBAI.
If you have other info please let me know.
Kind regards,
Elmar