Compute Unified Device Architecture (CUDA)

Größe: px
Ab Seite anzeigen:

Download "Compute Unified Device Architecture (CUDA)"

Transkript

1 Compute Unified Device Architecture (CUDA) Thomas Koller 12. Februar 2012 Zusammenfassung Diese Ausarbeitung beschäftigt sich mit der Programmierung von Grafikkarten mittels CUDA. Bei bestimmten Berechnungen können Grafikkarten eine wesentlich höhere Rechenleistung erzielen als Hauptprozessoren. Das Programmiermodell von Grafikkarten und Hauptprozessoren unterscheidet sich grundlegend. CUDA versucht die Programmierung zu vereinfachen und an das gewohnte Programmieren in C bzw. C++ anzupassen. 1

2 Inhaltsverzeichnis 1 Einleitung 3 2 Die Grafikkarte 3 3 CUDA Überblick Aufbau und Konzept Programmiermodell Ausführungselemente Datenparallelität Speicherverwaltung und Synchronisation Compute Capabilities Werkzeuge Entwicklungswerkzeuge Bibliotheken Fazit 15 2

3 1 Einleitung Die Compute Unified Device Architecture (CUDA) beschreibt eine von der NVIDIA Corporation entwickelte Architektur, die neben der Softwarearchitektur auch die wichtigsten Hardwareeigenschaften spezifiziert. Ziel dieser Architektur ist es die Grafikkarte als allgemeiner Parallelrechner nutzen zu können. Im Englischen ist dieses Konzept unter dem Begriff GPGPU General purpose computation on Graphics Processor Units bekannt. Das Nutzen der Grafikkarte zum Berechnen allgemeiner Aufgaben ist ein recht neuer Trend und wurde vorher durch das eingeschränkte Programmiermodell von Grafikkarten behindert. Grafikkarten dienten alleine zur Grafikberechnung, bzw. zur Berechnung des auf dem Monitor anzuzeigenden Bildes. Da die Berechnung der einzelnen Bildelemente recht aufwendig ist und zur flüssigen Darstellung der Bilder hohe Aktualisierungsraten notwendig sind, wurden viele Algorithmen direkt in Hardware implementiert. Daher erfolgte die Programmierung hardwarenah und der Befehlssatz war eingeschränkt. [WM10] Ein weiteres Problem war die Beschränkung auf spezielle Datentypen, die auf die Anforderungen im Grafikbereich ausgelegt sind. Unterstützt wurden fast ausschließlich Fest- und Fließkommazahlen, die für die Grafikberechnungen ausreichend genau sind, aber eine Umrechnung auf in der CPU genutzten Datentypen wie Integer erschweren. [BM07] In den letzten Jahren wurden diese Probleme durch zahlreiche Verbesserungen behoben. Einerseits gab es Hardwareverbesserungen wie die Nutzung von mehr parallelen Einheiten, mehr und schnelleren lokalen Speicher und höheren Bandbreiten beim Zugriff auf den Hauptspeicher (PCI Express). Andererseits wurde auch das Programmiermodell der Grafikkarte immer weiter verallgemeinert und der Abstraktionsgrad erhöht. Startpunkt dieser Entwicklung war der Wunsch aufwändigere 3D-Effekte in Spielen programmieren zu können. Die Möglichkeit der (eingeschränkten) Programmierbarkeit der Recheneinheiten, die so genannten Shader, begann auf Windowssystemen mit DirectX 8 und plattformunabhängig mit OpenGL 2.0. [WM10] Inzwischen sind Grafikkarten soweit frei programmierbar, dass sie für allgemeine Berechnungen eingesetzt werden können. Da inzwischen nahezu jeder Rechner eine vergleichsweise leistungsstarke Grafikkarte besitzt, die außer bei 3D-Anwendungen kaum gefordert ist, wird GPU-fähige Software immer interessanter für den Heimgebrauch. [PV09] 2 Die Grafikkarte Der Aufbau von Grafikkarten (GPU) unterscheidet sich grundsätzlich vom Aufbau eines Hauptprozessors (CPU). Dies liegt an den unterschiedlichen Aufgabengebieten für die sie entwickelt wurden. Bis vor einigen Jahren besaß 3

