Multithreaded application with labview IMAQ & WinXP on Dual Core Processor

Hi all,
I am working on a multi-threaded vision application on a
PC with the latest Core 2 Duo processor.  I have image data coming over
two TCP sockets, and image processing using the IMAQ Vision libraries.
I have managed to parallelize the image processing, TCP communication, and display functions.
I
have 2 Image processing loops, 2 TCP loops (one for each socket), a UI
loop, and a display loop.  Inter-loop communication  is via 2 Q's and a
few notifiers.
The image processing and TCP VI's are all re-entrant.  The TCP and Image processing VI's are on different threads.
I tried playing around with changing priorities on the VI's but it made things a bit worse.
My questions are:
1  Are dll calls to the IMAQ dll's re-entrant?  (probably not?)
2  Can these dll calls be made re-entrant?  Would it make a difference?
3  Any way to set two different instances of the same
re-entrant VI on the diagram on DIFFERENT threads?
3  Any other ways I can improve performance?
Thanks for any insights!
Neville.

Hi Neville,
If you doing image processing, then you are probably using VIs that call the NIVision DLL.  These calls are actually reentrant by default (calls made to the IMAQ DLL are also reentrant).  Having said that, remember that the image processing VIs, along with most VIs in the vi.lib folder, are not reentrant, making the DLL calls effectively non reentrant as well.  The reason for this is that, unless a VI takes a considerable amout of time to execute, running it as reentrant will often slow down performance due to the overhead involved in managing parallel execution.  I'm not sure if you have already tried this, but you may find that your program will run faster if you set your image processing VIs to be non reentrant.  I do not know of a way to run multiple instances of the same reentrant VI on different threads, but I will look into it, and I will let you know if I find something.  Another option would be to create copies of the VIs so that the functionality of each one is identical, but you are actually calling different .vi files.
In general, it seems like the architecture of your program is very optimized with the parallel loops, queues, and notifiers that you are using.  I would recommend trying out non reentrant VIs to see if this speeds things up.  Please let me know if this is helpful.
Chris
Applicatoins Engineer
National Instruments

