LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

parallel computation - real time analysis

Im dooing real time image analysis, however my analysis program is the bottleneck at the moment so i want to increase its speed. Since I need an increase of about 60-80% the only solution would be dooing the analysis in parallel on a dual core cpu (currently running on AMD64 3700+).
 
The most time consuming computations in my program are two convoluitons so my idear is to have them running in parallel. I want to grab one image, do the first convolution and then send the result to a shift register. Next the program should (in parallel) grab a new image and to the convolution - and do the second  convolution on the first image.
Is this possible?
As you can see in the attached vi Im trying to transfer the images in shift registers is this the right way?
How do I do the wireing of the error correctly?
How do I make sure this can actually run in parallel?
 
Hope someone can help me.
 
Simon
 
PS: This version of the program does not grab images, it just loads in previosly saved images. That way I can test the results.
0 Kudos
Message 1 of 4
(2,550 Views)
Hi, if you want to have thoses convolute functions running in parallel, you will need to give them their own independent error in. That means the seconde convolute function shouldn't get its input from the first one.
I have modified your code so the two convolute functions are now running in parallel. From the attached result.jpg I can see a improvment at the VI execution time.
But I'm not sure about result, it seems that somthing is missing from the output array.
 
Please let me know if you have found a better solution to this problem.
 
Regards
-----------------------------------------------------
Dennis Morini
District Sales Manager
National Instruments Denmark
http://www.ni.com/ask
Download All
0 Kudos
Message 2 of 4
(2,526 Views)

Thanks, your input really helped.

It seemed like I had to copy the images, the shiftregisters could not figure out how to copy the value of one image into a new image. So i added imaq copy.

If you have a dual core cpu then please try and run it, i have a single core amd64 3700+, the loop time is just above 50 ms.

 

Simon

0 Kudos
Message 3 of 4
(2,514 Views)
Hi, I got a loop time just above 40ms on mine machine.
 
Intel pentium(R)4 DualCore 3.40Ghz with 2GB RAM.
 
Regards
-----------------------------------------------------
Dennis Morini
District Sales Manager
National Instruments Denmark
http://www.ni.com/ask
0 Kudos
Message 4 of 4
(2,499 Views)