4 Abbildung 1: Vergleich Architektur CPU und GPU [NV11] eine CPU nur einen Kern. Die Leistung des Hauptprozessors wurde in erster Linie durch Takterhöhungen gesteigert. Dies brachte bei den zu dieser Zeit rein sequenziellen Programmen immer einen neuen Geschwindigkeitsschub. Mit der Zeit wurde die Erhöhung der Leistung durch reine Taktsteigerung und kleinen Korrekturen am Design immer schwieriger. Um dennoch die Geschwindigkeiten der Programme erhöhen zu können, wurden Prozessoren mit mehr als einem Kern entwickelt. Aktuell werden für den Heimgebrauch zwei bis sechs Kerne im Prozessor verwendet. Im Serverbereich werden CPU mit bis zu 16 Kernen genutzt. Gleichzeitig ist dort der Einsatz von mehreren CPUs üblich. Dieses so genannte Multicore-Konzept unterscheidet sich immer noch erheblich von dem Manycore-Konzept auf das Grafikkarten setzen (Vgl. Abb. 1). Das Multicore-Konzept der CPUs ist auf die möglichst schnelle Ausführung von sequenziellen Programmen ausgelegt. Der größte Teil der heute eingesetzten Software kann von mehreren Kernen nicht profitieren. Daher besitzen CPUs eine große Kontrolllogik um den sequenziellen Code schneller ausführen zu können. Dabei helfen Designtricks wie out-of-order-execution das sequenziellen Code in Hardware parallelisieren kann ohne die sequenzielle Struktur aufzuheben. Zusätzlich helfen große Caches Verzögerungszeiten beim Datenzugriff zu minimieren und die geringen Speicherbandbreiten zu verbergen. [KD10] Das Manycore-Konzept von GPUs benötigt Kontrolllogik und Caches nicht in diesem großen Umfang. Stattdessen wird der verfügbare Platz auf der Chipfläche in eine große Anzahl einfacher Rechenkerne investiert. Die Kontrolllogik ist auf das Nötigste reduziert und die Caches sind recht klein. Da GPUs für die Grafikberechnung entwickelt wurden, besitzen sie seit jeher eine große Speicherbandbreite, um z.b. Texturen schnell verarbeiten zu können. [KD10] Die aktuell schnellste Grafikkarte, die für CUDA-Berechnungen eingesetzt werden kann, die GeForce GTX 580, besitzt 512 Kerne und eine Speicherbandbreite von über 192GB/s. [AW10] Im Vergleich dazu besitzt der aktuell schnellste Hauptprozessor für den Heimgebrauch, der Intel Sandy 4

5 Bridge-E, sechs bis acht Kerne und eine Speicherbandbreite von 35,3GB/s, wenn vier DDR-1600-Module verwendet werden. [RV11] Diese architektonischen Unterschiede begründen, weshalb die CPU eher für allgemeine Anwendungen und die GPU eher für spezielle Anwendungen ausgelegt sind. Diese speziellen Anwendungen für die GPU nutzen die Single Instruction, Multiple Data -Arbeitsweise (SIMD) vorzugsweise mit großen Datenmengen und Datenparallelität (siehe Kapitel 4.2 auf Seite 8). [PV09] Ein weiterer interessanter Aspekt ist die Effizienz bei Berechnungen in Bezug auf den Bedarf an elektrischer Energie (Umgangssprachlich Stromverbrauch ). Grafikkarten haben bei optimierten Programmen eine wesentlich höhere Rechenleistung pro Watt. So leistet eine NVIDIA Fermi C2050 bei 32bit Berechnungen 4,14 GFlop/Watt, ein Intel Nehalem x5550 0,85 GFlop/Watt. [FR11] Abbildung 2: Vergleich Rechenleistung CPU und GPU [FR11] 3 CUDA 3.1 Überblick CUDA setzt auf die grundlegenden Konzepte zweier weit verbreiteter Programmierschnittstellen. Einerseits auf Open Multi-Processing (OpenMP) als Standard für Shared-Memory-Programmierung, andererseits auf das Message Passing Interface (MPI), in dem die Kommunikation zwischen den Prozessen über Nachrichtenaustausch geregelt wird. CUDA nutzt das Konzept des gemeinsamen Speichers von OpenMP. Wegen einer aufwändigen Threadverwaltung skaliert OpenMP bei einer wachsenden Anzahl von Thread nicht sehr gut. CUDA nutzt dagegen eine Threadverwaltung mit wenig Overhead, sodass auf einer GeForce GTX 580 über Threads möglich sind. Weiterhin benötigt OpenMP cache-kohärente Hardware. Dies ist bei CUDA nicht notwendig. [KD10] 5

6 Das MPI-Konzept wird bei CUDA als one-sided message passing mit limited shared memory capability [KD10, S. 13] aufgegriffen. Der Programmierer muss sich um den Datentransfer vom Hauptprozessor (Arbeitsspeicher) zur Grafikkarte (der lokale DRAM auf der Karte) kümmern, danach die Berechnungen auf der GPU durchführen und nach der Berechnung die Daten wieder von der Grafikkarte in den Arbeitsspeicher kopieren. [KD10] 3.2 Aufbau und Konzept Programme für CUDA werden in der Sprache CUDA C geschrieben. Alternativ ist die Sprache auch unter C for CUDA bekannt. Dabei handelt es sich um die Sprache C, die mit CUDA-Spezifischen Schlüsselwörtern erweitert wurde. Weiterhin gehört eine Laufzeitbibliothek zu CUDA C. CUDA trennt zwischen Host- und Device-Code. Der Host-Code läuft weiterhin auf dem Hauptprozessor (CPU) und der Device-Code wird auf der Grafikkarte (GPU) ausgeführt. Dies kann gleichzeitig und asynchron geschehen. Abbildung 3: Sequenzieller Ablauf [FR11] Abbildung 4: Paralleler Ablauf [FR11] CPU und GPU besitzen ihren eigenen Speicher. Die CPU nutzt wie gehabt den Arbeitsspeicher und die GPU ihren lokalen Speicher auf der Grafikkarte. Der Speicher auf der Grafikkarte muss vom Programmierer manuell verwaltet werden. Daten, die zur Berechnung benötigt werden, können nicht automatisch auf die Grafikkarte kopiert werden. Allgemein lässt sich die Programmierung der Grafikkarte mit CUDA folgendermaßen zusammenfassen: 6

