Fully utilizing all CPU's for a LabVIEW application

Hi All,
Have any of you figured out how to harness all of the CPU's in modern machines?
Backgroud:
I have an application that does a lot of signal processing and it was pegging the CPU of the machine it was originally deployed on for many minutes.
As a quick first step we suggested the customer try the application on a new high-end machine. THey did and the preformance improved ...
BUT...
When we look at the
Task Manager >>> Perfomance tab
it appears we are not not utilizing all of the available CPU's.
This observation is based on the 8 CPU graphs displayed in the Task Manager.
The first 4 graphs show very heavy CPU useage but the reamining four graphs show little or no loads.
I am guessing that this may be due to LV (8.X) using a default of 4 threads for each execution system.
Since the last time we were on-site, I have looked at
...\LabVIEW\vi.lib\utility\sysinfo.llb\threadconfig.vi
and it appears all I have to do is run that utility one time and save the config as 8 threads for each execution system.
Now before I send someone back to site, I'd like to find out if someone has traveled this road before me and would like to share their wisdom.
Thank you,
Ben
"Mommy, I want to go FAST!" (Daughter of one of my old girl friends)
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction
Solved!
Go to Solution.

I received a couple of questions concerning this post, so a bit more information to clear things up.
LabVIEW's Logic
LabVIEW's default thread creation logic is to create the max of (number of cores, 4). The bug we had is that we inadvertently limited this to four (no humorous comments please ).
What does the utility do?
The utility writes some settings to your ini file if different than default. When you run the utility, it displays the number of processors you have in a field at the top. It displays the number of threads being used for each priority in a section below. For a machine with 1-4 cores, the default thread count will be four. For a machine with 8 cores, the default thread count "should" be 8 (and, as of LabVIEW 8.5, it is).
Roy

