Thursday 9 November 2017

Gleitender Mittelwert Ipp


Mathcad Moving average Autor: Chris Wilkinson Posted: Thu, 16 Jan 2003 15:21:01 -0500 Ich muss einen gleitenden Durchschnitt für einen Spaltenvektor mit einer auswählbaren Fensterbreite implementieren. Hat jemand ein Blatt dafür bekommen, nehme ich an, es gäbe eine Funktion im Signalverarbeitungs-Kit, aber das habe ich nicht. Chris Wilkinson Senior Research Scientist CALCE Electronics Produkte und Systeme Zentrum 3200 Martin Hall Universität von Maryland College Park MD 20742 USA Tel 1 301 405 4563, Fax 1 301 314 9269 --- Die Mathcad Liste - Diskussion, Unterstützung amp Nachrichten Beiträge: Hosted by: Adept Scientific adeptscience Liste Archiv: lists. adeptscience. co. uk --- Möchten Sie diese zu einer anderen E-Mail-Adresse kommen --- Einfach die Mailing-Liste (siehe unten) zu verlassen und wieder zu verbinden, indem Sie eine leere E-Mail von der Neue Adresse zu: oder --- Wenn Sie nicht auf der Mathcad-Liste sein wollen, senden Sie einfach eine leere E-Mail (kein Thema oder eine Nachricht erforderlich) an: mathcad RE: Gleitender Durchschnitt Chris Whitford An: Mathcad Diskussionsliste kgt cc: : Mathcad RE: Gleitender Durchschnitt 011703 09:32 AM Bitte antworten Sie auf mathcad Als ich mir die Funktion von Nick Potter ansah, fiel mir ein, dass die Schleifen besser mit Bereichsvariablen geschrieben werden konnten. Als ich dies versuchte, fand ich, dass Bereich Variablen can039t in einem Programm definiert werden. Ist dies wahr, es scheint eine seltsame Beschränkung. Es ist sicherlich wahr. Programme can039t beziehen sich auf globale Bereichsvariablen, entweder direkt oder wenn sie in der Argumentliste übergeben werden, und sie können auch innerhalb des Programms definiert werden. Die Logik scheint zu sein, dass Programme Looping-Konstrukte, wie andere algorithmische Sprachen, so dass Sie don039t Bereichsvariablen benötigen, die ein spezielles Mathcad-Konstrukt sind, um eine Schleife, nach einer Art und Weise, in Arbeitsblättern der obersten Ebene zu erreichen. Nun, dass Programme in der allgemeinen Version verfügbar sind (sie verwendet werden, um nur in Pro-Versionen), sehe ich, dass die bis-Funktion auslaufen wird. Dies war ein Weg zu kludge einfache Schleife bei der Verwendung von Bereich Variablen. Bill Marshall, Senior Principal Acoustical Engineer Raytheon Integrierte Verteidigungssysteme 1847 West Hauptstraße, N17 Portsmouth RI 02871-1087 USA Stimme: 401.842.4286 Fax: 401.842.5226 E-Mail: --- Die Mathcad Liste - Diskussion, Unterstützung amp News Beiträge : Gehostet von: Adept Scientific adeptscience Listenarchiv: lists. adeptscience. co. uk --- Möchten Sie diese zu einer anderen E-Mail-Adresse kommen --- Einfach die Mailing-Liste (siehe unten) zu verlassen und wieder zu senden, indem Sie eine Leere E-Mail von der neuen Adresse an: oder --- Wenn Sie nicht auf der Mathcad-Liste sein wollen, senden Sie einfach eine leere E-Mail (ohne Thema oder Nachricht) an: Windows vs. Linux performance gtgt. Ive gerade beendet einige Loop Timings auf dem Lanczos Resizer ich bereits erwähnt, und für Windows die Schleife läuft in gtgt3 Minuten 36 Sekunden und unter Linux seine 4 Minuten 2 Sekunden. Das scheint mir ein großer Unterschied zu sein. Ich würde nicht erwarten, absolut identische Zahlen und einige Unterschiede in Zeiten könnten dazu beitragen: - verschiedene CC - Compiler - verschiedene Optimierungsoptionen für CC - Compiler ausgewählt - signifikante Unterschiede in OSs (wie Iliya erwähnt) - unterschiedliche Arbeitsbelastung von OSs (Dienste, Netzwerk - Unterstützung, etc ) Es gibt also viele Dinge, die die Leistung auf beiden Plattformen beeinflussen. Welche Compiler haben Sie verwenden Ich habe viele Testfälle und Tests mit MS oder Intel CC Compiler für Windows kompiliert fast immer übertreffen Tests zusammengestellt mit MinGW CC Compiler für Windows. Viele Tests, die mit einem älteren Borland CC Compiler (15 Jahre alte Technologie) kompiliert wurden, übertreffen alle modernen CC-Compiler (), die oben erwähnt wurden. In Ihrem Fall ein Test auf Linux ist 10 langsamer als ein Test auf Windows und insgesamt passt es zu meinen Zahlen. Gtgt. Ich würde nicht erwarten, dass der Compiler die Geschwindigkeit beeinflussen viel, da eine Mehrheit der Arbeit wird innerhalb der IPP-Aufrufe, die gtgtshould zu lösen, um Hand codiert asm (korrekt) durchgeführt wird. Ja, das ist richtig. Hier sind ein paar weitere Kommentare: - Versuchen Sie, eine Priorität Ihrer Anwendung auf High oder Real-Time auf beiden Plattformen zu steigern, um so viele wie mögliche Prozesse und Threads vorhandenen Arbeiten gleichzeitig zu verhindern. Ich mache immer dies bei der Messung der Leistung einiger Stück (e) von Codes. - Versuchen Sie, eine Prozess-Thread-Affinitätsmaske auf eine CPU zu setzen (erzwingen) Hinweis: Für diese beiden Fälle könnte ich zwei kleine Beispiele für Windows, aber für Linux youll müssen verstehen, wie man das gleiche tun - Versuchen Sie, die gleiche - O2-Optimierung verwenden Option mit Visual Studio 2010 Hier sind meine Notizen: gtgt. Linux Scheduler hat viel niedrigere Latenz, dass seine Windows-Gegenstück. Ein Scheduling-Engine für die Familie von Windows NT basierte Betriebssysteme wurde von einem der besten Experten in Multi-Verarbeitung von VAX im Jahr 1990 entwickelt. Dieses Design wurde zunächst in den ersten Versionen von Windows NT eingeführt (1.x, 2.x, 3.x oder so). GtgtKernel Vergleich: Linux (2.6.28) versus Windows (Vista SP1) gtgt. Gtgt. GtgtTimeslice - Multiprozessor gtgtScheduler - Multiprozessor (timeslice) Linux Windows gtgttimeslice - Reichweite 10ms-200ms 15ms-180ms (Client) gtgt180ms (Server) gtgt. Gtgt. Gtgttimeslice - default 100ms 30ms, 60ms, 90ms (Client) gtgt180ms (Server) gtgt. Gtgt. GtgtPerformance gtgtScheduler (Leistung) Linux Windows gtgtscheduling Latenz (durchschnittlich) 0.009mS 2mS10 gtgtscheduling Latenz (schlechter) 0.3mS 16mS10 gtgt. - Der Bericht vergleicht Linux standardmäßig, aber ich verteidige nicht Windows - Der Bericht vergleicht die neueste Version des Kernels für Linux mit einigen älteren Versionen von Windows: Vergleichsversion: Linux Q1 2009 vs Windows Q1 2008 Initial Release: Q4 2008 vs Windows Q1 2007 Letzte Freigabe: Q3 2011 gegen Windows Q1 2011. - Latenzen konnten nicht deterministisch sein. Einer der IDZ-Benutzer testete meinen Testfall auf seinem Computer mit einer aktuellen Intel-CPU und berichtete, dass ein Wechsel von Thread A zu Thread B in 38 Nanosekunden abgeschlossen war. Ich persönlich würde nicht Sorgen über Leistungsunterschiede auf verschiedenen Betriebssysteme, wenn Zahlen für einige Tests unterscheiden sich um weniger als gtgt. Eine Sache, die ich bemerkte (mindestens unter Windows), ist, dass, wenn Sie eine Menge anderer Sachen haben, die zwischen dem IPP Anruf geschehen, gtgtyou kann einige IPP Verlangsamung erhalten. Deshalb empfahl ich, eine Priorität eines Testprozesses während der Tests zu erhöhen. Aber seien Sie vorsichtig, wenn eine IPP-Funktion OpenMP-Threads verwendet, da sie bei Normal Prioritäten ausgeführt werden. Wenn Sie eine Priorität Ihres Haupt-Threads auf High oder Real-Time erhöhen, werden IPP OpenMP-Threads aufgehoben und Ihr Test wird langsamer funktionieren. Sie müssen also OpenMP-Threads für IPP-Funktionen deaktivieren. Hier ist ein Beispiel für die Förderung einer Priorität eines Threads für eine Windows - Plattform:. . SetThreadPriority (. GetCurrentThread (), THREADPRIORITYTIMECRITICAL) uiTicksStart SysGetTickCount (). Einige Verarbeitung. UiTicksEnd SysGetTickCount () SetThreadPriority (GetCurrentThread (), THREADPRIORITYNORMAL).

No comments:

Post a Comment