7 Die generelle Programmlogik wird weiterhin auf dem Host ausgeführt. Der zur Berechnung benötigte GPU-Speicher wird allokiert. Die Daten werden vom Host zum Device kopiert. Die Berechnungen werden auf dem Device durchgeführt. Das Ergebnis wird vom Device zum Host kopiert. Der allokierte Speicher wird wieder freigeben. Somit kann man die Grafikkarte mit CUDA als eigenständigen Co- Prozessor mit eigenem Arbeitsspeicher und Cache ansehen, der parallel zur CPU arbeitet. Der Compiler für CUDA heißt Nvidia C-Compiler, kurz nvcc. Er unterscheidet anhand der Dateiendungen zwischen Host- und Device-Code. Dateien mit der Endung.cu, die später auf der Grafikkarte laufen sollen, kompiliert er selbst. C oder C++ Dateien für den Host reiche er an einen C bzw. C++ Compiler wie dem GNU C Compiler weiter. 4 Programmiermodell 4.1 Ausführungselemente Funktionen, die auf der Grafikkarte ausgeführt werden, werden in CUDA Kernel genannt. Der Code in einem Kernel wird von jedem Thread genau einmal ausgeführt. Jeder Thread führt somit denselben Code aus. Das folgende Beispiel [NV11] dient zur Addition zweier Vektoren. In der main-funktion wird mit VecAdd<<<1, N>>>(A, B, C) der Kernel mit N Threads aufgerufen. Die Anzahl der Threads muss hierbei gleich der Länge des Vektors sein. Der Kernel wird mit dem Schlüsselwort global definiert und erwartet drei Vektoren. Wichtig ist das Schlüsselwort void. Kernel können keine Werte zurückgeben. Die Rückgabe erfolgt über das Zurückkopieren des entsprechenden Speicherbereichs von der Grafikkarte in den Hauptspeicher (in diesem Fall den Vektor C). 1 // Kernel definition 2 global void VecAdd ( float * A, float * B, float * C) 3 { 4 int i = threadidx. x; 5 C[i] = A[i] + B[i]; 6 } 7 int main () 8 { // Kernel invocation with N threads 7

8 11 VecAdd <<<1, N >>>(A, B, C); 12 } Kernels können mit den Schlüsselwörtern global, device und host definiert werden. Mit Hilfe dieser Schlüsselwörter wird unterschieden, wo eine Funktion ausgeführt werde muss, um eine andere Funktion aufrufen zu dürfen. global bedeutet, dass die Funktion, die auf dem Device läuft, von einer Funktion, die auf dem Host läuft, aufgerufen werden muss. Im Beispiel ruft die main-funktion, die auf dem Host läuft, die auf dem Device laufende Funktion VecAdd auf. Funktionen mit dem Schlüsselwort device dürfen nur andere device -Funktionen aufrufen. host -Funktionen dürfen nur von anderen host -Funktionen aufgerufen werden. [KD10] 4.2 Datenparallelität Der in Abbildung 4, Kapitel 3.2, dargestellte Ablauf nennt sich Taskparallelität. Zwar unterstützt CUDA Taskparallelität, aber Rechenleistung von Grafikkarten kann nur bei Datenparallelität ausgenutzt werden. Bei Datenparallelität werden die Daten aufgeteilt und auf jedem dieser Datenteile wird die gleiche Berechnung durchgeführt. Dazu erlaubt es CUDA die Kernel in Blöcke und Threads zu unterteilen. Jede Berechnung wird einem Thread zugeordnet und die Blöcke dienen dazu diese Threads strukturiert zu ordnen. Ein Kernel führt ein Grid aus. Dieses Grid besteht aus Blöcken, die in der Regel dreidimensional angeordnet sind. In Abbildung 5 wird eine zweidimensionale Anordnung gewählt, z.b. Block(1,1). Diese Blöcke wiederum beinhalten Threads, die bis zu drei Dimensionen haben können. Je nach Anwendung müssen nicht alle Dimensionen benutzt werden. So ist es auch möglich 1 bis N Blöcke in einer Dimension zu nutzen oder im Extremfall nur einen Block zu verwenden. Genauso können Threads zweidimensional und eindimensional verwendet werden. Die Dimensionen von Blöcken und Threads werden beim Kernelaufruf festgelegt. Ein Kernelaufruf erfolgt nach dem Schema KernelFunction<<<dimGrid, dimblock>>>(...);. dimgrid und dimblock sind zwei dreidimensionale Integer-Variablen vom Typ dim3. Erstere bezeichnet die Anordnung der Blöcke, letztere die Anordnung der Threads in den Blöcken. Diese Anordnung der Threads ist in allen Blöcken des Grids gleich und kann genauso wie die Anordnung der Blöcke zur Laufzeit des Kernels nicht mehr verändert werden. Die in Abbildung 5 gezeigte Anordnung von Blöcken und Threads wird über folgenden Code aufgerufen: 1 dim3 dimgrid (2, 2, 1); 2 dim3 dimblock (4, 2, 2); 3 KernelFunction <<< dimgrid, dimblock > > >(...) ; 8

