LabVIEW RT time loops and logical cores

The RT 1 stage indicates that you should only use a single timed loop for each CPU whose computer if you want that the loop to be deterministic. When you use a computer with processor containing multiple logical cores within a single processor, can you have a loop timed for all logical cores with them while being deterministic and guaranteed to run at the time?

If we take the example of a processor like the Core i7 which has a processor but 4 'real' nuclei and an additional 4 via Hyperthreading...

First, disable Hyperthreading because they don't are NOT actual carrots and won't benefit from the execution of RT.

The other 4 hearts everything will work loops just as if they were 4 separate processors.

I don't understand how you can have multiple processors, but one heart, it normally is the opposite, a single CPU (physical processor) to multiple cores (processing units) separate.  The terminology varies, however.

Tags: NI Software

Similar Questions

  • LabVIEW parallel for loop and OpenMP

    Hello:

    It's just a curious post, I just learned about OpenMP and I found that OpenMP helps you to parallelize loops in c about the same way that you can use the loop For parallel in LabVIEW.

    The loop For Parallel LabVIEW is being implemented under the hood using OpenMP? Or is it just a coincidence?

    No, it is not implemented LabVIEW parallel for loop under the hood using OpenMP. You might be interested to read this article on modern developments in the LabVIEW compiler architecture. Specifically, in this case, it's the DFIR technology discussed here that facilitates parallel for loop transformations.

  • How is it you can't use more than 126 GB of a 1.5 TB with LabVIEW Real-time hard drive?

    How is it you can't use more than 126 GB of a 1.5 TB with LabVIEW Real-time hard drive?
     
    It's only 8.3% of disk space!

    http://digital.NI.com/public.nsf/allkb/E7E2F5657B6026358625750B007201A6?OpenDocument

    The national Instrument is reformat that you drive less than 126 GB or replace the drive with a less than this size.

    Please OR tell me you go fix your LabVIEW Real Time soon, and that we will not have to wait for LabVIEW RT 9.2.1 in 2011 for this one to fix.

    http://upload.wikimedia.org/Wikipedia/Commons/9/90/Hard_drive_capacity_over_time.svg

    Readers as high as 126 GB or more have been around since mid-2002.  It's about 7 years now and LabVIEW Real-time STILL cannot use greater than 126 GB drives!  Please OR.  Do something.

    We deserve the patches for older versions of LabVIEW RT.  What about updates to LabVIEW RT.  As 7.0.2 7.1.2 7.6.2, 8.0.2, 8.2.2, 8.6.2.

    We don't need new features or versions of LabVIEW RT as 9.0 until we have some of the bugs fixed in existing versions.

    Kevin.


  • LabVIEW 8.6.1 AMD Multi Core Crash with call loops

    Hi all

    I tried, but I couldn't find all the messages with my exact situation.  Here it goes:

    I have a multi-core AMD Phenom 64 processor and I'm running Windows 7 64 and I am running an application in LabVIEW 8.6.1 in compatibility mode.  (I know, not a good idea)  I have a pretty complex application with several timed loops and the different ways to talk to FieldPoint (FieldPoint 6.0.6 and experimentation with Modbus talk to cFP-180 x).  You may be wondering why I'm using call loops.  It is an application of RT which can also run on Windows using structures conditional disable, etc.

    I had met sporadic crashing earlier in my files executable for more than a year and used a lvalarms.dll in only patched version my executables.  It was on a totally different processor and we were running Vista at that time.  Now, I notice a very similar behavior on 8.6.1, except now the development environment all crashes or breaks down my executable compiled as well.

    I found this KB, but he was referring to problems observed on LabVIEW 8.5, and the utility of the OS is only for Windows XP.  As recommended in the KB, I used BCDEdit to set the flag onecpu and now everything seems to work normally.  My PC is now significantly slower, however, and I wonder if there is another workaround solution that I might be able to try.

    If you have read so far and who have followed my description you already have my gratitude.  If anyone else has experienced this?  Someone at - it ideas?

    Thank you very much

    Jim

    Alright.  In case someone else runs into this apparently dark scenario, here's workaround solutions I've found:

    1. see if the problem goes away by setting the processor affinity using the Task Manager. Open the Task Manager, look under the "Processes" tab and right-click on the process. (for example LabVIEW.exe or your executable)  Under the context menu which select "set affinity...". "and select only the CPU 0.  In my case, I have a quad-core processor, so I up to four logical processors that are displayed in the dialog box that results.

    Run your application code or the executable file for a while, and if everything seems to be stable, it would seem that you have isolated the problem successfully.

    2. one of the solutions is to disable additional logical processors for the entire operating system, although there may be negative implications on performance.  In this case, try the steps in the lower part of this KB.  I have Windows 7, so I used the utility of command-line bcdedit with no problems.

    3. Finally, a really interesting option that is well worked for me should automatically set the affinity of the processor for each individual process.  There is at least a utility available to achieve this.  I've now changed my LabVIEW 8.6 shortcut to call RunFirst, which sets the processor affinity for LabVIEW to automatically use the first logical processor.  This way I can still use my processor image for all it's worth except in applications that have problems with it.

    I hope this helps someone else out there one day.

    Jim

  • missing loops in Logic 10.2.1 and download failure

    question of part 2...

    QUESTION 1: WHERE ARE MY MISSING LOOPS? HOW CAN I FIND THEM, RETRIEVE THEM, DOWNLOAD THEM?

    (1) my logic Pro 10.2.1 (updated 20/01/16) is missing a bunch of loops from the loop browser.  They are grayed out and will not play.

    For example, these loops are grayed out:

    "Amazing" spoken

    'Attention' spoken word

    Asian gamelan 01

    Asian gamelan 02

    03 Asian gamelan

    04 Asian gamelan

    Asian gamelan 05

    Asian gamelan 06

    but Asian gamelan 07 thru 21 are NOT grayed out, they are beautiful!

    I know that these missing loops were working in Logic 9. Recently, I deleted Logic 9 since I haven't used since getting Logic Pro X in November of 2015.

    I probably have these missing on my Time Machine backup loops if all the missing loops were present in Logic 9.

    But in the last days (before the release of 10.2.1) I made sure I had downloaded all additional content for Logic Pro X. And it showed as "installed".  Then after getting 10.2.1 today, I tried to download ANY extra content again. IT all downloaded fine, except for "" Download All Additional sounds '... "  (See Question 2).   So question 1 is: WHERE ARE THESE MISSING LOOPS?  IF YOU DOWNLOAD ALL THE ADDITIONAL CONTENT FOR 10.2.1 SHOULDN'T ALL MY LOGIC LOOPS 9 (IN PARTICULAR THOSE LISTED ABOVE) APPEAR AND WORK?

    QUESTION 2: WHY DOES "Download All Additional sounds" (only 18.3 MB) systematically omitted, 5 seconds remaining, with a fake message "check your internet connection"?

    After graduating 10.2.1 I made sure I downloaded all the extra content. It shows installed, with a

    exception: when I try to "Download All Additional Sounds", it downloads right up to the mark of 18.3 MB, (which is the total size to download).

    with 5 seconds left, but then always (tried 10 times) fails with this message: "Logic Pro X could not complete the download. Check your internet connection and try to download again. "The internet connection is fine and not at all abandoned.  I checked all options 'go to sleep' are on 'Never', and I ran check permissions and repair permissions in disk utility.

    I see in the release notes that the programming to download additional content has been changed to 10.2.1.   I can't help being suspicious

    There is a kind of too aggressive code that is causing this failure of the download.  But I can always try again in the morning.  It is only

    18.3 MB for the "Complete Sound Library", all the other many GB of extra content download OK, they all show "installed".  I'm only

    of the problems (that I can't fix) with the option 'Download All Additional sounds.

    Thank you so so so to help them with my missing loops and download failure.

    Wade Cottingham

    Dallas, TX

    I had grayed out like many loops "re-index all loops" in the menu at the top of the loop browser it cured me.

  • LabVIEW 2014 SP1, hardware and real-time PXI

    I'm doing my third LabVIEW Wipe/reinstall in as many days, completely frustrated (and after several calls an hour with the support of NEITHER).  Here's the situation:

    I wrote a fairly large (1000 VI) project of Acquisition/control of our graduate students data used for behavioral experiment on sound localization.  It was developed in 2012 LabVIEW with the module running on a PC/PXI system real time.  It worked very well and was brought successfully under LabVIEW 2014 (with upgrades comparable to the software of the PXI.

    About 18 months ago the students began to write their theses, and at one point stopped gathering data.  Also, at some point, I upgraded the software on this system to LabVIEW 2014 SP1, but I am not sure that I never tested my software with this new system.

    This week, I pulled up the system to use MAX to open some test on the PXI multifunction and DIO card panels to control manually one of the stimuli.  I discovered that MAX could not communicate with the advice on the PXI system - he attributes them as devices VISA, indicating each Board with an icon with a red X means that he could not communicate with the IP that I had assigned to PXI.  Yet, MAX (a) could "discover" this PXI, (b) MAX can 'see' its IP address, and (c) Windows could not only Ping the IP, but could FTP on the drive of the PXI and I could move files back and forth.

    I did two sequences complete "Wipe/reinstall" using LabVIEW 2014 SP1, all giving the same result.  I know it has worked in the past, including when I installed LabVIEW 2014 (without SP1), something I repeat myself now with my third installation.  I discussed with OR (thin?) possibility that there is a "hidden defect" in the Distribution of the SP1, one that is visible to LabVIEW RT users using PXI hardware and go unnoticed because (a) install a few sites of LabVIEW versions SP1, (b) a minority use the RT Modules and (c) PXI is "old material".

    If anyone has such a system or saw a similar problem, please answer.  I'll do a follow-up post if I managed to 'fix' my system by this last reinstallation "a solution of worked before."

    Bob Schor

    Well, the answer is that, in my system, LabVIEW 2014 SP1 with LabVIEW Real-time connected to a PXI system does not appear to connect to boards plugged into the chassis.  Returning to LabVIEW 2014 (fall release), installed in exactly in the same way that the three failed attempts of LabVIEW 2014 SP1, works immediately.  Engineers OR will try to duplicate/verify/possibly patch? in this issue.

    Bob Schor

  • Improved LabVIEW 8 to 2013 and VI asked now to find the installation package for Run-Time Engine 7.0

    I recently installed LabVIEW 2013 on a computer (running Windows XP 32-bit).  The machine has also of LabVIEW 8 is installed, which is what I used before the upgrade.  I opened a VI has been created in LV8 and then saved it and all its subVIs in LV2013.  Now when I open the VI in LV2013 and try to run it, a window opens asking me to find the installation package 'lvruntimeeng.msi' for LabVIEW Run-Time Engine 7.0.  If I cancel this dialog box, and the subsequent message, indicating that the installion files were not, the VI appears (at least of the initial inspection) to function normally.

    I have closed LabVIEW, downloaded Run-Time Engine 7.0 on the site of NOR and tried to install it, but I received a message saying that it is already installed (as I had suspected).  How can I determine what part of the VI and/or its subVIs tries to make use of Run-Time Engine 7.0?  If not, how can I get LabVIEW to use instead the Run-Time Engine 2013 that was installed when I upgraded to LabVIEW 2013?

    Bob_Schor wrote:

    You run your VI of a project?  If so, you can watch the dependencies and get an idea of what live "in charge", you might have.  There may be "something old" in your code in LabVIEW 8, which was replaced in 2013, but ' plane still around "-If you can identify it, you can probably replace it with its"more modern"equivalent

    If you do not have the VI in a project, you can simply open LabVIEW, create a blank project and add your first level VI.  If all of your relevant screws are in a single folder, add the entire folder.  Now look in the dependencies.

    BS

    Yes, I run the VI from within a project of LV.  After some more research in the knowledge base OR I could solve the problem by using the following procedure:

    1. use the measurement and Automation Explorer to uninstall Run-Time Engine 7.0

    2. restart the PC

    3. open the project, close the project by choosing "save all".

    4. restart the PC

    5 reinstall the Run-Time Engine 7.0 using a file downloaded from ni.com

    6. restart the PC

    7. open the project, close the project by choosing "save all".

    8. open the project and run the VI.  No more messages on LabVIEW, trying to find the Run-Time Engine 7.0.

  • Can I do a guest who sees 2 physical and logical 4 processors? (i.e. dual-core)

    I have several dual socket, dual-core PE2950s running ESXi 3.5.  I started to migrate to ESXi 4 on a Dell R900, wall 6-hearts.  I have only one application (InDesign Server) under Win2003 which is licensed per CPU; on the PE2950s, when I assigned 4 virtual CPUs, the app saw 2 physical and logical 4 processors.  This allowed the program to run, he's looking for "2 CPUs" and I'm assuming that he studied the logical number of CPUS, but he treated 4 concurrent threads, one on each core (this is how it is supposed to work).   However, when I moved the virtual machine to the R900 and awarded 4 vCPUs, she saw 4 logic and physics 4, and the app has refused to run.  I can assign 2 vCPUs, but then it will try to launch the 2 threads by heart, to me give only half the speed.

    So the question is, can I have the VM guest to see a CPU "dual core"?  If I assign 2 dual-core processors, it would solve my problem.  Thank you!

    Hello, please see the following page for a solution to your problem

    http://www.yellow-bricks.com/2009/06/04/per-processor-licenses-for-your-application/

    If you have found this information useful please consider giving points and or the marker said.

    See you soon

    Kevin

  • Impossible to change "first frame" and play a time/loop/Single Frame

    I work is CS3 and problems by changing the first picture on a graphic symbol. When I type in a new number, it jumps back to the former. When I try to change, play a time/loop/single frame layout jumps to the previous setting. I'm trying to simply change this option on a keyframe in the layer of the symbol on the main stage. I have experienced several times, but failed to get the workaround for the moment. I know I can do what I want. In fact, I do a couple of points earlier in the instance of that symbol without problems. Any suggestions?

    Thank you.

    Tyler

    My guess is that somewhere, you have the box checked synchronization. It sometimes seems to do your graphics to synchronize their animation so that it is always the same and other times that he seems to have no effect at all. So I don't really know what it is supposed to do.

  • Use of LabView delay in a while loop instead of use the inherent instrument of time loop.

    I have a lmg500 sez I use. It has the possibility of continuous measurement of data, with a cycle of user control loop (always using a while loop but the delay comes from the instrument). The problem is that the time of the loop is not constant. Can I use a very short time (100ms) as the cycle of the instrument of the time, but use a longer period in time loop collect data?

    I know that many instrument offers the same capabilities, so the issue is relevant to each of them.

    Thanks for any help

    You're not going to be accurate with Windows. The time between samples should be that you have programmed the instrument (i.e. the time between each value in the table 1 d) but the rate of the iteration of a while loop always will be the subject of a jig on a bone not real-time.

  • Treatment in time loop with microseconds.

    Hello

    I am make only one application in Labview where I capture the image of a camera and image processing. The camera is communicate with the Board of Directors NI PCIe-1433 in the PC with the camera link. This device can operate with a rate of 2000 frames per second. For the treatment of each image in the pc I need a time loop that work with microseconds. The problem is that this time loop only works with MS Windows. If I use the real time module, can I configure this time looping with microsecond or is there another solution?

    Thank you

    Hi xisco,.

    with LabVIEW Realtime, you could create a loop with the order of a microsecond wait States.

    BUT:

    Why do you think you have need of these wait States? What is the purpose of these expectations?

  • complete the loop and get data

    I need to acquire the acquisition values of data every x seconds. Waiting in the loop of data acquisition is defined so that the next N samples are acquired after x seconds. Pressing stop the loop of consumer DAQ stops after the sec x which is connected to the wait function.

    1. how to stop the inner loop immediately when you press a stop?

    I also write acquired samples after doing some calculations on the samples.

    1. plan of sample of the queue to file consumer loop. Is there any other recommendations such as drop loop is not without samples? How many data can an expectation of the queue?

    Thank you.

    sonotk,

    You've missed the point. Rather than having a 5000 milliseconds of wait, use an expectation of 100 ms and count the number of times that you have been waiting for 100 ms.  When the count reaches 50, sample and start the count again.

    The counter is just in the shift register containing an integer. Inside the while loop you have a box structure. Test the shift count register to see if it is 50. If set to True, use the real case of the structure of the case. Inside, it's all in your loop except waiting and the logic of the judgment. In the case of false, you add 1 to the shift register and wait 100 ms.

    Looking at your picture code once again, it seems that the shift with TempData and VoltData regsiters are not necessary because you never use the data previous iteration on the left side.

    Ranjeet,

    Make a simple VI with two loops and some expectations.  Run with execution highlighting market to see what is happening.  It is a good learning tool.

    Lynn

  • a stop time loop by using the time difference of two counts of ticks

    Hi guys,.

    I'm writing currently a code test how much time does it take for a formula node perform its operation. The program uses some time to perform the calculation in a loop, and the program stops after having calculated when the number of cycles reached 10 seconds. The program then displays the number of iterations, he does it in 10 seconds.

    If at the beginning, I created 2 images of the structure of the sequence. In my first image, I have my original number, and as part of my second, I have my final number of cycles and the while loop. I used the subtraction function and divide the result by 1000 to get jet lag. Then using the comparison function, I put if output > 10 then the program must stop, to do this, I've linked out of the comparison function to the button stop inside the while loop.

    However, when I tried to run the code, the program just didn't run. That's why I created a similar program that puts the final number of cycles in the new image sequence. When I ran this code, the program never stopped.

    Guys do you have any idea what was wrong with my codes.

    Thank you!

    Erry

    Stream!

    In the two VI the Terminal stop of the while loop is controlled by a Boolean value whose source is outside of the while loop.  If this loop will be executed once, or forever, depending on the value of the Boolean value which is calculated before the loop starts and comes to the tunnel through the loop.

    I recommend you watch the LabVIEW tutorials online
    LabVIEW Introduction course - 3 hours
    LabVIEW Introduction course - 6 hours

  • problems with timing in a time loop in a structure of the event

    Hello

    I'm using labview to control three motors stepper, running the three stages of different translation in different axes (X, Y and Z). Please see the attached VI, focusing on the structure of the event on the RIGHT side.

    In the Z axis, I am trying to run the engine for 5 seconds, after clicking on a button. I have attampted to do by adding a sub of elapsed time VI within a while loop, located in the tab 'Mouse before Z down' the structure of the event. A similar "elapsed time while loop" is also included in tab 'Z reverse the mouse down' the structure of the event.

    Separately these "elapsed time loops" work very well, BUT when I run a Z direction after another, say 'Z Reverse' and then 'Before Z' then they annoyingly interact. The calendar is gone, with the moment where we add, rather than rebooting.

    No idea how I can reset the time elapsed while loops? Or is there another method better do?

    Thank you very much

    Charlie

    charlieryan wrote:

    I take a wire from the 'i' of the while loop at the entrance of the Sub autoreset - VI of tiem will blink?

    No, connect you to the "reset", not "autoreset".

  • My 'stop' boolean does not stop my time looping

    I don't know why, but my program just continues even after I press the 'stop' button in the front panel.

    I can't understand why. (I'm a newb extreme of LabVIEW, so apologies if this is something extraordinarily obvious.)

    There are two ways to fix this:

    1. Add another case of pylone2 value change event. Now put the pylone2 inside the new case and it wire to the Terminal to stop the loop.

    2. Add a constant to the connection of the clock in the upper left corner of the structure of the event.

    In solution 1, that the loop runs only if one of the triggers of the case, since you don't have an event for the stop button it will not play when it is pressed. In solution 2, adding a constant of millisecond to the timer, there will be a created event timeout, the loop will run at this pace of MS, then the stop button will be seen by the program. If that's all you have in your loop, then option 1 is probably the best to use.

    When I started with LabVIEW, I went through a lot of examples, take a look to find examples in the Help menu and take a look at the fundamentals - loops and Structures.

    I hope this helps.

    Ian

Maybe you are looking for