Similar Messages

  • Labview 7.1 and Dual Core Processors

    Hi,
    I was wondering if anyone has encountered any problems using Labview
    7.1 and the newer dual-core processors. I have a Dell Dimension DXPO51,
    2.8 GHz Pentium D with 1 GB ram. There is NO virus software or any
    other non-essential programs running in the background. The computer is
    totally dedicated to controlling a machine.
    Other NI boards installed: PCI-6221 for analog inputs, PCI-6602 for
    reading encoders, PCI-7352 Motion Control board to control 2 motors.
    The problem:
    Periodically when I start my program, it locks up and I get the "Tell
    Microsoft about this problem..." screen. After it exits out of Labview
    and I restart, the Run arrow is not broken but the program will not run
    until I make a change on the block diagram. Then I can run again.
    Doesn't happen all the time, doesn't happen after running after a
    certain amount of time, doesn't happen after a particular change is
    made (i.e. adding case statements, adding an event, etc.). In other
    words, totally random.
    I have tried totally uninstalling ALL National Instruments software,
    including cleaning the registry, and re-installing everything. Didn't
    help.
    The machine will be shipping with the executable file only but I'm still leary of problems arising due to this issue.
    Any help or suggestions of things to try would be appreciated.
    Thanks,
    Teri

    Hi Teri,
    I've seen scattered reports of users having trouble with dual-processor
    machines with earlier versions of LabVIEW, though I'm not aware of
    verified solutions in those cases.  The dual-processor operation
    should be completely transparent to LabVIEW, although I know XP has had
    some difficulties in providing the abstraction correctly.  A
    workaround that has been successful in the past is to set the processor
    affinity for LabVIEW to a single processor.  This should eliminate
    the dual-processor nature of the system from consideration.  If
    the problem still recurs after that, then the issue stems from another
    source and we can investigate further.  Does it show this behavior
    with any program (or just by opening the LabVIEW environment)? 
    How often does this occur (10%, 50% of the time)?
    Cheers,
    Matt Pollock
    National Instruments

  • Is Adobe Flash compatible with WinXP using `Dual Core CPUs ??

    Is Adobe Flash compatible with WinXP using Dual Core CPUs ??
    I have this in my current system
    WinXP 32bit SP3
    Asus M2N68-AM Plus motherboard
    AMD X2 7850 Black Edition Dual Core CPU
    2GB DDR2
    WD Caviar SE16 500GB SATA drive
    Onboard VGA **only**
    I keep having consistent problems using this new motherboard with a Dual Core CPU
    My new motherboard keeps crashing randomly while watching video online.
    I can watch a video for about 2 min or even 20min and then the PC randomly crashes
    I get this weird mosaic pattern on the screen whenever it crashes and then I have to press Reset to Reboot
    And it **only** crashes after streaming a video on any of the websites, YouTube, CBS.com, NBC.com, Hulu.com etc, etc
    My last PC never crashed while watching a video online - it was just slow since Adobe player is a hog -- and it was still a 1.8GHZ CPU !!
    My last PC is still using version 10.1 for the Adobe Flash player -- and it ***never*** crashes
    The most I ever see happen on that one is that the player might occasionly crash in the video window and the error message says to reload the Flash player.
    Then I tried this remedy of disabling the Hardware Acceleration in the Adobe Settings  -- but no luck still.
    I even downgraded to 10.1, then 10.0 and it still keeps getting these random crashes while watching video 
    I'm wondering if WinXP 32bit is really compatible with Adobe Flash when using a Dual Core CPU
    Before I plunk down $100 for Win7, I'm thinking about trying Ubuntu and see what luck I have.
    I haven't seem anything to the contrary yet.
    thanks,
    Message was edited by: Ragoooman

    What browser & version do you use?
    How exactly does that "crash" manifest itself?  What exact error message are you getting?
    Have you tried to update the device drivers for your graphics/video/display adapter?

  • Crosspost: Has anyone used a Redlake camera with LabView/Imaq?

    "I can't seem to find any drivers or utilities for the Redlake camera i'm using in my project.
    Only this: http://www.imagemill-tech.com/Redlake/ Fr_Redlake.htm
    But there's no info on how to get that VI (I've e-mailed them, of course).
    Any additional information on using the camera with LabView/Imaq would be much appereciated"

    "Kasper B. Dall" wrote in message news:<[email protected]>...
    > "I can't seem to find any drivers or utilities for the Redlake camera
    > i'm using in my project.
    >
    > Only this: http://www.imagemill-tech.com/Redlake/ Fr_Redlake.htm
    >
    >
    > But there's no info on how to get that VI (I've e-mailed them, of
    > course).
    >
    >
    > Any additional information on using the camera with LabView/Imaq would
    > be much appereciated"
    I just find the section out for you about remote control of your
    camera:
    1.7.1 Remote Control.
    Redlake Imaging also supplies the Serial1 program that enables a
    computer to control the
    MotionScope system from a remote location through the serial port.
    Refer to Manual Addendum
    9400-0014 for detai
    ls of the Serial1 program and how to control the
    MotionScope system from a
    remote computer using a standard communications program.
    So you need to find the serial command (for RS232) in manual addendum
    9400-0014. I couldn't find it in website maybe I did not search
    throughly, but you may have it if you own the camera. And these
    commands are just for controlling the camera system, not grabbing the
    image, so you may need a frame grabber to get the image into your
    computer and do the further processing.
    Irene
    [email protected]
    > http://www.geocities.com/irene_he/IVision.html

  • How to use Real time execution trace toolkit with Dual-core processor??

    hi there
    the situation as follows:
    i have a computer (PC and Laptop) types with Dual-core processors, and am trying to do simulation using Multi-core technology and based on different simulation scenarios...starting from sequantial processing,.......Piple lining processing strategy. so that i can differentiate the time delay between those types of processing based on (Using 1 processor then dual-core processor Computers)
    my question is: As i read through Ni's white papers i saw many notes refer to Real-time execution trace toolkit to investigate the (processing-time , etc) of multi-core processors in processing diffenent algorithms. My algorithms are to be run on 1 computer with dual-core processor BUT, not in real time environments, that is ( No hardware to be connected to my pc) only algorithms running on my pc....
    So, is it possible to use Real time execution trace toolkit  or anyother tools in LabVIEW to show processing-delays and/or anyother timing critical issues without using my application for  real- time hardware.???
    in other words: how to use Real time execution trace toolkit  in non-hardware and/or real-time scenarios???
    please help me in this.
    Any suggestion, comments, feedback.....is absolutely highly appreciated
    thanks a lot in advance
    Labview Lover

    Hey,
    The Realtime Execution Trace Toolkit only works for NI RT Targets.
    But you can use the Desktop Execution Trace Toolkit, just search for it under ni.com.
    Christian

  • Problem with dual core processors: 50% ressources are not used.

    Hello all,
    I have noticed, that the java app cannot get normally more than 50% of the system ressources. I use different threads in my application, but the app still does't achieve 100% of system power. Max 50-60%.
    If I run two processes, I get 100%, but I can't share memory space between this two process. Or I can?
    What is the best way to write an application, that can use 100%, in other words, full power of dual core processors.
    Thanks in advance.

    Try thread.setPriority() method. I am making guess
    and any comments
    from experts on this method will be highly
    acknowledged.Yeah. Don't do that, it's a bad idea.
    Back to the original post, there are two reasons this can be happening.
    1) Your code is not efficient multi-threading wise. If you are for example running two thread that are in theory parallel but in actual fact provide linear execution so that one is almost blocked by the other then multiple threads and multiple cores will underutilized. It's hard to speculate further on this without seeing your code.
    2) The OS. First of all there is the issue of how the oS shares up the processor between processes. This varies and may or may not be configurable. The bottom line on this point is that your OS may be capping the utilization of the processor by process. Again there's not enough information give by you to expand on this point. The second OS issue regards how the OS deals with multi-core. Just because you have a multicore processor does not mean that your OS automatically can take advantage of it.

  • After downloading and running program to install keeps saying file is corrupt. I have used this on computer before and had crash and am trying to reinstall. Have 2.? gh dual core processor with 4megs ram and a 320 gb hard drive using windows 7 64bit.

    After downloading and telling program to run it will not open the firefox install utility keeps saying file is corrupt. I had a computer crash and having to reinstall all of my programs. I have a 2.? Gh dual core processor running windows 7 64bit, which I had before, with 4 megs ram and a 320 gb hard drive so I know I have the system requirements.
    == This happened ==
    Every time Firefox opened
    == today 5/24/10 ==
    == User Agent ==
    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)

    This can be caused by anti-virus software/ real time scanners. Please try to disable your anti-virus software real time scanner and try again. Do not forget to enable it after the download is complete!'
    See http://kb.mozillazine.org/Unable_to_save_or_download_files (Disable virus scanning in Firefox preferences - Windows)

  • Turning on Virtualization in Compaq/HP Presario C500 with Dual Core processor

    Hoping someone can help me out.
    Running a Compaq Presario C500 laptop with the Dual Core processor. Intel's site says the processor supports virtualization.
    However, in the F.24 A Phoenix BIOS setup (pressing F10 on Startup), there's no option to turn on Intel Virtualization Technology on any of the Tabs. Tried downgrading the BIOS to F.14A -- as the description says; "Adds item to Setup utility (F10) to enable/disable Intel Processor Virtualization Technology."
    However, when I startup, press F10 -- there's no option for turning this on.
    Is there another place to go -- other than the F10 setup area of the BIOS -- to turn on Virtualization Technology?
    If an expert out there can help, it would be very appreciated!

    http://www.intel.com/p/en_US/support/highlights/processors/toolspiu/?redirector_count=1&
    Did you actually download the identification utility and run the tool?
    Dave
    Did someone help you? Pay it forward. Help someone else.
    NC4400, TC4400 Win 7 Ultimate, xp pro, both dual boot
    a bunch of thinkpads

  • Will Photoshop Elements 10 work on an iMac with an Intel Dual Core processor?

    Will Photoshop Elements 10 work on an iMac with an Intel Dual Core processor?

    Thanks Vikrant.
    I have an iMac with the following:
    Model Name:          iMac
      Model Identifier:          iMac8,1
      Processor Name:          Intel Core 2 Duo
      Processor Speed:          2.4 GHz
      Number Of Processors:          1
      Total Number Of Cores:          2
      L2 Cache:          6 MB
      Memory:          1 GB
      Bus Speed:          1.07 GHz
      Boot ROM Version:          IM81.00C1.B00
      SMC Version (system):          1.29f1
    When I insert disc 3 to install it just makes some odd noises and spits the disc out!
    Perversly Disc 1 for Windows it reads...

  • Unexpected reboot during simulation using multisim on AMD dual core processor

    We are using NI-multisim 10 in a classroom environment and are experiencing sudden reboots during simulation without giving any error or warning. This happens on multiple machines, all being Dell Optiplex 740 with AMD DC 2Ghz as processor. Since these problems happen so frequently, making  teaching quite impossible, we have shifted PC-room and are now using older machines. On these machines - Dell GX280 using intell P4HT-2,8 Ghz - we experience no more problems.
    Is this reboot problem related to the article :  Unexpected Errors with DAQ Device on AMD Dual Core Machine  (http://digital.ni.com/public.nsf/allkb/9CE22FE099A​FB8BF862572FF007A5D45) and what do we have to do to fix this problem?

    Nic
    Can you verify your driver versions? Make sure that you are running the latest versions of NI drivers to ensure proper compatibility. If possible, you might try upgrading to multisim 11. If this does not solve the issue, try the single processor workaround in outlined in the following KB:
    http://digital.ni.com/public.nsf/allkb/D0FC3BE7D9F​331398625731A005D76B8?OpenDocument
    Altough it is surely decreasing the performance of the system, certain cases have shown that there is no other possible workaround unfortunately.
    Best Regards
    Michiel
    Applications Engineer
    NI Belgium
    http://www.ni.com/ask

  • Oracle v.8 go slow on HP G5 Dual Core Processor

    We have a really problem !!!
    I have bayed a new computer HP DL380 G5
    When i install Oracle 8 Server the database access is very slower.
    The same application works fine on HP G2 G3 and G4
    can anybody help me.
    Thanks in advance
    Isidre Tapias
    [email protected]

    The operating system is Windows 2003 sp1
    with the same OS with hardware HP G3 and G4, Oracle v8 works fine.
    It seems that the problem is G5 Dual Core Processors.
    There are any fix o solution for this problem ??
    best regards
    Isidre

  • Can you down load itunes to amd athlon(tm) 64 x2 dual core processor 3800

    Can you download itunes to a computer with amd athlon(tm) 64 x2 dual core processor 3800+

    Can you download itunes to a computer with amd athlon(tm) 64 x2 dual core processor 3800+

  • Uneven Core usage on dual core processor

    Hi there
    I noticed today whilst doing some video encoding (.TS files to .MP4) that my Mac Mini is not spreading the load over both of the cores in my dual core processor. Whilst Core 1 is showing nearly 100% Core 2 is hardly being used. Also I noticed that when the load on Core 1 dips then Core 2 will peak but as soon as the load goes back to Core 1 it will equally dip on Core 2 so essentially in Activity Monitor it looks like the core usage is a negative image of each other. The total CPU usage never peaked above 54%.
    Could this an indication of a failing CPU or is it a case of poor core management? The software I've been using is VLC Player and also iMagiConverter.
    Cheers
    Jonty

    What I don't understand is why software developers make software (especially video encoding that is all about CPU number crunching) that only utilises 50% of the CPU resources!
    There are any number of possible reasons, from an application using a cross-platform code base that doesn't lend itself well to mulitiprocessor optimization for a particular platform, to inexperienced programmers who don't well understand programming for parallel threads, to developers who just want to crank out an application as quickly as they can (iMagiConverter seems to sort of fall into that category, given the number of applications of a similar nature that the "company" has produced). You'd have to get involved in the project development to know for sure.
    Regards.

  • Jdeveloper dual core processor performance problem

    I have a dual core 2.4 ghz processor and 2 gig of ram and Im running Jdevloper 9.0.5.2 and my performace is terrible. Other developers in the company have non-dual core processors and they can start up in debug mode using the Jdeveloper embedded oc4j our application in 10 seconds where it takes me 4 min!!!!! It is a struts,ejb web application. Is there anything I can do to help in debug mode??? cheers.
    Murray

    Hi Bernard,
    Which version of McAfee are you using?
    On my (personal) laptop, I'm using McAfee VirusScan 9.0.10. I don't frequently run JDeveloper on this laptop, but when I do, it's not experiencing signficant startup delays (it's a very low power machine: PIII 650 512Mb)
    McAfee VirusScan seems to have very few configuration options (noticably different from Norton, which I use on my corporate desktop machine). I specifically remember changing the "File Types to Scan" option to "Program files and documents only". You can get to this by right clicking the "M" notification area icon, VirusScan->Options menu, Advanced button on the ActiveShield page.
    In Norton, I think I have it configured so that it only scans files on write rather than on read. I also exclude directories which contain jdeveloper installs or other large Java apps (although scanning only on write elliminates most of the performance problems anyway and still leaves your system reasonably secure).
    The easiest way to convince your MIS dept that the virus checker is the source of your problems might be if you ask them to allow you to turn it off in order to test the difference it makes to performance. It's a reasonable request to make if you're trying to elliminate possible causes for the slowdown (from the description you gave, it does sound like the AV upgrade is the first place I'd start looking).
    If the virus checker is the source of your problems, you'll probably be seeing massive slowness in most large Java applications that have a large number of JARs on their classpath.
    Thanks,
    Brian

  • Toshiba Sattelitte L550D, AMD dual core processor M520, Firefox 3.6 works fine; any later version produces only server not fond for any URL; any one have a fix?

    Forgot to mention op system is Windows 7 64 bit; 4 gig memory and a 320 gig 5400 rpm (slow) SATA drive. Have tried Pale Moon with the same result although its site shows the AMD Turion II dual core processor as supported

    Yes, the question was poster from my desktop machine which is set to dual boot both windows 7 and Xp. I regularly run spybot scans but I'll try all the others you mentioned.
    Thanks

Maybe you are looking for

  • Issue while parsing the MYSAPSSO2 Cookie

    Hi All, We are trying to establish SSO with a non SAP web application using MYSAPSSO2 cookie. Plan is to write a java class which can parse out the MYSAPSSO2 cookie, extract the user Id and use it for single sign on. Following Libraries are used: log

  • Backing up Mac HD with Time Capsule AND an external hard drive

    I am sure that this question has been asked one way or another but I can't seem to find the exact answer. I would like to back up my Mac HD with the Time Capsule AND another hard drive essentially to create two backups. Should one fail, I still have

  • How to see List of action type & action code in Form View..

    Hi~ Guys ... please help me ~ In Design Tab of workspace... I have worked  like this.. step 1) I made a Form Wiew using a Add Input Form from BI Query Icon , step 2) submit button was made in the configure element automatically ,, step 3) click the s

  • File Connection and Socket Connection in nokia 7710

    Hello, i want to transfer some data from my PC to Nokia 7710 either using File Transfer or socket connection For file transfer, where do i need to put my file i.e. which files does nokia 7710 allow j2me programs to access? Is is ok if the file i tran

  • Can't Find Website I Created

    I'm a real newbie to iweb. I created a website and can find it by clicking the "visit" button at the bottom of the page where I created site but when I go to Google or other search engines and type in the site name, it doesn't show up. Can someone te