9 Abbildung 5: Organisation von Grids, Blöcken und Threads [KD10] Je nach unterstützter Compute Capability des Grafikchips (siehe Kapitel 4.4), wird eine unterschiedliche Anzahl von Threads und Blöcken unterstützt. Vor Version 2.x war die Dimension der Blöcke auf zwei begrenzt. Seit dieser Version können auch Blöcke dreidimensional sein. Dennoch musste eine dim3-variable verwendet werden. Die letzte Stelle der Variablen wurde dabei ignoriert. Weiterhin war die Anzahl der Threads in einem Block auf 512 limitiert. Nun dürfen es 1024 sein. [NV11] Warum diese Aufteilung in Blöcken und Threads erfolgt, wird nun an einem Beispielen zur Multiplikation zweier Matrizen veranschaulicht. Zur Vereinfachung wird nur ein Block verwendet. In Abbildung 6 ist neben einem C-Quelltext zur sequenziellen Berech- 9

10 nung auf der CPU auch die Verwendung der Variablen M, N, P, i, j und k dargestellt. Die Matrizen sind quadratisch und die Anzahl der Zeilen bzw. der Spalten ist mit dem Parameter WIDTH angegeben. Abbildung 6: einfache Matrixmultiplikation [KD10] Der folgende Kernel [KD10] multipliziert die beiden Matrizen auf der Grafikkarte: 1 // Matrixmultiplication kernel - thread specification 2 global void MatrixMulKernel ( float * Md, float * Nd, float * Pd, int Width ) 3 { 4 // 2D Thread ID 5 int tx = threadidx. x; 6 int ty = threadidx. y; 7 8 // Pvalue stores the Pd element that is computed by the thread 9 float Pvalue = 0; for ( int k = 0; k > Width ; ++k) 12 { 13 float Mdelement = Md[ ty * Width + k]; 14 float Ndelement = Nd[ k * Width + ty ]; 10

11 15 Pvalue += Mdelement * Nelement ; 16 } // Write the matrix to device memory each thread writes one element 19 Pd[ ty * Width + tx] = Pvalue ; 20 } Im Gegensatz zum Standard C-Code fehlen hier die beiden for-schleifen mit den Variablen i und j. Diese wurden durch die Variablen threadidx.x und threadidx.y ersetzt. Da jeder Thread denselben Code ausführt, dienen in diesem Beispiel alleine diese beiden Variablen zur Unterscheidung der Threads. Der erste Thread (0, 0) bekommt automatisch für threadidx.x und threadidx.y jeweils eine 0 zugewiesen. Der zweite Thread (0, 1) hat threadidx.x = 0 und threadidx.y = 1, usw. Somit rechnet jeder Thread genau ein Element in der Matrix Pd aus, indem er nur auf seiner Zeile der Md-Matrix bzw. seiner Spalte der Nd-Matrix arbeitet. [KD10] Bei einer genügend großen Anzahl an Threads können prinzipiell, im Gegensatz zur sequenziellen Ausführung auf der CPU, alle Elemente der Pd-Matrix gleichzeitig ausgerechnet werden. Wenn neben Thread-Ids auch Blöcke benutzt werden, kann man jeden Thread in einem Grid mit Hilfe der Formeln 1 int i = blockidx. x * blockdim. x + threadidx. x; 2 int j = blockidx. y * blockdim. y + threadidx. y; 3 int k = blockidx. z * blockdim. z + threadidx. z; eindeutig identifizieren. Das Aufteilen in Blöcken ermöglicht es später während der Ausführung des Programms eine Art Hierarchiebildung durchzuführen. Das Ziel dabei ist eine optimale Auslastung auch auf anderen CUDA-Grafikkarten mit einer anderen Anzahl an Recheneinheiten (Vgl. Abb. 7). [NV11] 4.3 Speicherverwaltung und Synchronisation Die Speicherverwaltung auf Grafikkarten gestaltet sich komplizierter als bei der Programmierung auf CPUs. Wie in Kapitel 3.2 erwähnt, besitzt die Grafikkarte einen separaten eigenen Speicher. Um Berechnungen auf der Grafik- 11

12 Abbildung 7: Ausführung auf unterschiedlichen GPUs [NV11] karte durchführen zu können, müssen die benötigten Daten zuerst einmal in den Speicher der Grafikkarte kopiert werden. Dazu muss wie unter C zuerst der Speicher allokiert werden. Hierfür besitzt CUDA den Befehl cudamalloc (). Als nächstes kopiert man die Daten mit dem Befehl cudamemcpy() auf die Grafikkarte. Mit diesem Befehl können die Daten auch wieder zurück in den Arbeitsspeicher kopiert werden. Dazu gibt es vier Arten von cudamemcpy (), wovon eine als Parameter dem Befehl übergeben werden muss. Für Daten, die vom Host zum Device kopiert werden, ist cudamemcpyhosttodevice vorgesehen, für die andere Richtung gibt es cudamemcpydevicetohost. Weiterhin gibt es cudamemcpyhosttohost und cudamemcpydevicetodevice um Daten im gleichen Speicherbereich zu kopieren, wobei letzterer nicht für den Datentransfer zwischen zwei Grafikkarten in einem Computer verwendet werden kann. Nach dem Zurückkopieren kann mit cudafree() der anfangs allokierte Speicher auf der Grafikkarte wieder freigegeben werden. [ND11] Eine Synchronisation der Threads ist nur eingeschränkt möglich. Die einzige Möglichkeit, die CUDA zur Synchronisation unterstützt, ist die Funktion syncthreads(), die eine Barrieren-Synchronisation nutzt. Hier wird gewartet bis alle Threads in einem Block (nicht in einem Grid!) an dieser Stelle angelangt sind und den Befehl aufgerufen haben. [NV11] Bei der Synchronisation mit Barrieren ist auf einen möglichst guten Lastausgleich 12