Similar Messages

  • How to check the usage of ram and cpu Performance for the particular application like sqlserver ,ms word

    how to check the usage of ram and cpu  Performance for the particular application like sqlserver ,ms word
    ranki

    Hi,
    You can use Performance Monitor and add the required counters.
    Check the below Technet article on Performance Monitor.
    http://technet.microsoft.com/en-us/library/cc749249.aspx
    Below are the steps to monitor the process in Performance Monitor.
    - Go to the Performance Monitor. 
    - Right-click on the graph and select "Add Counters".
    - In the "Available counters" list, open the "Process" section by clicking on the down arrow next to it. Select "% Processor Time" (and any other counter you want).
    - In the "Instances of selected object" list, select the process you want to track. Then click on "Add >>" button. Click on OK.
    Regards,
    Jack
    www.jijitechnologies.com

  • Are there requirements for deterministic data messaging for distributed LabVIEW applications across an Ethernet/IP network?

    Our company, RTI, just entered the Alliance program at NI recently. We are curious if power users of LabVIEW have requirements for running distributed, networked multiple LabVIEW applications in a real-time, deterministic manner? We are not attempting to make this a sales call, but if we should move forward with development of VI's that would allow distributed LabVIEW applications. We have already scoped out the effort but would desire guidance on VI layout, descriptions and ways to give a "LabVIEW" experience and not a disjointed VI that looks unprofessional. We are not sure if demand exists for this requirement. We would like to talk with
    and investigate what LabVIEW users want. We have attached a brochure on this real-time data messaging technology for your review. Maybe there is no need and we apologize for taking up NI Developer Zone bandwidth and your valuable time. We look forward to your responses.
    Attachments:
    NDDSProductBrief3-022.pdf ‏299 KB

    We are developing applications which have a distributed layout. E. g. we have 2 or more test places which have no user interface and 1 place where all configuration and monitoring and data storage takes place. We use TCP/IP for the inter computer communication. For this purpose we have developed a library which has a similar interface and usage as the queue VIs from LV 6.0.2. We support automatic reconnect on TCP/IP level and an acknowledged transfer so the application programmer can choose to do some temporary storage on the local machine if the server part is not running for sometime. We have not seen any market for that so we do not plan to sell it.
    From a lecture at the NI VIP days in Munich in 2001 personal from Siemens A&D stated to
    get a real time like behaviour over ethernet with TCP/IP you have to take care that the load will not exceed 30% of the bandwidth.
    For more information you can contact me at [email protected]
    Waldemar
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • Oc4j not fully utilizing all cpus

    We are running some performance testing in anticipation of deploying our application to production.
    We are doing quite a lot of XSL transformations in our app -- the user logs in, we use their id to find the proper XML record (about 8k in size) stored in our database, then using the XML record we retrieve two XSLTs also stored in the database (80kb and 24kb). We have a static util XSLHelper class which receives the XML plus the first XSLT as input (Strings) which returns an XML string, then we call the XSLHelper again with that XML plus the other XSLT as input. Finally the resulting string output is HTML which we display to the user.
    During our testing, we noticed that one CPU is pegged to 100% while the other is barely used at all. It seems like Oc4j is only spinning the XSLHelper calls off into a single cpu rather than splitting the load across both cpus.
    I'm curious if anyone has any experience with this kind of thing and can share how they resolved the issue, so both CPUs were used as desired?
    Thanks.

    Just set the number of processes (default islands) for your OC4J to 2. The setting can be found at the server properties of your container in the enterprise manager website.

  • Is there an easy way to know if a vi within a LLB not being use by a Labview Application

    To All,
    I have developed a Labview application over a year that contains a number of LLBs.  There are significant number of VIs within those LLB files that were written but have not been called  by the application.  I am trying to optimize all LLB files to exclude those unused VIs.  Because there are many of them, the task to find out which Vi is being used and which one is not become very tedious.  First question: Is there a way to automate the process?  Second question: Does a compiled Labview application include all used and unused Vis from the LLBs in the .exe file?  I am very appreciate any inputs from this community.
    A Labview User  

    Ben wrote:
    In pre-LV 8 you could do a "Save with options..." and choose development distribution, single prompt preserve hiarchy and LV will pick-up all of the used VI's and plomp them down in a new location leaving all of the used behind as well as fixing up a of the linkages to point at the new location.
    In LV 8 and beyond you can create a Source Distribution in the project and acoomplish the same thing.
    In LabVIEW 8+, you can get something similar to the first option by selecting "save for previous" and then pick the existing version (yes, it's there!).
    LabVIEW Champion . Do more with less code and in less time .

  • Passing strings to a LAbVIEW application from Visual-C++ using ActiveX

    Hello all,
    I have built a LabVIEW application with ActiveX server enabled. I can
    start the application, and can read and set simple control values like
    numerics.
    But now I want to pass (SetControlValue) strings and read (GetControlValue) strings from controls.
    After searching a whole day for examples or HowTos I found nothing. Can
    anyone give me tip where I can find something about that?
    Examples are also appreciated.
    Best regards
    Heinrich Eidloth

    The problem you are running into is that a BSTR is not a normal string (%s in the printf), but a wide character string (i.e., two bytes per character) string with the size stored in it. If the string contains ASCII characters, such as Hello World, then the one of the bytes per character is 0 (for example, 'H' would be 0x48 0x0).
    When printf sees this, it thinks that it is a normal, null terminated string of "H". That is what you are seeing. You might try the %S (capital S) since that tells it the string is a wide character string.
    Also note that BSTR's are part of the COM (Automation) system and so are don't freed with a delete or free() statement. Instead you need to release the memory with a SysFreeString() call.
    If you aren't very familiar with C/C++, then you've taken on an advanced topic on top of a complicated language. If you can, you might want to try using either VB6 or .NET (C# or VB.NET). Those languages handle all of this for you automatically and you don't have to worry about freeing the memory.
    If not, the book I started with to learn COM programming was this one (http://www.amazon.com/gp/product/1572313498/104-3574382-6511132?v=glance&n=283155&n=507846&s=books&v...).
    Brian Tyler
    http://detritus.blogs.com/lycangeek

  • Hi, can someone help me how can i connected my multimeter to my pc with rs232, because my computer can´t recognize the device, i mean the multimeter, is a multimeter keithley serie 2400, and i already downloaded all the drivers for labview even the VISA

    hi, can someone help me how can i connected my multimeter to my pc with rs232, because my computer can´t recognize the device, i mean the multimeter, is a multimeter keithley serie 2400, and i already downloaded all the drivers for labview even the VISA

    Marco,
    Here are some suggestions:
    1) Check the manual the Keithley manual to see how to configure the RS-232.   
        On some models you need set Factory defaults to USER and turn on the RS-232.   
        Also there may be a setting for SCPI which you want on (probably on by default).
    2) On your PC - open Device Manager. See if a COM port exists and is functional.
         You must get this working before continuing.
          You can set the COM port parameters by right clicking and selecting Properties.  
         (On some PCs the onboard ports can be disabled in the BIOS)
    3) If step two was OK, open MAX (Measurement and Automation eXplorer).      
        On the left side, click on Devices and Hardware.   
        Click on Serial and Parallel.   
        Go to the COM port you found in Device Manager.   
        Open a VISA Test Panel.
        Now I don't have one I can look at right now, so this is general idea:
       Configure the COM port to match the Keithley settings (should be OK if step 2 worked)  
       Go to the (I think) Input Output tab (you want to send a command)   
       The command string input should already have a *IDN? entered, if not, type it in.   
       Click on the Query button to send the command and check the response.  
       If you get an ID string back (Company name, Model, FW Version ...) then it works.   
       (Disregard an error saying it did not get enough charcters back.) 
    I hope this helps,
    steve
    Help the forum when you get help. Click the "Solution?" icon on the reply that answers your
    question. Give "Kudos" to replies that help.

  • How to show the status for all CPU? Solaris 9 & 10 can support how many CPU

    Hi, may i know wat is the command to show all of the CPU status? i tried use "top" command, but could show all. Any Idea?
    And somemore, may I know Solaris 9 and 10 can support how many CPUs?
    thanks
    regards
    raymond

    What do you mean all of the CPU status?
    top shows you processes on all processors and for the currently running processes, it shows you which CPU a process is on.
    If you want separate stats for each processor, "mpstat 5" shows cpu usage and idle etc.
    As far as how many CPU's solaris supports.
    The largest machine Sun sells as far as I am aware is a E25K with 72 dual core CPU's
    for 144 cores. Is that big enough for you? You probably don't want to know the price though :-).

  • Why all of a sudden I'm getting pop up's stating High CPU performance for plug in, anmd Performance allert, high memory use by firefox, never had these problems till I upgraded to the latesty Firefox offered???????

    since I upgraded to the latest version of fire fox, I'm getting pop ups stating, And I quote! Performamce Alert,high memory use by Fire Fox, and High CPU Performance for plug in by Fire fox, never had this problem with the last version of Fire Fox, this has apparently is slowing down mu computer, and I was much better off with the old one

    since I upgraded to the latest version of fire fox, I'm getting pop ups stating, And I quote! Performamce Alert,high memory use by Fire Fox, and High CPU Performance for plug in by Fire fox, never had this problem with the last version of Fire Fox, this has apparently is slowing down mu computer, and I was much better off with the old one

  • My MacBook Pro (Retina, Mid 2012) is too slow after installing Yosemite version 10.10.1. All programs take for ever to load especially Safari and even chrome. I regret upgrading to yosemite, it was all fine with Maverick. Any suggestions ? ThankYou

    My MacBook Pro (Retina, Mid 2012) is too slow after installing Yosemite version 10.10.1. All programs take for ever to load especially Safari and even chrome. I regret upgrading to yosemite, it was all fine with Maverick. Any suggestions ? ThankYou

    1. This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve the problem. But with the aid of the test results, the solution may take a few minutes, instead of hours or days.
    Don't be put off by the complexity of these instructions. The process is much less complicated than the description. You do harder tasks with the computer all the time.
    2. If you don't already have a current backup, back up all data before doing anything else. The backup is necessary on general principle, not because of anything in the test procedure. Backup is always a must, and when you're having any kind of trouble with the computer, you may be at higher than usual risk of losing data, whether you follow these instructions or not.
    There are ways to back up a computer that isn't fully functional. Ask if you need guidance.
    3. Below are instructions to run a UNIX shell script, a type of program. As I wrote above, it changes nothing. It doesn't send or receive any data on the network. All it does is to generate a human-readable report on the state of the computer. That report goes nowhere unless you choose to share it. If you prefer, you can act on it yourself without disclosing the contents to me or anyone else.
    You should be wondering whether you can believe me, and whether it's safe to run a program at the behest of a stranger. In general, no, it's not safe and I don't encourage it.
    In this case, however, there are a couple of ways for you to decide whether the program is safe without having to trust me. First, you can read it. Unlike an application that you download and click to run, it's transparent, so anyone with the necessary skill can verify what it does.
    You may not be able to understand the script yourself. But variations of the script have been posted on this website thousands of times over a period of years. The site is hosted by Apple, which does not allow it to be used to distribute harmful software. Any one of the millions of registered users could have read the script and raised the alarm if it was harmful. Then I would not be here now and you would not be reading this message.
    Nevertheless, if you can't satisfy yourself that these instructions are safe, don't follow them. Ask for other options.
    4. Here's a summary of what you need to do, if you choose to proceed:
    ☞ Copy a line of text in this window to the Clipboard.
    ☞ Paste into the window of another application.
    ☞ Wait for the test to run. It usually takes a few minutes.
    ☞ Paste the results, which will have been copied automatically, back into a reply on this page.
    The sequence is: copy, paste, wait, paste again. You don't need to copy a second time. Details follow.
    5. You may have started the computer in "safe" mode. Preferably, these steps should be taken in “normal” mode, under the conditions in which the problem is reproduced. If the system is now in safe mode and works well enough in normal mode to run the test, restart as usual. If you can only test in safe mode, do that.
    6. If you have more than one user, and the one affected by the problem is not an administrator, then please run the test twice: once while logged in as the affected user, and once as an administrator. The results may be different. The user that is created automatically on a new computer when you start it for the first time is an administrator. If you can't log in as an administrator, test as the affected user. Most personal Macs have only one user, and in that case this section doesn’t apply. Don't log in as root.
    7. The script is a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, though you may not see all of it in the browser window, and you can then copy it. If you try to select the line by dragging across the part you can see, you won't get all of it.
    Triple-click anywhere in the line of text below on this page to select it:
    PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec;clear;cd;p=(Software Hardware Memory Diagnostics Power FireWire Thunderbolt USB Fonts SerialATA 4 1000 25 5120 KiB/s 1024 85 \\b%% 20480 1 MB/s 25000 ports ' com.clark.\* \*dropbox \*genieo\* \*GoogleDr\* \*k.AutoCAD\* \*k.Maya\* vidinst\* ' DYLD_INSERT_LIBRARIES\ DYLD_LIBRARY_PATH -86 "` route -n get default|awk '/e:/{print $2}' `" 25 N\\/A down up 102400 25600 recvfrom sendto CFBundleIdentifier 25 25 25 1000 MB ' com.adobe.AAM.Updater-1.0 com.adobe.AAM.Updater-1.0 com.adobe.AdobeCreativeCloud com.adobe.CS4ServiceManager com.adobe.CS5ServiceManager com.adobe.fpsaud com.adobe.SwitchBoard com.adobe.SwitchBoard com.apple.aelwriter com.apple.AirPortBaseStationAgent com.apple.FolderActions.enabled com.apple.installer.osmessagetracing com.apple.mrt.uiagent com.apple.ReportCrash.Self com.apple.rpmuxd com.apple.SafariNotificationAgent com.apple.usbmuxd com.citrixonline.GoToMeeting.G2MUpdate com.google.keystone.agent com.google.keystone.daemon com.microsoft.office.licensing.helper com.oracle.java.Helper-Tool com.oracle.java.JavaUpdateHelper com.oracle.java.JavaUpdateHelper org.macosforge.xquartz.privileged_startx org.macosforge.xquartz.privileged_startx org.macosforge.xquartz.startx ' ' 879294308 4071182229 461455494 3627668074 1083382502 1274181950 1855907737 2758863019 1848501757 464843899 3694147963 1233118628 2456546649 2806998573 2778718105 2636415542 842973933 2051385900 3301885676 891055588 998894468 695903914 1443423563 4136085286 523110921 2883943871 3873345487 ' 51 5120 files );N5=${#p[@]};p[N5]=` networksetup -listnetworkserviceorder|awk ' NR>1 { sub(/^\([0-9]+\) /,"");n=$0;getline;} $NF=="'${p[26]}')" { sub(/.$/,"",$NF);print n;exit;} ' `;f=('\n%s: %s\n' '\n%s\n\n%s\n' '\nRAM details\n%s\n' %s\ %s '%s\n-\t%s\n' );S0() { echo ' { q=$NF+0;$NF="";u=$(NF-1);$(NF-1)="";gsub(/^ +| +$/,"");if(q>='${p[$1]}') printf("%s (UID %s) is using %s '${p[$2]}'",$0,u,q);} ';};s=(' s/[0-9A-Za-z._]+@[0-9A-Za-z.]+\.[0-9A-Za-z]{2,4}/EMAIL/g;/faceb/s/(at\.)[^.]+/\1NAME/g;/\/Shared/!s/(\/Users\/)[^ /]+/\1USER/g;s/[-0-9A-Fa-f]{22,}/UUID/g;' ' s/^ +//;/de: S|[nst]:/p;' ' {sub(/^ +/,"")};/er:/;/y:/&&$2<'${p[10]} ' 1s/://;3,6d;/[my].+:/d;s/^ {4}//;H;${ g;s/\n$//;/s: (E[^m]|[^EO])|x([^08]|02[^F]|8[^0])/p;} ' ' 5h;6{ H;g;/P/!p;} ' ' ($1~/^Cy/&&$3>'${p[11]}')||($1~/^Cond/&&$2!~/^N/) ' ' /:$/{ N;/:.+:/d;s/ *://;b0'$'\n'' };/^ *(V.+ [0N]|Man).+ /{ s/ 0x.... //;s/[()]//g;s/(.+: )(.+)/ (\2)/;H;};$b0'$'\n'' d;:0'$'\n'' x;s/\n\n//;/Apple[ ,]|Genesy|Intel|SMSC/d;s/\n.*//;/\)$/p;' ' s/^.*C/C/;H;${ g;/No th|pms/!p;} ' '/= [^GO]/p' '{$1=""};1' ' /Of/!{ s/^.+is |\.//g;p;} ' ' $0&&!/ / { n++;print;} END { if(n<10) print "com.apple.";} ' ' { sub(/ :/,"");print|"tail -n'${p[12]}'";} ' ' NR==2&&$4<='${p[13]}' { print $4;} ' ' END { $2/=256;if($2>='${p[15]}') print int($2) } ' ' NR!=13{next};{sub(/[+-]$/,"",$NF)};'"`S0 21 22`" 'NR!=2{next}'"`S0 37 17`" ' NR!=5||$8!~/[RW]/{next};{ $(NF-1)=$1;$NF=int($NF/10000000);for(i=1;i<=3;i++){$i="";$(NF-1-i)="";};};'"`S0 19 20`" 's:^:/:p' '/\.kext\/(Contents\/)?Info\.plist$/p' 's/^.{52}(.+) <.+/\1/p' ' /Launch[AD].+\.plist$/ { n++;print;} END { if(n<200) print "/System/";} ' '/\.xpc\/(Contents\/)?Info\.plist$/p' ' NR>1&&!/0x|\.[0-9]+$|com\.apple\.launchctl\.(Aqua|Background|System)$/ { print $3;} ' ' /\.(framew|lproj)|\):/d;/plist:|:.+(Mach|scrip)/s/:[^:]+//p ' '/^root$/p' ' !/\/Contents\/.+\/Contents|Applic|Autom|Frameworks/&&/Lib.+\/Info.plist$/ { n++;print;} END { if(n<1100) print "/System/";} ' '/^\/usr\/lib\/.+dylib$/p' ' /Temp|emac/{next};/(etc|Preferences|Launch[AD].+)\// { sub(".(/private)?","");n++;print;} END { split("'"${p[41]}"'",b);split("'"${p[42]}"'",c);for(i in b) print b[i]".plist\t"c[i];if(n<500) print "Launch";} ' ' /\/(Contents\/.+\/Contents|Frameworks)\/|\.wdgt\/.+\.([bw]|plu)/d;p;' 's/\/(Contents\/)?Info.plist$//;p' ' { gsub("^| |\n","\\|\\|kMDItem'${p[35]}'=");sub("^...."," ") };1 ' p '{print $3"\t"$1}' 's/\'$'\t''.+//p' 's/1/On/p' '/Prox.+: [^0]/p' '$2>'${p[43]}'{$2=$2-1;print}' ' BEGIN { i="'${p[26]}'";M1='${p[16]}';M2='${p[18]}';M3='${p[31]}';M4='${p[32]}';} !/^A/{next};/%/ { getline;if($5<M1) a="user "$2"%, system "$4"%";} /disk0/&&$4>M2 { b=$3" ops/s, "$4" blocks/s";} $2==i { if(c) { d=$3+$4+$5+$6;next;};if($4>M3||$6>M4) c=int($4/1024)" in, "int($6/1024)" out";} END { if(a) print "CPU: "a;if(b) print "I/O: "b;if(c) print "Net: "c" (KiB/s)";if(d) print "Net errors: "d" packets/s";} ' ' /r\[0\] /&&$NF!~/^1(0|72\.(1[6-9]|2[0-9]|3[0-1])|92\.168)\./ { print $NF;exit;} ' ' !/^T/ { printf "(static)";exit;} ' '/apsd|BKAg|OpenD/!s/:.+//p' ' (/k:/&&$3!~/(255\.){3}0/ )||(/v6:/&&$2!~/A/ ) ' ' $1~"lR"&&$2<='${p[25]}';$1~"li"&&$3!~"wpa2";' ' BEGIN { FS=":";p="uniq -c|sed -E '"'s/ +\\([0-9]+\\)\\(.+\\)/\\\2 x\\\1/;s/x1$//'"'";} { n=split($3,a,".");sub(/_2[01].+/,"",$3);print $2" "$3" "a[n]$1|p;b=b$1;} END { close(p);if(b) print("\n\t* Code injection");} ' ' NR!=4{next} {$NF/=10240} '"`S0 27 14`" ' END { if($3~/[0-9]/)print$3;} ' ' BEGIN { L='${p[36]}';} !/^[[:space:]]*(#.*)?$/ { l++;if(l<=L) f=f"\n   "$0;} END { F=FILENAME;if(!F) exit;if(!f) f="\n   [N/A]";"cksum "F|getline C;split(C, A);C="checksum "A[1];"file -b "F|getline T;if(T!~/^(AS.+ (En.+ )?text(, with v.+)?$|(Bo|PO).+ sh.+ text ex|XM)/) F=F" ("T", "C")";else F=F" ("C")";printf("\nContents of %s\n%s\n",F,f);if(l>L) printf("\n   ...and %s more line(s)\n",l-L);} ' ' s/^ ?n...://p;s/^ ?p...:/-'$'\t''/p;' 's/0/Off/p' ' END{print NR} ' ' /id: N|te: Y/{i++} END{print i} ' ' / / { print "'"${p[28]}"'";exit;};1;' '/ en/!s/\.//p' ' NR!=13{next};{sub(/[+-M]$/,"",$NF)};'"`S0 39 40`" ' $10~/\(L/&&$9!~"localhost" { sub(/.+:/,"",$9);print $1": "$9|"sort|uniq";} ' '/^ +r/s/.+"(.+)".+/\1/p' 's/(.+\.wdgt)\/(Contents\/)?Info\.plist$/\1/p' 's/^.+\/(.+)\.wdgt$/\1/p' ' /l: /{ /DVD/d;s/.+: //;b0'$'\n'' };/s: /{ /V/d;s/^ */- /;H;};$b0'$'\n'' d;:0'$'\n'' x;/APPLE [^:]+$/d;p;' ' /^find: /d;p;' "`S0 44 45`" ' BEGIN{FS="= "} /Path/{print $2} ' ' /^ *$/d;s/^ */   /;' ' s/^.+ |\(.+\)$//g;p ' '/\.(appex|pluginkit)\/Contents\/Info\.plist$/p' ' /2/{print "WARN"};/4/{print "CRITICAL"};' ' /EVHF|MACR|^s/d;s/^.+: //p;' );c1=(system_profiler pmset\ -g nvram fdesetup find syslog df vm_stat sar ps crontab iotop top pkgutil 'PlistBuddy 2>&1 -c "Print' whoami cksum kextstat launchctl smcDiagnose sysctl\ -n defaults\ read stat lsbom mdfind ' for i in ${p[24]};do ${c1[18]} ${c2[27]} $i;done;' pluginkit scutil dtrace profiles sed\ -En awk /S*/*/P*/*/*/C*/*/airport networksetup mdutil lsof test osascript\ -e );c2=(com.apple.loginwindow\ LoginHook '" /L*/P*/loginw*' "'tell app \"System Events\" to get properties of login items'|tr , \\\n" 'L*/Ca*/com.ap*.Saf*/E*/* -d 1 -name In*t -exec '"${c1[14]}"' :CFBundleDisplayName" {} \;|sort|uniq' '~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \)' '.??* -path .Trash -prune -o -type d -name *.app -print -prune' :${p[35]}\" :Label\" '{/,}L*/{Con,Pref}* -type f ! -size 0 -name *.plist -exec plutil -s {} \;' "-f'%N: %l' Desktop L*/Keyc*" therm sysload boot-args status " -F '\$Time \$(RefProc): \$Message' -k Sender Req 'fsev|kern|launchd' -k RefProc Rne 'Aq|WebK' -k Message Rne 'Goog|ksadm|probe|Roame|SMC:|smcD|sserti|suhel| VALI|ver-r|xpma' -k Message Req 'abn|bad |Beac|caug|corru|dead[^bl]|FAIL|fail|GPU |hfs: Ru|inval|jnl:|last value [1-9]|NVDA\(|pagin|proc: t|Roamed|rror|SL|TCON|Throttli|tim(ed? ?|ing )o|WARN' " '-du -n DEV -n EDEV 1 10' 'acrx -o comm,ruid,%cpu' '-t1 10 1' '-f -pfc /var/db/r*/com.apple.*.{BS,Bas,Es,J,OSXU,Rem,up}*.bom' '{/,}L*/Lo*/Diag* -type f -regex .\*[cght] ! -name .?\* ! -name \*ag \( -exec grep -lq "^Thread c" {} \; -exec printf \* \; -o -true \) -execdir stat -f:%Sc:%N -t%F {} \;|sort -t: -k2 |tail -n'${p[38]} '/S*/*/Ca*/*xpc* >&- ||echo No' '-L /{S*/,}L*/StartupItems -type f -exec file {} +' '-L /S*/L*/{C*/Sec*A,Ex}* {/,}L*/{A*d,Ca*/*/Ex,Co{mpon,reM},Ex,In{p,ter},iTu*/*P,Keyb,Mail/B,Pr*P,Qu*T,Scripti,Sec,Servi,Spo,Widg}* -path \\*s/Resources -prune -o -type f -name Info.plist' '/usr/lib -type f -name *.dylib' `awk "${s[31]}"<<<${p[23]}` "/e*/{auto,{cron,fs}tab,hosts,{[lp],sy}*.conf,mach_i*/*,pam.d/*,ssh{,d}_config,*.local} {,/usr/local}/etc/periodic/*/* /L*/P*{,/*}/com.a*.{Bo,sec*.ap}*t {/S*/,/,}L*/Lau*/*t .launchd.conf" list getenv /Library/Preferences/com.apple.alf\ globalstate --proxy '-n get default' -I --dns -getdnsservers\ "${p[N5]}" -getinfo\ "${p[N5]}" -P -m\ / '' -n1 '-R -l1 -n1 -o prt -stats command,uid,prt' '--regexp --only-files --files com.apple.pkg.*|sort|uniq' -kl -l -s\ / '-R -l1 -n1 -o mem -stats command,uid,mem' '+c0 -i4TCP:0-1023' com.apple.dashboard\ layer-gadgets '-d /L*/Mana*/$USER&&echo On' '-app Safari WebKitDNSPrefetchingEnabled' "+c0 -l|awk '{print(\$1,\$3)}'|sort|uniq -c|sort -n|tail -1|awk '{print(\$2,\$3,\$1)}'" -m 'L*/{Con*/*/Data/L*/,}Pref* -type f -size 0c -name *.plist.???????|wc -l' kern.memorystatus_vm_pressure_level '3>&1 >&- 2>&3' " -F '\$Time \$Message' -k Sender kernel -k Message CSeq 'n Cause: -' " );N1=${#c2[@]};for j in {0..9};do c2[N1+j]=SP${p[j]}DataType;done;N2=${#c2[@]};for j in 0 1;do c2[N2+j]="-n ' syscall::'${p[33+j]}':return { @out[execname,uid]=sum(arg0) } tick-10sec { trunc(@out,1);exit(0);} '";done;l=(Restricted\ files Hidden\ apps 'Elapsed time (s)' POST Battery Safari\ extensions Bad\ plists 'High file counts' User Heat System\ load boot\ args FileVault Diagnostic\ reports Log 'Free space (MiB)' 'Swap (MiB)' Activity 'CPU per process' Login\ hook 'I/O per process' Mach\ ports kexts Daemons Agents XPC\ cache Startup\ items Admin\ access Root\ access Bundles dylibs Apps Font\ issues Inserted\ dylibs Firewall Proxies DNS TCP/IP Wi-Fi Profiles Root\ crontab User\ crontab 'Global login items' 'User login items' Spotlight Memory Listeners Widgets Parental\ Controls Prefetching SATA Descriptors App\ extensions Lockfiles Memory\ pressure SMC Shutdowns );N3=${#l[@]};for i in 0 1 2;do l[N3+i]=${p[5+i]};done;N4=${#l[@]};for j in 0 1;do l[N4+j]="Current ${p[29+j]}stream data";done;A0() { id -G|grep -qw 80;v[1]=$?;((v[1]==0))&&sudo true;v[2]=$?;v[3]=`date +%s`;clear >&-;date '+Start time: %T %D%n';};for i in 0 1;do eval ' A'$((1+i))'() { v=` eval "${c1[$1]} ${c2[$2]}"|'${c1[30+i]}' "${s[$3]}" `;[[ "$v" ]];};A'$((3+i))'() { v=` while read i;do [[ "$i" ]]&&eval "${c1[$1]} ${c2[$2]}" \"$i\"|'${c1[30+i]}' "${s[$3]}";done<<<"${v[$4]}" `;[[ "$v" ]];};A'$((5+i))'() { v=` while read i;do '${c1[30+i]}' "${s[$1]}" "$i";done<<<"${v[$2]}" `;[[ "$v" ]];};A'$((7+i))'() { v=` eval sudo "${c1[$1]} ${c2[$2]}"|'${c1[30+i]}' "${s[$3]}" `;[[ "$v" ]];};';done;A9(){ v=$((`date +%s`-v[3]));};B2(){ v[$1]="$v";};for i in 0 1;do eval ' B'$i'() { v=;((v['$((i+1))']==0))||{ v=No;false;};};B'$((3+i))'() { v[$2]=`'${c1[30+i]}' "${s[$3]}"<<<"${v[$1]}"`;} ';done;B5(){ v[$1]="${v[$1]}"$'\n'"${v[$2]}";};B6() { v=` paste -d: <(printf "${v[$1]}") <(printf "${v[$2]}")|awk -F: ' {printf("'"${f[$3]}"'",$1,$2)} ' `;};B7(){ v=`grep -Fv "${v[$1]}"<<<"$v"`;};C0() { [[ "$v" ]]&&sed -E "$s"<<<"$v";};C1() { [[ "$v" ]]&&printf "${f[$1]}" "${l[$2]}" "$v"|sed -E "$s";};C2() { v=`echo $v`;[[ "$v" != 0 ]]&&C1 0 $1;};C3() { v=`sed -E "${s[63]}"<<<"$v"`&&C1 1 $1;};for i in 1 2 7 8;do for j in 0 2 3;do eval D$i$j'(){ A'$i' $1 $2 $3; C'$j' $4;};';done;done;{ A0;D20 0 $((N1+1)) 2;D10 0 $N1 1;B0;C2 27;B0&&! B1&&C2 28;D12 15 37 25 8;A1 0 $((N1+2)) 3;C0;D13 0 $((N1+3)) 4 3;D23 0 $((N1+4)) 5 4;D13 0 $((N1+9)) 59 50;for i in 0 1 2;do D13 0 $((N1+5+i)) 6 $((N3+i));done;D13 1 10 7 9;D13 1 11 8 10;B1&&D73 19 53 67 55;D22 2 12 9 11;D12 3 13 10 12;D23 4 19 44 13;D23 5 54 12 56;D23 5 14 12 14;D22 6 36 13 15;D22 20 52 66 54;D22 7 37 14 16;D23 8 15 38 17;D22 9 16 16 18;B1&&{ D82 35 49 61 51;D82 11 17 17 20;for i in 0 1;do D82 28 $((N2+i)) 45 $((N4+i));done;};D22 12 44 54 45;D22 12 39 15 21;A1 13 40 18;B2 4;B3 4 0 19;A3 14 6 32 0;B4 0 5 11;A1 17 41 20;B7 5;C3 22;B4 4 6 21;A3 14 7 32 6;B4 0 7 11;B3 4 0 22;A3 14 6 32 0;B4 0 8 11;B5 7 8;B1&&{ A8 18 26 23;B7 7;C3 23;};A2 18 26 23;B7 7;C3 24;D13 4 21 24 26;B4 4 12 26;B3 4 13 27;A1 4 22 29;B7 12;B2 14;A4 14 6 52 14;B2 15;B6 14 15 4;B3 0 0 30;C3 29;A1 4 23 27;B7 13;C3 30;B3 4 0 65;A3 14 6 32 0;B4 0 16 11;A1 26 50 64;B7 16;C3 52;D13 24 24 32 31;D13 25 37 32 33;A2 23 18 28;B2 16;A2 16 25 33;B7 16;B3 0 0 34;B2 21;A6 47 21&&C0;B1&&{ D73 21 0 32 19;D73 10 42 32 40;D82 29 35 46 39;};D23 14 1 62 42;D12 34 43 53 44;D12 22 20 32 25;D22 0 $((N1+8)) 51 32;D13 4 8 41 6;D12 21 28 35 34;D13 27 29 36 35;A2 27 32 39&&{ B2 19;A2 33 33 40;B2 20;B6 19 20 3;};C2 36;D23 33 34 42 37;B1&&D83 35 45 55 46;D23 32 31 43 38;D12 36 47 32 48;D13 10 42 32 41;D13 37 2 48 43;D13 4 5 32 1;D13 4 3 60 5;D12 21 48 49 49;B3 4 22 57;A1 21 46 56;B7 22;B3 0 0 58;C3 47;D22 4 4 50 0;D12 4 51 32 53;D23 22 9 37 7;A9;C2 2;} 2>/dev/null|pbcopy;exit 2>&-
    Copy the selected text to the Clipboard by pressing the key combination command-C.
    8. Launch the built-in Terminal application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Click anywhere in the Terminal window and paste by pressing command-V. The text you pasted should vanish immediately. If it doesn't, press the return key.
    9. If you see an error message in the Terminal window such as "Syntax error" or "Event not found," enter
    exec bash
    and press return. Then paste the script again.
    10. If you're logged in as an administrator, you'll be prompted for your login password. Nothing will be displayed when you type it. You will not see the usual dots in place of typed characters. Make sure caps lock is off. Type carefully and then press return. You may get a one-time warning to be careful. If you make three failed attempts to enter the password, the test will run anyway, but it will produce less information. In most cases, the difference is not important. If you don't know the password, or if you prefer not to enter it, press the key combination control-C or just press return  three times at the password prompt. Again, the script will still run.
    If you're not logged in as an administrator, you won't be prompted for a password. The test will still run. It just won't do anything that requires administrator privileges.
    11. The test may take a few minutes to run, depending on how many files you have and the speed of the computer. A computer that's abnormally slow may take longer to run the test. While it's running, there will be nothing in the Terminal window and no indication of progress. Wait for the line
    [Process completed]
    to appear. If you don't see it within half an hour or so, the test probably won't complete in a reasonable time. In that case, close the Terminal window and report what happened. No harm will be done.
    12. When the test is complete, quit Terminal. The results will have been copied to the Clipboard automatically. They are not shown in the Terminal window. Please don't copy anything from there. All you have to do is start a reply to this comment and then paste by pressing command-V again.
    At the top of the results, there will be a line that begins with the words "Start time." If you don't see that, but instead see a mass of gibberish, you didn't wait for the "Process completed" message to appear in the Terminal window. Please wait for it and try again.
    If any private information, such as your name or email address, appears in the results, anonymize it before posting. Usually that won't be necessary.
    13. When you post the results, you might see an error message on the web page: "You have included content in your post that is not permitted," or "You are not authorized to post." That's a bug in the forum software. Please post the test results on Pastebin, then post a link here to the page you created.
    14. This is a public forum, and others may give you advice based on the results of the test. They speak only for themselves, and I don't necessarily agree with them.
    Copyright © 2014 by Linc Davis. As the sole author of this work, I reserve all rights to it except as provided in the Use Agreement for the Apple Support Communities website ("ASC"). Readers of ASC may copy it for their own personal use. Neither the whole nor any part may be redistributed.

  • CPU accessible registers in LabView FlexRIO FPGA

    Howdy folks, I am wondering if it's possible to get the following behaviors out of Labview.  I'm thinking it's not.
    System description:  CVI application that communicates with PXIe FlexRIO via controls and indicators.
    Problem: Designing to a CPU-FPGA interface specification which lists "registers" as a combination of read and read/write bit-fields.
    Example:
    According to the spec, there should be a 32-bit register.  Bits 31:16 are read-only, and bits 15:0 are read/write, from the perspective of the CPU.  In the labview world, I would just make a uint16 control, and a uint16 indicator and be done with it.
    However, to meet the spec (written for traditional microprocessor buses), a 32-bit read to an address should read back the full contents of the 32-bitregister at that location (implemented as flops on the FPGA, with appropriate memory mapping within the FPGA device).  Similarly a 32-bit write to an address should store values to that register (appropriately masking writes to bits 31:16 within the FPGA device).
    Is there a way for me to have a single address (basically, a single labview block diagram component) that will let me accomplish this behavior?  It looks to me like the only solution is to pack my registers with bit fields that are all read, or all read/write in order to fit in with the labview paradigm.  That means the spec will have to go back and be re-written and re-approved.
    Thanks in advance,
    -J
    Solved!
    Go to Solution.

    Nathand,
    Here is the standard paradigm (some simplification):
    1)  C helper file that contains #defines that describe the memory map.  things like BASE_ADDRESS, DEV1_OFFSET, DEV2_OFFSET, REGISTER_1_OFFSET.  To get to a 
    2)  C procedure which calls things like void setRegister(uint32 *memory, int device_offset, int register, uint32 new_data, uint32 write_mask).  and uint32 getRegister(int base_address, int device_offset, int register).
    3)  If I want to write the value 0xABCD the upper 16 bits of a 32-bit register (register 5), to device #1, I would code:
    main(){
       setRegister( ptrMemory, 1, 5, 0xABCD0000, 0x11110000)
    This would compute the PCIe address based on some equation like BASE_ADDRESS + DEV1_OFFSET+register_offset<<2 (byte addressed).
    Suppose this gives us a 32-bit address of 0xC000_4000.  We would issue a write across PCIe to address 0xC000_4000.  The memory map in the FPGA is programmed such that a set of flops will latch the data in the PCIe write when write_enable = 1, and address 0xC000_4000 are both true. That completes the register write to the FPGA.
    A similar thing occurs for a register read.  In this case however, when read_enable = 1 and address = 0xC000_4000, the values held in that same set of flip flops is now written onto the PCIe as a transaction.  The software application recieves the value and returns that value from the getRegister function.
    In my example above, you notice that the same address on the PCIe is used for reading and writing. I am trying to understand if I can have software read AND write from the same address.
    When you compile an FPGA, labview creates a (seemingly) arbitrary address translation for all CPU accessible structures, meaning FIFOs, controls and indicators.  It assigns different addresses for every single item, and it may or may not keep the same address depending on whether any modifications were done to controls/indicators/fifos since last compile.
    I am trying to understand how labview works, so that I can assess whether or not I can read/write from the same address.  This matters, because if I can pack bit fields into registers more efficiently in the FPGA, that reduces the amount of functional tests to write and execute to verify the FPGA functionality.  
    So, a restatement of my original question:  is there some mechanism with using controls indicators where both the FPGA AND the CPU can write to the same set of flipflops in the FPGA?   If I use an indicator, the FPGA can write to the indicator but the CPU cannot.  If I use a control, the CPU can write to the control, but the FPGA cannot.  Is this correct?   
    -J

  • Cc2014 not using all CPU cores or GPU

    I'm using the new CC2014, and I exported a project straight out of Premiere and it utilized all 8 of my CPU and my GPU. When I export using Adobe Media Encoder, it only uses one core and doesn't seem to use the GPU at all. I tried changing the setting to from GPU to software only, and it didn't seem to make a difference.

    Just found out, that drag and drop PPro Sequences into AME seems to be a work-around.Plus unchecking the "Import Sequences Natively" in AME.
    Well, ..indeed it worked. Not very convenient though and it's a bug that's been around for a while (7 month!! according to some users).
    Please fix this, cannot be too hard, can it?
    What bothers me even more is a still low CPU usage of around 35% over all when exporting....
    My system:
    i7-5930K @ 4.40GHz (overclocked)
    Gigabyte GTX 770 GB
    SSD cache drive
    HDD-RAID0 assets drive
    Windows 8.1

  • Is there a way to adjust the settings on launchpad so that when I swipe into it all the open apps/pages are fully separated (like in exposé) so that I can fully view all of them simultaneously?

    Hi Apple community,
    This is my first go at this so be kind,
    My question concerns launchpad. Coming from Snow Leopard I had been using spaces. I like to keep certain bundles of programs on separate desktops, for example all word processing related tasks in one place. I have set up the equivalent on Yosemite.
    My problem is concerns the loss of exposé. Now I know when you swipe into launch pad you get a very similar effect but the issue I am having concerns the "zoom out" effect when you swipe into launchpad. With exposé all open apps/pages etc would be fully exposed - in my case several (sometimes as many as 9 word documents). What I am running into is when I do this in / into launch pad the "pile" of docs is exposed but they are still overlapping so I can't get a good look at which is which and visually identify where I want to navigate to.
    My question is this; Is there a way to adjust the settings on launchpad so that when I swipe into it all the open apps/pages are fully separated (like in exposé) so that I can fully view all of them simultaneously? If so, instructions on how to do so would be greatly appreciated. Any alternative suggestions to doing this outside of launchpad are also welcome. If there is an exposé app for example, I would be quite willing to go that route.
    My main concern is being able to quickly (ie a touchpad gesture) expand all the open pages so I can bounce between them.
    Much thanks from a loyal Apple friend.

    Hey Eric,
    Thanks for taking the time. Unfortunately no that does not solve it. Same as swipe it will get me there and it will show separate programs spaced out. The issue I am having is that all my open word files are bunched up in a pile on top of each other. I can see the edges of each one but I want them to be separated from each other enough that I can visually identify what file is what.
    Again, thanks for trying, it is appreciated.

  • Not able to find out the OCT 2012 CPU patch for 11.2.0.3

    Hi
    I am trying to download the OCT 2012 CPU patch for the 11.2.0.3 to install on Linux x86-64 which is having OS of RHEL 5.7. I am able to get the OCT 2012 PSU patch which include the CPU patch too.
    Database 11.2.0.3.4 PSU Patch 14275605, or
    GI 11.2.0.3.4 PSU Patch 14275572, or
    But I just require only the CPU patch. Can anyone provide me the patch number or some link where I can download the Oracle CPU patch OCT 2012

    The given link take to the window where CPU patch for all the quarter available.
    The Critical Patch Updates released to date are listed in the following table.
    Critical Patch Update Latest Version/Date
    Critical Patch Update - October 2012 Rev 1, 16 October 2012
    Critical Patch Update - July 2012 Rev 1, 17 July 2012
    Critical Patch Update - April 2012 Rev 2, 19 July 2012
    If I click on Critical Patch Update - October 2012 its takes to the window for selectin the database version (11.2.0.3). From there it goes to the Patch Set Update and Critical Patch Update October 2012 Availability Document [ID 1477727.1] which I had already checked.
    There for the database products it shows the below option.
    Table 9 Patch Availability for Oracle Database 11.2.0.3
    +*<moderator edit - deleted MOS Doc content - pl do NOT post such content - it is a violation of your Support agreement>*+
    It doesnt have the sepreate CPU patch. The below CPU patch is for the OC4J. I had a check.
    Thanks
    SHIYAS M

  • How do I keep a Window resize from holding the CPU and temporaily interrupting the Labview application?

    I am performing a data aquisition in one VI at 10000 Samples per second, then averaging 100 samples every 10 msec.  This runs in a loop and I monitor the time of the loop.  Another VI pulls the single point result of each 10 msec average and plots it to a graph.
    If another window on the Windows XP operating system is re-sized the LabVIEW VI performing the Acquisition suspends until the resizing is complete and I can watch the loop time go from 10 msec to whatever time the other window is being manipulated (100, 200 300 msec...).  The resulting graphical display will then show the next averaged plot point (this is a point to point drawing) without any of the 'real' analog activity that occurred during these +10 msec interruptions (the dataq VI pulls more than 100 samples to perform the averaging).
    Does anyone know how I can prevent the resizing from taking such a high priority on the CPU?  For various reasons I do not want to change my data acquisition scheme.

    chrisger  says: "if you want to pass data without loss you should use a method that allows buffering of data, e.g. queues. Take a look at the LV documentation (there are several solutions, but a named queue is the easiest way to go for such sort of applications)."
    Actually, one VI is running as the executable and the other is called dynamically.  The Dynamic VI uses a queuing vi common to both to access the data.  This part works well, it is the interrupt of the main vi perfoming the data aquisition that is the problem. 
    Because I am not using the full buffer of data, but only whatever portion is acquired and then averaged, the graphing vi essentially gets two (software timed) points and draws between them. 
    I realize software timing is bad, but I am kinda stuck with this scheme.  So, I want to minimize the interruption when a non-related window is re-sized.

Maybe you are looking for