Intel Threading Building Blocks (TBB)
|
|
|
- Sofia Heidrich
- vor 9 Jahren
- Abrufe
Transkript
1 Intel Threading Building Blocks (TBB) Julius Adorf Seminar: Semantics of C++ TU München
2 Tejas und Jayhawk?
3 Intel Threading Building Blocks (TBB) Parallelisierung für C++ eine Bibliothek mittlerweile Open Source Bildnachweis: tbb01
4 Shared-Memory TBB sind für Shared-Memory-Architektur ausgelegt
5 Überblick Konzeptuelles Schleifen parallel Quicksort parallel Mergesort parallel
6 Abstraktionsebene Verwirklichung der Parallelisierung... mittels Threads Bildnachweis: srt01
7 Abstraktionsebene Parallelisierung aus Anwendersicht... oberhalb der Thread-Ebene unterhalb der Compiler-Ebene Bildnachweis: srt02
8 Eine Problemstellung Quadratzahlen berechnen einfache sequentielle Lösung parallele Lösung?
9 Hauptdarsteller Eingabebereich (= range) Aufgabe (= task) Algorithmus zur Parallelisierung (= algorithm)
10 Eingabebereich z.b. blocked range (ein Intervall) kann rekursiv geteilt werden eventuell selbst definieren
11 Aufgabe Aufgabe des Programmierers arbeitet sequentiell verarbeitet Eingabedaten in bestimmten Eingabebereich
12 Algorithmus sorgt für die parallele Ausführung nimmt Eingabedaten, Aufgabe, und Eingabebereich bereitgestellt von TBB
13 Überblick Konzeptuelles Schleifen parallel Quicksort parallel Mergesort parallel
14 Parallelisieren mit parallel for - Lösungsansatz Datensatz partitionieren Lastverteilung durch work stealing
15 parallel for - Vorbereitung 1 #i n c l u d e <i ostream > 2 #i n c l u d e tbb / t a s k s c h e d u l e r i n i t. h 3 #i n c l u d e tbb / p a r a l l e l f o r. h 4 #i n c l u d e tbb / b l o c k e d r a n g e. h 5 6 u s i n g namespace s t d ; 7 u s i n g namespace tbb ;
16 parallel for - Berechnung 9 v o i d p r i n t s q u a r e ( i n t n ) { 10 i n t n s q u a r e d = n n ; 11 p r i n t f ( %3 i squared i s %3 i \ r \n, n, n s q u a r e d ) ; 12 }
17 parallel for - Aufgabe 14 c l a s s C a l c u l a t e S q u a r e s { i n t c o n s t i n p u t ; p u b l i c : 19 v o i d o p e r a t o r ( ) ( c o n s t b l o c k e d r a n g e <s i z e t >& r ) c o n s t { 20 f o r ( s i z e t i = r. b e g i n ( ) ; i!= r. end ( ) ; i ++) { 21 p r i n t s q u a r e ( i n p u t [ i ] ) ; 22 } 23 } C a l c u l a t e S q u a r e s ( i n t i n p u t [ ] ) : i n p u t ( i n p u t ) { } 26 } ;
18 parallel for - Aufruf i n t main ( ) { 29 t a s k s c h e d u l e r i n i t i n i t ; // p r i o r to v c o n s t i n t n = 1 0 ; 31 i n t i n p u t [ n ] = { 0, 1, 2, 3, 4, 10, 11, 12, 13, 21 } ; 32 p a r a l l e l f o r ( 33 b l o c k e d r a n g e <s i z e t >(0, n ), 34 C a l c u l a t e S q u a r e s ( i n p u t ) ) ; 35 }
19 TBB mit Lambda-Funktionen 14 //... d e f i n e p r i n t s q u a r e, i n c l u d e h e a d e r s i n t main ( ) { 16 t a s k s c h e d u l e r i n i t i n i t ( ) ; // p r i o r to v c o n s t i n t n = 1 0 ; 18 i n t i n p u t [ n ] = { 0, 1, 2, 3, 4, 10, 11, 12, 13, 21 } ; 19 p a r a l l e l f o r ( 20 b l o c k e d r a n g e <s i z e t >(0, n ), 21 [ = ] ( c o n s t b l o c k e d r a n g e <s i z e t >& r ) { 22 f o r ( s i z e t i = r. b e g i n ( ) ; i!= r. end ( ) ; i ++) 23 p r i n t s q u a r e ( i n p u t [ i ] ) ; 24 } ) ; 25 } kommen 2010 mit C++0x-Standard Lambda-Funktionen unterstützt ab GCC 4.5
20 Algorithmen parallel for - Map parallel, Rekursion, Schleifenparallelität parallel reduce - Reduce parallel parallel scan - Präfix-Scan parallel parallel do - Map auf sequentiellem Iterator pipelining - Fließband parallel
21 Überblick Konzeptuelles Schleifen parallel Quicksort parallel Mergesort parallel
22 Quicksort parallelisieren Quicksort mit parallel for left, right = partition(array) quicksort(left); quicksort(right)
23 Quicksort parallelisieren Arbeit beim rekursiven Abstieg Rekursiv partitionieren - eigene Range-Klasse einführen Teilbereiche sequentiell sortieren - Aufgabe definieren
24 Quicksort - eigene Range-Klasse einführen 7 template <typename RandomAccessIterator, 8 typename Compare> 9 s t r u c t QuicksortRange { R a n d o m A c c e s s I t e r a t o r b e g i n ; 12 s i z e t s i z e ; 13 c o n s t Compare &comp ; b o o l empty ( ) c o n s t ; 16 b o o l i s d i v i s i b l e ( ) c o n s t ; 17 QuicksortRange ( QuicksortRange &, s p l i t ) ; 18 QuicksortRange ( R a n d o m A c c e s s I t e r a t o r b e g i n, 19 s i z e t s i z e, 20 Compare &comp ) ; } ;
25 Quicksort - der Split-Konstruktor 37 // pseudo C++ 38 QuicksortRange ( QuicksortRange& o r i g, s p l i t ) { 39 i n t p = p a r t i t i o n ( o r i g. begin, o r i g. b e g i n+o r i g. s i z e ) ; 40 o r i g. s i z e = p ; 41 b e g i n = o r i g. b e g i n + p + 1 ; 42 s i z e = o r i g. s i z e p 1 ; 43 comp = o r i g. comp ; 44 }
26 Quicksort - Aufgabe definieren template <typename RandomAccessIterator, 25 typename Compare> 26 s t r u c t q u i c k s o r t { v o i d o p e r a t o r ( ) ( 29 c o n s t QuicksortRange <RandomAccessIterator, 30 Compare>& r ) c o n s t { 31 s o r t ( r. begin, r. b e g i n + r. s i z e, r. comp ) ; 32 } } ;
27 Überblick Konzeptuelles Schleifen parallel Quicksort parallel Mergesort parallel
28 Mergesort parallel Typisch Divide-and-Conquer Arbeit beim rekursiven Aufstieg Geht weder mit parallel for noch mit parallel reduce
29 Mergesort direkt mit Tasks Task sind kleinste Arbeitspakete Anordnung der Tasks in einem Baum Abarbeitung mit Tiefensuche
30 Mergesort mit Tasks
31 9 s t r u c t SortTask : p u b l i c t a s k { 10 i n t begin, end ; SortTask ( i n t b e g i n, i n t end ) : 13 b e g i n ( b e g i n ), end ( end ) { / nop / } t a s k e x e c u t e ( ) { 16 s i z e t s i z e = end b e g i n ; 17 i f ( s i z e <= 32) { 18 s t d : : s o r t ( begin, end ) ; 19 } e l s e { 20 i n t median = b e g i n + s i z e / 2 ; 21 SortTask& s o r t l e f t = new ( a l l o c a t e c h i l d ( ) ) 22 SortTask ( begin, median ) ; 23 SortTask& s o r t r i g h t = new ( a l l o c a t e c h i l d ( ) ) 24 SortTask ( median, end ) ; 25 s e t r e f c o u n t ( 3 ) ; 26 spawn ( s o r t l e f t ) ; 27 s p a w n a n d w a i t f o r a l l ( s o r t r i g h t ) ; 28 i n p l a c e m e r g e ( begin, median, end ) ; 29 } 30 r e t u r n NULL ;
32 Mergesort parallel v o i d m e r g e s o r t ( i n t begin, i n t end ) { 35 SortTask& s o r t = new ( t a s k : : a l l o c a t e r o o t ( ) ) 36 SortTask ( begin, end ) ; 37 t a s k : : s p a w n r o o t a n d w a i t ( s o r t ) ; 38 }
33 Mergesort parallel - Demo
34 Bilanz Schleifen parallelisiert Quicksort parallelisiert Mergesort parallelisiert angekratzt: parallel reduce, parallel do, parallel scan, pipeline
35 Fazit Verschachtelung von parallelen Abschnitten möglich Gut auch für nachträgliche Parallelisierung Programmierer behält Kontrolle Syntax gewöhnungsbedürftig Recht gute Dokumentation, viele Beispiele Bildnachweis: tbb01
36
37 Quellenangaben - Intel Threading Building Blocks James Reinders: Intel Threading Building Block, O Reilly, 2007 Deilmann, Mario and Willhalm, Thomas: Intel Threading Building Blocks - ein templatebasiertes Programmiermodell für moderne Mehrkehrnarchitekturen, LinuxMagazin, Mai 2007 Popovici, Nicolae und Willhalm, Thomas: Putting Intel Threading Building Blocks to Work, Proceedings of the 1st international workshop on Multicore software engineering, Helmut Erlenkötter: C++, Rowohlt, do-a-new-threading-building-blockscomponent/ for-is-easier-with-lambdas-intel-threadingbuilding-blocks/ bs/dne.html
38 Quellenangaben - Grafiken Alle Grafiken, die hier nicht in den Angaben auftauchen, sind selbst erstellt oder stehen zur freien Verfügung. tbb01 Ausschnitt der Seite (August 2009) srt01 von Schrottie srt02 von Schrottie (auf dieser Seite angepasst)
39 Zusätzliches Material
40 Benchmark Suche nach Substring Rechner mit Dual-Core-Prozessor
41 Benchmark Suche nach Substring Rechner mit Dual-Core-Prozessor
Einführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
Die Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff
Die Java Stream API Funktionale Programmierung mit der Stream API des JDK 1.8 Prof. Dr. Nikolaus Wulff Funktionale Programmierung Neben der Collection API mit default Methoden ist als weitere Neuerung
Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung
Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung Peter Löhr Nichtsequentielle Programme Nichtsequentielle Programme (concurrent programs): Prozesse, Threads, Tasks,... sind eigenständige
Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: [email protected].
Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: [email protected] Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8
Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff
Programmieren in C Rekursive Funktionen Prof. Dr. Nikolaus Wulff Rekursive Funktionen Jede C Funktion besitzt ihren eigenen lokalen Satz an Variablen. Dies bietet ganze neue Möglichkeiten Funktionen zu
Kontrollstrukturen - Universität Köln
Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,
Aufbau einer attraktiven Homepage für die Lehrveranstaltung für SBWL
Aufbau einer attraktiven Homepage für die Lehrveranstaltung für SBWL Vortragende Daniel Mende Sebastian Herzog Ali Badreddine 1 Übersicht Einleitung Die Webseite Gruppenfindung Unser Thema Aufgabenverteilung
Sortierverfahren für Felder (Listen)
Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es
Erwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
Funktionale Programmierung mit Haskell
Funktionale Programmierung mit Haskell Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20120622 Überblick Wichtige Eigenschaften Einführungsbeispiele Listenerzeugung und Beispiel
C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)
C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) 1. Aufgabe 6 Punkte Geben Sie Definitionen an für: float var; 1 a) eine float-variable var: b) einen Zeiger pvar, der float *pvar = &var; 1 auf die
Windows 7 Umsteiger Windows-Explorer
1. In dieser Lektion lernen Sie die neuen Bibliotheken von Windows 7 kennen und erfahren, wie Sie sich mit dem durch die Laufwerke und Ordner Ihres Rechners bewegen. Lernziele dieser Lektion: Bereiche
Simon die linke Hand des Handwerks
Simon die linke Hand des Handwerks Anleitung zur Einbindung der Filme per Embed-Code Alle Handwerksorganisationen und -betriebe können die Filme Simon die linke Hand des Handwerks in ihren Interntauftritt,
Automatisches Parallelisieren
Automatisches Parallelisieren Vorlesung im Wintersemester 2010/11 Eberhard Zehendner FSU Jena Thema: Datenabhängigkeitsanalyse Eberhard Zehendner (FSU Jena) Automatisches Parallelisieren Datenabhängigkeitsanalyse
1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen
1. Einführung Über die Tabellen-Auswertungen können Sie eigene Auswertungen nach Ihren Wünschen erstellen. Diese Auswertungen werden immer anhand der aktuellen Daten aus orgamax ermittelt, Sie können also
Algorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?
Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS
Abschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
OpenMP am Beispiel der Matrizenmultiplikation
OpenMP am Beispiel der Matrizenmultiplikation David J. Meder, Dr. Victor Pankratius IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe
Rundung und Casting von Zahlen
W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0 1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für
Entwurf von Algorithmen - Kontrollstrukturen
Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer
Menü auf zwei Module verteilt (Joomla 3.4.0)
Menü auf zwei Module verteilt (Joomla 3.4.0) Oft wird bei Joomla das Menü in einem Modul dargestellt, wenn Sie aber z.b. ein horizontales Hauptmenü mit einem vertikalen Untermenü machen möchten, dann finden
Sie können sich eine Kurzanleitung zum Fachmodul Heimarbeit im PDF-Format anzeigen lassen. Klicken Sie in der Menüspalte auf Hilfe > Hilfe anzeigen.
1 Anmelden 1.1 Registrieren Wenn Sie noch keinen Zugang zum Fachmodul Heimarbeit haben, können Sie Ihre Firma hier registrieren. Ihre Daten werden an das zuständige Regierungspräsidium übermittelt und
Informatik Grundlagen, WS04, Seminar 13
Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt
Gleichungen und Ungleichungen
Gleichungen Ungleichungen. Lineare Gleichungen Sei die Gleichung ax = b gegeben, wobei x die Unbekannte ist a, b reelle Zahlen sind. Diese Gleichung hat als Lösung die einzige reelle Zahl x = b, falls
4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum
4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.
DVB-S Empfangsgerät, Videorecorder und Fernseher (Fernseher mit zwei Scart- (oder HDMI-)Eingängen)
DVB-S Empfangsgerät, Videorecorder und ( mit zwei Scart- (oder HDMI-)Eingängen) In diesem Fall werden drei benötigt. Ein verbindet die Set-Top-Box mit dem Videorecorder. Ein weiteres dient zur Verbindung
BTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio 16.04.2015 1/9
BTree.dll Realisiert mit Microsoft Visual Studio 16.04.2015 1/9 INHALT 1. Allgemein... 3 2. Class BTree1 (balanciert)... 3 3. Class BTree2 (balanciert und verkettet)... 4 4. Beschreibung BTree1 und BTree2...
Mandanteninformation Die neue amtliche Muster-Widerrufsbelehrung Art. 246 2 Abs. 3 Satz 1 Anlage 1 EGBGB
Die Entwicklung einer für den Rechtsverkehr sicheren und dem europäischen Verbraucherschutzrecht entsprechende Gestaltung des Widerrufsrechts oder Rückgaberechtes im Internethandel ist mit der amtlichen
Umfrageergebnisse zur wirtschaftlichen Situation von Coaches
Umfrageergebnisse zur wirtschaftlichen Situation von Coaches Erhebungszeitraum 1. November bis zum 31. Dezember 26 Copyright 27 by BCO / Jörg Middendorf Die Verteilung, Zitierung und Vervielfältigung auch
1. Legen Sie die mitgelieferte CD in ihr Laufwerk des PC, diese startet dann automatisch mit folgenden Fenster, klicken Sie nun English an.
Installation itunes & EZ Vinyl Converter Installieren Sie als erstes itunes auf Ihrem PC 1. Legen Sie die mitgelieferte CD in ihr Laufwerk des PC, diese startet dann automatisch mit folgenden Fenster,
[ Experiment- und Datenprotokollierung. mit der EV3 Software]
2013 [ Experiment- und Datenprotokollierung mit der EV3 Software] Experiment Datenprotokollierung Es gibt zwei Möglichkeiten um die Datenaufzeichnung durchzuführen. Eine besteht darin, die Datenprotokollierung
1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
Einzel-E-Mails und unpersönliche Massen-Mails versenden
Einzel-E-Mails und unpersönliche Massen-Mails versenden Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe
Step by Step Softwareverteilung unter Novell. von Christian Bartl
Step by Step Softwareverteilung unter Novell von Softwareverteilung unter Novell 1) Starten von einfachen *.EXE-Dateien: Starten sie ConsoleOne Erstellen sie eine eigene Organisationseinheit für ihre Anwendungen
Objektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Lubuntu als Ersatz für Windows
Lubuntu als Ersatz für Windows Das kostenfreie Betriebssystem Lubuntu kann als Distribution für ältere Hard- und Software eingesetzt werden, um z.b. Windows als Betriebssystem abzulösen. Lubuntu bietet
Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager
Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Dateiname: ecdl2_03_05_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement und Dateiverwaltung
Die ersten Schritte mit. DIG-CAD 5.0 Aufmaß
Die ersten Schritte mit DIG-CAD 5.0 Aufmaß Mengenermittlung aus Zeichnungen und Bildern (Zusatzanwendung zu MWM-Libero) MWM Software & Beratung GmbH Combahnstraße 43-53225 Bonn Telefon 0228 400680 - Fax
Bruchrechnung Wir teilen gerecht auf
Bruchrechnung Wir teilen gerecht auf Minipizzen auf Personen. Bruchrechnung Wir teilen gerecht auf Minipizzen auf Personen. : (+) : + Wir teilen einen Teil Eine halbe Minipizza auf Personen. :? Wir teilen
Anleitung für die Online-Bewerbung über LSF auf Lehrveranstaltungen aller Lehramtsstudiengänge
Einloggen: Eingabe von Benutzername und Passwort Benutzername = Matrikelnummer (z.b. 999999) Passwort = Geburtsdatum (z.b. 31.12.1998) wird angezeigt als ********** Nach dem ersten Einloggen sollten sie
Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm [email protected]
Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm [email protected] Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische
Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.
Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren. 1 Automatische Verifikation von Anforderungen Dr. Guido Dischinger [email protected]
AutoSPARQL. Let Users Query Your Knowledge Base
AutoSPARQL Let Users Query Your Knowledge Base Christian Olczak Seminar aus maschinellem Lernen WS 11/12 Fachgebiet Knowledge Engineering Dr. Heiko Paulheim / Frederik Janssen 07.02.2012 Fachbereich Informatik
Symbole und Schnittvorlagen aus www.kerzen-basteln.de
Hinweis: Die folgenden Grafiken sind als Vorlagen für Ihre eigenen Entwürfe gedacht. Sie finden hier keine fertigen Schnittmuster, sondern können Ihrer Fantasie freien Lauf lassen und die Elemente beliebig
Grundlagen der Programmierung (Vorlesung 14)
Grundlagen der Programmierung (Vorlesung 14) Ralf Möller, FH-Wedel Vorige Vorlesung Verifikation von Anweisungen und Anweisungsfolgen Schleifen Inhalt dieser Vorlesung Funktionen und Prozeduren Lernziele
Lehrpläne NRW Sek.stufe 2. Lernen im Kontext
Lehrpläne NRW Sek.stufe 2 Lernen im Kontext Fachliche Inhalte Lernziele Informatik NRW Fähigkeit, komplexe Zusammenhänge mit gedanklicher Schärfe zu durchdringen (Problemanalyse) Überblick über unterschiedliche
Handhabung u. Lagerung von Leiterplatten
Handhabung u. Lagerung von Leiterplatten Handhabung u. Lagerung von Leiterplatten - Umgang mit der Leiterplatte - Richtiges Tempern - Richtiges Lager - Lagerzeiten - Qualitätsbeeinflussung durch Handling
Kopfzeile. Inhaltsverzeichnis
Inhaltsverzeichnis 1.Softwareinstallation mit OPSI...3 1.1.Vorbereitung:...3 1.2.Übungen Softwareinstallation an einzelnen Clients...3 1.2.1.Installation des Programms putty auf einem hochgefahrenen Client...3
1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.
Programmierung des Farbsteuergeräts 340-00112 für Nikobus Diese Bedienungsanleitung gilt auch für die Nikobus-Produkte 340-00111 und 340-00113. Achtung: einige der aufgeführten Betriebsarten sind nur auf
Die Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
Installation der Demoversion vom M-Doc AutoSigner
Mentana-Claimsoft AG Seite 1 Installation der Demoversion vom M-Doc AutoSigner Version 1.0 Mentana-Claimsoft AG Seite 2 Inhaltsverzeichnis 1 Installation der Demoversion von M-Doc AutoSigner... 3 2 Installation
Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition
In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,
Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
So gehts Schritt-für-Schritt-Anleitung
So gehts Schritt-für-Schritt-Anleitung Software WISO Mein Büro Thema Eigene Auswertungen, Tabellenauswertungen Version/Datum V 13.00.05.101 Über die Tabellen-Auswertungen ist es möglich eigene Auswertungen
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl
Java-Applikationen sind Programme mit dem vollen Funktionsumfang eines normalen Programms mit gleicher Funktionalität.
1. Ziel: Vorbereiten von IBM VisualAge 3 für den Einsatz mit dem CP 343-1 IT & 443-1 IT: Anlegen eines neuen Applets und Import der SIMATIC Beans für den IT CP 2. Randbedingungen für diese Applikation:
Objektorientiertes Programmieren mit Suse Linux
Objektorientiertes Programmieren mit Suse Linux Zum Programmieren werden 2 Komponenten benötigt: 1. einen Editor zur Eingabe des Quellcodes 2. einen Compiler, der den Quellcode in die Maschinensprache
Klausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)
Durchdringungen von wärmetechnischen Anlagen durch Holzbauteile
Kamindetails Durchdringungen von wärmetechnischen Anlagen durch Holzbauteile Nachfolgend sind einige Lösungen von wärmetechnischen Anlagen, welche Holzbauteile durchdringen, aufgezeigt. Diese Ausführungsdetails
Anleitung für Abfragen in der. Herold Online Marketing Datenbank
Anleitung für Abfragen in der Herold Online Marketing Datenbank Verkaufsunterstützung/ VerkaufsentwicklungAnzeigenverkauf und Steuerung/ Klassisch Anzeigenverkauf Klassisch Herold Online Marketing Datenbank
Leitfaden zur Prüfung der Aufbau- und Ablauforganisation sowie der technischen Sicherheit von Betreibern von Abwasseranlagen nach DWA-Merkblatt M 1000
Leitfaden zur Prüfung der Aufbau- und Ablauforganisation sowie der technischen Sicherheit von Betreibern von Abwasseranlagen nach DWA-Merkblatt M 1000 Unternehmen: Klicken Sie hier, um Text einzugeben.
Lineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der
Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt.
WinCC UniAddIn Motivation Add-ins für WinCC können in VBA und VB6 programmiert werden. Andere Entwicklungsumgebungen werden nicht standardmäßig unterstützt. Die Entwicklung in VBA hat den Nachteil, dass
Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie [email protected]
Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie [email protected] Interpreter für funktionale Sprache
Datenexport mit orgamax
Datenexport mit orgamax Diese Dokumentation beschäftigt sich mit den gängigsten Formen des Datenexports unter orgamax. Die hier vorgestellten Exporte beziehen sich auf orgamax 13. Arbeiten Sie mit einer
2.1. Fokus Struktur... 53 2.1.1.Einzelgespräche... 54 2.1.2.Team-Besprechungen... 58 2.1.3. Informelle Gespräche... 62 2.1.4.E-Kommunikation...
Inhaltsverzeichnis Inhaltsverzeichnis Vorwort... 5 Inhaltsverzeichnis... 7 So nutzen Sie das Buch... 11 1.Grundlagen... 13 1.1. Tipps für erfolgreiche Mitarbeitergespräche... 15 1.1.1.Gesprächsvorbereitung...
Kosten-Leistungsrechnung Rechenweg Optimales Produktionsprogramm
Um was geht es? Gegeben sei ein Produktionsprogramm mit beispielsweise 5 Aufträgen, die nacheinander auf vier unterschiedlichen Maschinen durchgeführt werden sollen: Auftrag 1 Auftrag 2 Auftrag 3 Auftrag
Hinweis. PKAntonitsch, 20. April 2002 (für kritische Rückmeldungen: [email protected])
Hinweis Lernen erfordert aktive Auseinandersetzung mit den Lerninhalten. Dabei ist»aktiv«nicht mit»reflektiert«zu verwechseln. Das eine kann das andere beinhalten, muss aber nicht. Unter diesem Blickwinkel
Die Tabellenvorlage im Katalog für Tabellen speichern... 2 Weiteres zu Schnellbausteinkatalogen... 4. EDV + Didaktik - Dr. Viola Vockrodt-Scholz
Inhaltsverzeichnis Zu dieser Aufgabe... 1 Tabellenvorlagen erstellen einen Schnellbaustein speichern... 1 Die Tabellenvorlage als Schnellbaustein speichern... 1 Eine Tabelle als Autotext speichern... 1
Anleitung OpenCms. Einfügen eines Template-Umschalters für den Wechsel zwischen mobiler und Dektop-Ansicht
Anleitung OpenCms Einfügen eines Template-Umschalters für den Wechsel zwischen mobiler und Dektop-Ansicht INHALT Inhalt...2 Möglichkeiten der Einrichtung...3 Kopf- bzw. Fußzeile...3 Der Template-Umschalter
Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. [email protected]. [email protected].
1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack [email protected] Klaas Boesche [email protected] Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache
Grafischer Tischeplan
99 Grafischer Tischeplan Den GASTRO-TOUCH Standard-Tischeplan aktivieren Sie über STAMM VERWALTUNG PFLEGE -> ALLGEMEINE EINST. -> SEITE 5 -> GRAFISCHE TISCHANZEIG = G Tischformen / Stühle Sie können kreisförmige
Dokumentation PuSCH App. android phone
Dokumentation PuSCH App android phone Inhaltsverzeichnis Mit dem PuSCH App am Smartphone wird das Bestellen deutlich vereinfacht und beschleunigt! Die PuSCH App ist eine mobile Erweiterung zum Partnerportal
Mining High-Speed Data Streams
Mining High-Speed Data Streams Pedro Domingos & Geoff Hulten Departement of Computer Science & Engineering University of Washington Datum : 212006 Seminar: Maschinelles Lernen und symbolische Ansätze Vortragender:
Modulare Programmierung und Bibliotheken
Modulare Programmierung und Bibliotheken Proseminar-Vortrag am 24.06.2011 von Ludwig Eisenblätter Ludwig Eisenblätter 1 von 25 Modulare Programmierung und Bibliotheken Inhaltsübersicht Motivation / Einleitung
Softfolio Packlistenmanagement Benutzerdokumentation
Inhaltsverzeichnis 1. Packlisten erstellen... 2 1.1. Packlistenverwaltung... 3 1.2. Packlistenerstellung Kopf... 4 1.3. Packlistenerstellung Positionen... 5 a. Liste aller Positionen... 5 b. Liste aller
GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen
GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen Impressum Business Software GmbH Primoschgasse 3 9020 Klagenfurt Copyright 2014 Business Software GmbH Die Inhalte und
Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen
Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung
1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.
1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während
Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags
Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags 2013 style_sheet_bis_verlag_20130513 Arbeiten mit der Dokumentvorlage des BIS-Verlags... 3 Dokumentvorlage Wofür?... 3 Wohin mit der Dokumentvorlage...
Maus & Tastatur Anleitungen für Merlin Project. 2016 ProjectWizards
Maus & Tastatur Anleitungen für Merlin Project 2016 ProjectWizards Maus & Tastatur Maus & Tastatur 1 Maus 1 Kontextmenüs 2 Drag & Drop 2 Gruppe mittels Drag & Drop erstellen 2 Reihenfolge der Projektstruktur
Referenzen TYPO3 Projekt Slider für Reiseberichte Stand: Februar 2015
Projekt Slider für Stand: Februar 2015 Für die Georgienseite gibt es sechs Rubriken mit n aus den Jahren 2001 bis 2013. Pro Jahr gibt es zwischen 5 und 13 Artikel mit n. Diese Artikel sollten nun mehr
Interrupt-Programmierung
Interrupt-Programmierung Am Beispiel des ATMEGA16 Microcontrollers Beispiel: Messung der Betriebszeit Die Betriebszeit zeigt an, wie lange der Rechner seit dem Booten läuft Hier: Aktualisierung der Betriebszeit
Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten
Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und
Anleitung zum Importieren, Durchführen und Auswerten von Umfragen in Blackboard
Center für Digitale Systeme (CeDiS) E-Learning, E-Research, Multimedia [email protected] Januar 2015 Anleitung zum Importieren, Durchführen und Auswerten von Umfragen in Blackboard Kontakte
Einrichten einer Toolchain zur Programmierung des Nibo 2 Roboters mit Atmel Studio 6
Einrichten einer Toolchain zur Programmierung des Nibo 2 Roboters mit Atmel Studio 6 Ing. Holger Kölle M.Sc. 26. Mai 2014 1 Projekteinstellungen in Atmel Studio 6 1. Starten Sie Atmel Studio 6, zu finden
STLB-Bau Kundenmanager
STLB-Bau Kundenmanager Kundenmanager Er managt keine Kunden, aber alle Fragen und deren Antworten! Ich möchte Ihnen folgende Fragen beantworten: Wie können Sie Ihre Fragen stellen? Wo können Sie Ihre Fragen
Klausur GUI-Entwicklung WS10/11 1.Termin
Klausur GUI-Entwicklung WS10/11 1.Termin Aufgabe 1) (8 Punkte) Sie sehen die folgenden Angaben im Projektmappen-Explorer von Visual Studio 2010: a) Erläutern Sie die Bestandteile dieses WPF-Projekts! (5
Wasserfall-Ansätze zur Bildsegmentierung
Wasserfall-Ansätze zur Bildsegmentierung von Philipp Jester Seminar: Bildsegmentierung und Computer Vision 16.01.2006 Überblick 1. Problemstellung 2. Wiederholung: Wasserscheiden-Ansätze 3. Der Wasserfall-Ansatz
Projektverwaltung Problem Lösung: Modulare Programmierung
Projektverwaltung Problem Der Sourcecode ür ein Programm wird immer länger und unübersichtlicher Eine Funktion, die in einem alten Projekt verwendet wurde, soll auch in einem neuen Projekt verwendet werden
Migration von statischen HTML Seiten
Migration von statischen HTML Seiten Was ist Typo3 Typo3 ist ein Content Mangement System zur Generierung von Internetauftritten. Dieses System trennt Inhalt, Struktur und Layout von Dokumenten und stellt