13 zwischen den Threads zu achten, damit die Zeit, die Threads warten müssen, gering ist. 4.4 Compute Capabilities CUDA wird Software- und Hardwareseitig laufend weiterentwickelt. Um festlegen zu können welche Funktionen Hardwareseitig in welchem Umfang unterstützt werden, sind die Grafikchips in verschiedene Klassen eingeteilt. Diese Klassen werden bei CUDA Compute Capabilities genannt. Abbildung 8: Auszug Compute Capabilities [NV11] Unterschieden wird in eine major revision und eine minor revision. Major revision 1.x wurde mit der GeForce 8800 GTX (G80) eingeführt. Diese Version wurde mit der GeForce GTX 280 (GT200) bis zur Compute Capability 1.3 weiterentwickelt. Bei annähernd gleicher Kernarchitektur des Grafikchips wurden einige Funktionen hinzugefügt und beispielsweise atomare Funktionen auf Variablen im globalen Speicher (Compute Capability 1.1) oder die Unterstützung von Gleitkommazahlen in doppelter Genauigkeit (Compute Capability 1.3) ermöglicht. Mit der neuen Chiparchitektur Fermi, die mit der GeForce GTX 480 (GF100) eingeführt wurde, ist die major revision auf 2.x angehoben worden. Die wichtigsten Neuerungen waren einerseits die Möglichkeit nun auch drei- 13

14 dimensionale Blöcke nutzen zu können und andererseits die Verdopplung der maximalen Anzahl an Threads pro Block von 512 auf [NV11] 5 Werkzeuge 5.1 Entwicklungswerkzeuge Das wichtigste Entwicklungswerkzeug für CUDA ist das CUDA Toolkit. Es ist für Linux, Mac und Windows erhältlich und unterstützt unter Linux viele Distributionen wie Fedora, Ubuntu und OpenSUSE. Es beinhaltet den Compiler nvcc, der, wie in Kapitel 3.2 erwähnt, den Cuda-Code selbst kompiliert und den C bzw. C++ Code an einen Standard-Compiler wie dem GNU C Compiler weiterreicht. Zum Debuggen beinhaltet das Toolkit cuda -dgb und cuda-memcheck. cuda-memcheck wurde speziell für das Debuggen von Zugriffsfehlern auf den Speicher entwickelt. Weiterhin gibt es den Visual Profiler zum Optimieren des Programmcodes und verschiedene Bibliotheken für häufig verwendete Funktionen. [NT11] Nur für Windows Vista ab SP1 und Windows 7 und Windows HPC Server 2008 ist NVIDIA Parallel Nsight erhältlich. Es integriert sich in die IDE Microsoft Visual Studio 2008 oder 2010 (jeweils mit SP1) und enthält Funktionen wie debuggen, profiling und tracing. [NP11] 5.2 Bibliotheken Inzwischen gibt es für CUDA viele Bibliotheken. Wichtige Bibliotheken sind u.a. cufft, cublas und Thrust. cufft bietet optimierte Funktionen für Berechnungen mit reellen und komplexen Zahlen, u.a. für die schnelle Fourier- Transformation. cublas besitzt Funktionen für den Bereich der linearen Algebra. Thrust bietet im Vergleich zu Standard-CUDA vereinfachte Funktionen zum Erstellen und Kopieren von Datenstrukturen und optimierte Algorithmen für häufige Probleme wie sortieren, transformieren oder der Reduktion. Weitere Bibliotheken gibt es zum Beispiel zur Generierung von Zufallszahlen und anderen mathematischen Problemen. [NL11] 14

15 6 Fazit Die Programmierung von Grafikkarten für allgemeine Rechenaufgaben wurde mit der Entwicklung von CUDA stark vereinfacht. Allerdings steckt hinter GPGPU ein völlig anderes Programmierkonzept. Datenparallelität steht hier im Vordergrund. Eine vernünftige Aufteilung der Daten und ein darauf ausgelegter Programmcode sind für eine gute Performance essentiell. CUDA wird laufend weiterentwickelt. In der kürzlich erschienenen Version 4.1 wird ein neuer Compiler verwendet. Dieser soll zukünftig neben NVIDA-Grafikkarten auch andere Plattformen bzw. Prozessor-Architekturen wie Grafikchips von AMD und Intel unterstützen. [HD12] Bei Hochleistungsrechnern haben sich Grafikkarten zu Beschleunigung der Berechnungen längst etabliert. Der zweitschnellste Supercomputer, der Tianhe-1A - NUDT YH MPP aus China, setzt auf NVIDIA Tesla C2050 Grafikkarten. [TO11] Auch die Physiker der Universität Bielefeld setzen bei ihrem neuen Hochleistungscomputer auf NVIDIA Grafikkarten. [UA12] Mit der Zeit wird sich diese Entwicklung auch im Heimbereich durchsetzen. Multimediaanwendungen werden immer wichtiger und Grafikkarten immer leistungsfähiger. Gerade diese Anwendungen bieten großes Potential durch Parallelisierung beschleunigt zu werden. 15

16 Literatur [AW10] Andermahr, Wolfgang: Test: Nvidia GeForce GTX 580, Abruf: [BM07] Blunck, Marc: Grafkkarten - Programmierung. Hochschule Bremen, 2007 [FR11] Farber, Rob: CUDA Application Design and Development. Elsevier Inc., Waltham 2011 [HD12] heise Developer: Nvidia veröffentlicht CUDA 4.1 mit LLVM- Compiler. Abruf [KD10] Kirk, David: Programming massively parallel processors. Elsevier Inc., Burlington 2010 [ND11] NVIDIA: NVIDIA CUDA Library Documentation online/index.html, Abruf [NL11] NVIDIA: GPU-Accelerated Libraries. Abruf [NP11] NVIDIA: NVIDIA Parallel Nsight. Abruf [NT11] NVIDIA: CUDA Toolkit Abruf [NV11] NVIDIA: NVIDIA CUDA C Programming Guide, Version CUDA_C_Programming_Guide.pdf, Abruf: [PV09] Pankratius, Victor: Software Engineering für moderne, parallele Plattformen. Universität Karlsruhe (TH), 2009 [RV11] Rißka, Volker: Test: Intel Sandy Bridge-E, Abruf: [SJ10] Sanders, Jason; Kandrot, Edward: CUDA by Example: An Introduction to General-Purpose GPU Programming. Addison-Wesley Longman, Amsterdam 2010 [TO11] TOP500 List - November Abruf

17 [UA12] uni.aktuell: Bielefelder Hochenergie-Physiker erhalten neuen Superrechner. _hochenergie_physiker_erhalten_neuen, Abruf [WM10] Wahl, Michael: Rechnerarchitekturen 2. Universität Siegen,

Compute Unified Device Architecture CUDA

Compute Unified Device Architecture CUDA Compute Unified Device Architecture 06. Februar 2012 1 / 13 Gliederung 2 / 13 : Compute Unified Device Architecture entwickelt von Nvidia Corporation spezifiziert Software- und Hardwareeigenschaften Ziel:

Mehr

CUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg

CUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht Einleitung Architektur Programmierung 2 Einleitung Computations on GPU 2003 Probleme Hohe Kenntnisse der Grafikprogrammierung nötig Unterschiedliche

Mehr

Grundlagen von CUDA, Sprachtypische Elemente

Grundlagen von CUDA, Sprachtypische Elemente Grundlagen von CUDA, Sprachtypische Elemente Stefan Maskanitz 03.07.2009 CUDA Grundlagen 1 Übersicht 1. Einleitung 2. Spracheigenschaften a. s, Blocks und Grids b. Speicherorganistion c. Fehlerbehandlung

Mehr

OpenMP am Beispiel der Matrizenmultiplikation

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

Mehr

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern Institut für Betriebssysteme und Rechnerverbund TU Braunschweig 25.10., 26.10.

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Programmierbeispiele und Implementierung. Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de

Programmierbeispiele und Implementierung. Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de > Programmierbeispiele und Implementierung Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de 2 > Übersicht > Matrix Vektor Multiplikation > Mandelbrotmenge / Apfelmännchen berechnen > Kantendetektion

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

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,

Mehr

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen zur Verwendung von Visual Studio und cmake Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014. inkl. zusätzlichem Übungsanhang K-W81-G-UA

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014. inkl. zusätzlichem Übungsanhang K-W81-G-UA Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014 Windows 8.1 Grundkurs kompakt inkl. zusätzlichem Übungsanhang K-W81-G-UA 1.3 Der Startbildschirm Der erste Blick auf den Startbildschirm (Startseite) Nach

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

Microsoft Visual Studio Community 2015

Microsoft Visual Studio Community 2015 Microsoft Visual Studio Community 2015 Visual Studio Community 2015 ist eine kostenlose IDE mit leistungsfähigen Programmier- und Entwicklungswerkzeugen für Windows, ios und Android. Sie ist für einzelne

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Ein kleiner Einblick in die Welt der Supercomputer. Christian Krohn 07.12.2010 1

Ein kleiner Einblick in die Welt der Supercomputer. Christian Krohn 07.12.2010 1 Ein kleiner Einblick in die Welt der Supercomputer Christian Krohn 07.12.2010 1 Vorschub: FLOPS Entwicklung der Supercomputer Funktionsweisen von Supercomputern Zukunftsvisionen 2 Ein Top10 Supercomputer

Mehr

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch 29.11.2005. für Direkt-Digital-Vario. Firmware ab 00-06-00 Hardware 01 Seriennummer ab 0003

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch 29.11.2005. für Direkt-Digital-Vario. Firmware ab 00-06-00 Hardware 01 Seriennummer ab 0003 DIGITALVARIO Anleitung Bootloader Ausgabe 0.1 deutsch 29.11.2005 für Direkt-Digital-Vario Firmware ab 00-06-00 Hardware 01 Seriennummer ab 0003 1. Funktion Der Bootloader dient dazu Updates der Variosoftware

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen Dateiname: ecdl6_05_01_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 6 Präsentation - Diagramm

Mehr

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6 Inhalt 1. Einführung 2 2. Erstellung einer Teillieferung 2 3. Erstellung einer Teilrechnung 6 4. Erstellung einer Sammellieferung/ Mehrere Aufträge zu einem Lieferschein zusammenfassen 11 5. Besonderheiten

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

1 topologisches Sortieren

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

Mehr

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden. Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden. Nach den Änderungen die Facebook vorgenommen hat ist es einfacher und auch schwerer geworden eigene Seiten einzubinden und

Mehr

OpenGL. (Open Graphic Library)

OpenGL. (Open Graphic Library) OpenGL (Open Graphic Library) Agenda Was ist OpenGL eigentlich? Geschichte Vor- und Nachteile Arbeitsweise glscene OpenGL per Hand Debugging Trend Was ist OpenGL eigentlich? OpenGL ist eine Spezifikation

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Monitore. Klicken bearbeiten

Monitore. Klicken bearbeiten Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition

Mehr

Lehrer: Einschreibemethoden

Lehrer: Einschreibemethoden Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Anzeige von eingescannten Rechnungen

Anzeige von eingescannten Rechnungen Anzeige von eingescannten Rechnungen Wenn Sie sich zu einer Eingangsrechnung die eingescannte Originalrechnung ansehen möchten, wählen Sie als ersten Schritt aus Ihrem Benutzermenü unter dem Kapitel Eingangsrechnung

Mehr

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Inhalt 1. Einleitung:... 2 2. Igel ThinClient Linux OS und Zugriff aus dem LAN... 3

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe

Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe Tutorium Informatik 1 Aufgabe 2: Formatierte Ein- und Ausgabe Fachbereich: Elektrotechnik Inhaltsverzeichnis 1 Aufgabe 1 2 Benötigte Funktionen und Schlüsselwörter 2 Robert Halas / FH Regensburg - 2003

Mehr

Satzhilfen Publisher Seite Einrichten

Satzhilfen Publisher Seite Einrichten Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

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...

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Elexis-BlueEvidence-Connector

Elexis-BlueEvidence-Connector Elexis-BlueEvidence-Connector Gerry Weirich 26. Oktober 2012 1 Einführung Dieses Plugin dient dazu, den Status Hausarztpatient zwischen der BlueEvidence- Anwendung und Elexis abzugleichen. Das Plugin markiert

Mehr

Internet online Update (Mozilla Firefox)

Internet online Update (Mozilla Firefox) Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Mozilla Firefox und gehen auf unsere Internetseite:

Mehr

Installationsanleitung für Update SC-Line 2010.3

Installationsanleitung für Update SC-Line 2010.3 SYSTEMVORAUSSETZUNGEN SC-Line 2010.3 benötigt für den Betrieb Windows 2000, Windows XP, Windows Vista - (32Bit und 64Bit), Windows 7 - (32Bit und 64Bit), Windows Server 2003, Windows Server 2008 - (32Bit

Mehr

Diese Unterlage bezieht sich auf Excel 2010 (auf Deutsch). Die Benutzeroberfläche kann in anderen Versionen der Software erheblich anders aussehen.

Diese Unterlage bezieht sich auf Excel 2010 (auf Deutsch). Die Benutzeroberfläche kann in anderen Versionen der Software erheblich anders aussehen. Vorbemerkung Diese Unterlage bezieht sich auf Excel 2010 (auf Deutsch). Die Benutzeroberfläche kann in anderen Versionen der Software erheblich anders aussehen. Einiges, das bei der Bearbeitung der Übung

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Informationen zum neuen Studmail häufige Fragen

Informationen zum neuen Studmail häufige Fragen 1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:

Mehr

M@school Software- und Druckerzuweisung Selbstlernmaterialien

M@school Software- und Druckerzuweisung Selbstlernmaterialien Bildung und Sport M@school Software- und Druckerzuweisung Selbstlernmaterialien Hinweise zum Skript: LMK = Linker Mausklick RMK = Rechter Mausklick LMT = Linke Maustaste RMT = Rechte Maustaste Um die Lesbarkeit

Mehr

Einführung in die Programmierung (EPR)

Einführung in die Programmierung (EPR) Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

Microsoft Access 2010 Navigationsformular (Musterlösung)

Microsoft Access 2010 Navigationsformular (Musterlösung) Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Access 2010 Navigationsformular (Musterlösung) Musterlösung zum Navigationsformular (Access 2010) Seite 1 von 5 Inhaltsverzeichnis Vorbemerkung...

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Feiertage in Marvin hinterlegen

Feiertage in Marvin hinterlegen von 6 Goecom GmbH & Co KG Marvin How to's Feiertage in Marvin hinterlegen Feiertage spielen in Marvin an einer Reihe von Stellen eine nicht unerhebliche Rolle. Daher ist es wichtig, zum Einen zu hinterlegen,

Mehr

Projektmanagement in der Spieleentwicklung

Projektmanagement in der Spieleentwicklung Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Verbesserungsdetails: PTC Mathcad Prime 3.0. Copyright 2013 Parametric Technology Corporation. weiter Infos unter www.mcg-service.

Verbesserungsdetails: PTC Mathcad Prime 3.0. Copyright 2013 Parametric Technology Corporation. weiter Infos unter www.mcg-service. : PTC Mathcad Prime 3.0 Copyright 2013 Parametric Technology Corporation PTC Mathcad Angepasste Funktionen Sie können eigene Funktionen, die in C++ oder anderen Sprachen geschrieben sind, in die PTC Mathcad

Mehr

Step by Step Softwareverteilung unter Novell. von Christian Bartl

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

Mehr

Viele Bilder auf der FA-Homepage

Viele Bilder auf der FA-Homepage Viele Bilder auf der FA-Homepage Standardmäßig lassen sich auf einer FA-Homepage nur 2 Bilder mit zugehörigem Text unterbringen. Sollen es mehr Bilder sein, muss man diese als von einer im Internet

Mehr

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken Mit Anleitung zur Erstellung einer FTP Verbindung unter Windows 7 Matthias Lange

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

WinVetpro im Betriebsmodus Laptop

WinVetpro im Betriebsmodus Laptop WinVetpro im Betriebsmodus Laptop Um Unterwegs Daten auf einem mobilen Gerät mit WinVetpro zu erfassen, ohne den Betrieb in der Praxis während dieser Zeit zu unterbrechen und ohne eine ständige Online

Mehr

Lineare Gleichungssysteme

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

Mehr

Easy Share Anleitung Februar 2014

Easy Share Anleitung Februar 2014 Easy Share Anleitung Februar 2014 1 Einleitung... 3 2 Website-Funktionen für den Benutzer... 3 2.1 Reiter «Dateien»... 4 2.1.1 Öffnen... 4 2.1.2 Hochladen einer Datei über die Website... 5 2.1.3 Herunterladen...

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

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

Mehr

(C)opyright 2009 by Jochen Vajda

(C)opyright 2009 by Jochen Vajda (C)opyright 2009 by Jochen Vajda Inhalt Einführung Darstellung des Verzeichnisbaums Statusleiste Überschreibenvon Dateien Ordnereinstellungen Suche Einleitung Der folgende Artikel vergleicht den Windows

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen. Dieses Dokument beschreibt die nötigen Schritte für den Umstieg des von AMS.4 eingesetzten Firebird-Datenbankservers auf die Version 2.5. Beachten Sie dabei, dass diese Schritte nur bei einer Server-Installation

Mehr

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Bereich METIS (Texte im Internet) Zählmarkenrecherche Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager Dateiabgleich im Netzwerk über Offlinedateien Dateiabgleich im Netzwerk über Offlinedateien

Mehr

Masterpraktikum Scientific Computing

Masterpraktikum Scientific Computing Masterpraktikum Scientific Computing High-Performance Computing Thomas Auckenthaler Wolfgang Eckhardt Prof. Dr. Michael Bader Technische Universität München, Germany Outline Organisatorisches Entwicklung

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.

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

Mehr

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT Seite 1/7 GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT ZENTRAL LOKALE MANAGEMENT-PLATTFORM FÜR EINE W ELTWEIT SICHERE INDUSTRIELLE KOMMUNIKATION. Seite 2/7 Auf den folgenden Seiten

Mehr

Die Arbeitsweise von Flash

Die Arbeitsweise von Flash Die Arbeitsweise von Flash Daten importieren Wenn man auf das Datei-Menü in Flash klickt kann man einfach eine Datei aus Photoshop oder anderen Grafik-Programmen einfügen. Dazu klickt man auf den Befehl

Mehr

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

! Tipps und Tricks Sie können den Windows Explorer am einfachsten mit der Tastenkombination Windows+ E öffnen.

! Tipps und Tricks Sie können den Windows Explorer am einfachsten mit der Tastenkombination Windows+ E öffnen. Bereiche im Explorer-Fenster In dieser Lektion lernen Sie den Aufbau des Windows Explorers kennen. Der Windows Explorer ist auch in Windows 7 weiterhin der zentrale Punkt, wenn es um die Verwaltung von

Mehr

Synchronisations- Assistent

Synchronisations- Assistent TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent

Mehr

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen? Anleitung für Evident Seite 1 Anleitung für Evident-Anwender: Einbinden der MIZ-Dokumente in Evident. Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen? Zunächst müssen Sie entscheiden,

Mehr

Text Formatierung in Excel

Text Formatierung in Excel Text Formatierung in Excel Das Aussehen des Textes einer oder mehrerer Zellen kann in Excel über verschiedene Knöpfe beeinflusst werden. Dazu zuerst die betroffenen Zelle(n) anwählen und danach den entsprechenden

Mehr

Print2CAD 2017, 8th Generation. Netzwerkversionen

Print2CAD 2017, 8th Generation. Netzwerkversionen Installation der Netzwerkversion Kazmierczak Software Print2CAD 2017, 8th Generation Print2CAD 2017, 8th Generation Netzwerkversionen Einführung Installationshinweise Die Programme von Kazmierczak Software

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr

BELIEBIG GROßE TAPETEN

BELIEBIG GROßE TAPETEN MODERNERES DESIGN 2 HTML-AUSGABEN 3 GESCHWINDIGKEIT 3 BELIEBIG GROßE TAPETEN 3 MULTIGRAMME 3 AUSGABEPFADE 3 INTEGRIERTER FORMELEDITOR 4 FEHLERBEREINIGUNGEN 5 ARBEITSVERZEICHNISSE 5 POWERPOINT 5 HINWEIS

Mehr