Numerik und Rechnen. Martin Heide & Dominik Holler. 12. Juni 2006

Größe: px
Ab Seite anzeigen:

Download "Numerik und Rechnen. Martin Heide & Dominik Holler. 12. Juni 2006"

Transkript

1 12. Juni 2006

2 Bibliothek für Lineare Algebra GPGPU-Programming: Low-Level High-Level Bibliothek

3 Bibliothek für Lineare Algebra Gliederung 1 Bibliothek für Lineare Algebra 2

4 Skalare Bibliothek für Lineare Algebra Operationen Beispiel 1 1-Textur: Schreibzugriff effizientes Anbindung an Speicher passt gut zu den folgenden

5 Vektoren Bibliothek für Lineare Algebra Operationen Beispiel 2D-RGBA-Textur

6 Matrizen Bibliothek für Lineare Algebra Operationen Beispiel Matrizen: Volle Matrizen diagonal besetzte Matrizen zufällig besetzte Matrizen

7 Volle Matrizen Bibliothek für Lineare Algebra Operationen Beispiel

8 Bibliothek für Lineare Algebra Diagonal besetzte Matrizen Operationen Beispiel

9 Bibliothek für Lineare Algebra Zufällig besetzte Matrizen Operationen Beispiel Column as as TexCoord 1-4 Matrix Values as as TexCoord 0 Vertex Array 1 Vertex Array 2 Tex0 Pos Tex1-4 Tex0 Pos Tex1-4 Row Index as as Position Abbildung von Jens Krüger (Siggraph 2005 GPGPU course)

10 Bibliothek für Lineare Algebra Operationen auf Vektoren Operationen Beispiel 2D Texturoperationen Logik im Fragmentshader Vector 1 Vector 2 + Vector 3 Static quad TexUnit 0 TexUnit 1 Render To Texture Pass through return tex0+tex1 Vertex Shader Pixel Shader Abbildung von Jens Krüger (Siggraph 2005 GPGPU course)

11 Summieren Bibliothek für Lineare Algebra Operationen Beispiel benötigt für Skalarprodukt original Texture st 1 pass... nd 2 pass Abbildung von Jens Krüger (Siggraph 2005 GPGPU course)

12 Bibliothek für Lineare Algebra Matrix-Vektor Produkt Operationen Beispiel A b x A b = Abbildung von Jens Krüger (Siggraph 2005 GPGPU course) 74

13 Bibliothek für Lineare Algebra Matrix-Vektor Produkt 1/4 Operationen Beispiel b = A x multiply Abbildung von Jens Krüger (Siggraph 2005 GPGPU course)

14 Bibliothek für Lineare Algebra Matrix-Vektor Produkt 2/4 Operationen Beispiel b = A shift b x multiply Abbildung von Jens Krüger (Siggraph 2005 GPGPU course)

15 Bibliothek für Lineare Algebra Matrix-Vektor Produkt 3/4 Operationen Beispiel a 1,1 a 1,2... a 1,n b 1 x 1 a 2,1. b = x 2. a n,1... a n,n b n x n x i = n a i,j b j j=1

16 Bibliothek für Lineare Algebra Matrix-Vektor Produkt 4/4 Operationen Beispiel Column as as TexCoord 1-4 Matrix Values as as TexCoord 0 Vertex Array 1 Vertex Array 2 Tex0 Pos Tex1-4 Tex0 Pos Tex1-4 Row Index as as Position Abbildung von Jens Krüger (Siggraph 2005 GPGPU course)

17 Beispiel Bibliothek für Lineare Algebra Operationen Beispiel Welle im Wasser: 2 y t 2 = c2 ( 2 ) y x y z 2 y x z 1 Diskretisieren 2 Formel aufstellen 3 Formel ausrechnen

18 Bibliothek für Lineare Algebra Beispiel: Disktretisieren Operationen Beispiel Differenzenverfahren: Taylor um x + x f (x + x) = f (x) + f x x +... f x f (x + x) f (x) = x y i+1 y i x +O( x) ( ) +O( x) y y = i y i 1 +O( x) x x i y i+1 y i 1 +O( x) 2 2 x ( 2 ) y x 2 = y i+1 2y i + y i 1 i ( x) 2 +O( x) 2

19 Bibliothek für Lineare Algebra Beispiel: Formel aufstellen 1/3 Operationen Beispiel y t+1 i,j y t+1 i,j 2 ( y 2 ) t 2 = y c2 x y z 2 2y t i,j + y t 1 i,j ( t) 2 = c 2 ( y t i+1,j 2y t i,j + y t i 1,j ( x) 2 + y t i,j+1 2y t i,j + y t i,j 1 ( z) 2 = β (y i+1,j t + yi 1,j t + yi,j+1 t + yi,j 1 t ) + (2 4β)y t i,j y t 1 i,j mit β = c2 ( t) 2 ( x) 2 )

20 Bibliothek für Lineare Algebra Beispiel: Formel aufstellen 2/3 Operationen Beispiel y 1 y 2 y 3 y 4 y 5 y 6 y 7 y 8 y 9

21 Bibliothek für Lineare Algebra Beispiel: Formel aufstellen 3/3 Operationen Beispiel β β β y t 3 1 β 2 4β β β y t 2 β 2 4β β y t 3 β 2 4β β β y t 4 β β 2 4β β β y t 5 β β 2 4β β 6 β 2 4β β y t β β 2 4β β 5 6y7 t 4y 8 t 7 5 β β 2 4β y9 t 2 y t y t+1 3 y t y t 1 y t y t 1 y t y t 1 y t+1 4 = 5 y t 1 y t y t 1 y t y 4y t t+1 5 4y t y t 1 8 y t+1 9 9

22 Formel ausrechnen Bibliothek für Lineare Algebra Operationen Beispiel clmatrix->matrixvectorop(cl SUB, clcurrent, cllast, clnext); // save for next iteration cllast->copyvector(clcurrent); // save for next iteration clcurrent->copyvector(clnext); // unpack for rendering clunext->unpack(clnext); // render as height field renderhf(clunext->m pvectortexture);

23 Zoom 1/2: C++ Bibliothek für Lineare Algebra Operationen Beispiel addvector(vectora, vectorb, vectorc, fscalea, -fscaleb) { setrendertarget(vectorc); ShaderAdd->Enable(); settextur0(vectora); settextur1(vectorb); setuniform(scale, fscalea, fscaleb); RenderViewPortCover();... }

24 Zoom 2/2: GLSL Bibliothek für Lineare Algebra Operationen Beispiel uniform sampler2d vectora; uniform sampler2d vectorb; uniform vec2 f2scalar; void main(void){ gl FragColor = f2scalar.r* texture2d(vectora, gl TexCoord[0].xy) +f2scalar.g* texture2d(vectorb, gl TexCoord[0].xy); }

25 Zusammenfassung Bibliothek für Lineare Algebra Operationen Beispiel 1 2 Operationen 3 Beispiel

26 Dominik Holler & Martin Heide 1

27 Dominik Holler & Martin Heide Gliederung Motivation Das Projekt GPGPU Raumklimabeurteilung Verwendete Hardware Wiederholung von Sh Streams und Kernels Das Konzept von Sh Rechnen mit Sh Behandlung von Matrizen Das Speicherkonzept Rechnen mit Streams GPU CPU Benchmark 2

28 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Das Projekt Das Projekt GPGPU Raumklimabeurteilung Verwendete Hardware Weiterentwicklung einer Software Entstanden am Ingenieurbüro Prof. Hauser Ursprünglicher Code in Fortran77 3

29 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Das Projekt Das Projekt GPGPU Raumklimabeurteilung Verwendete Hardware Thermischdynamische Simulation Daten Strömungs- Behaglichkeits- Simulation Simulation Daten 4

30 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Einflussgrößen der Behaglichkeit Das Projekt GPGPU Raumklimabeurteilung Verwendete Hardware Lufttemperatur Strahlungstemperatur Operative Temperatur Luftgeschwindigkeit Feuchtetemperatur 5

31 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Behaglichkeitssimulation Das Projekt GPGPU Raumklimabeurteilung Verwendete Hardware Strahlungstemperatur nach DIN EN 1946 T2 PMV nach DIN EN ISO 7730 :

32 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Hardware Das Projekt GPGPU Raumklimabeurteilung Verwendete Hardware Technische Daten 20 Fragment Pipelines 2 SIMD Units pro Pipeline 4 x 32 bit pro SIMD Unit 256 BMyte RAM 400 MHz Core Clock 1000 MHz Memory Clock 7

33 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Hardware Weitere Merkmale Das Projekt GPGPU Raumklimabeurteilung Verwendete Hardware SIMD Pipelines... Rendertarget Multipass Routing SWAR ALUs 8

34 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Streams und Kernels Das Konzept von Sh Wiederholung Sh 9

35 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Streams und Kernels in Sh Streams und Kernels Das Konzept von Sh SH::Channel SH::Channel SH::Channel SH::Stream SH::Channel<SH::Attrib4f > in(&speicherobjekt, int Anzahl_Records); // Stream SH::Stream data = (in1 & in2 & in2); 10

36 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Streams und Kernels in Sh Streams und Kernels Das Konzept von Sh SH::InputAttrib4f atr1; SH::Channel SH::InputAttrib4f atr2; SH::Channel SH::InputAttrib4f atr3; SH::Channel SH::Program kernel = SH_BEGIN_PROGRAM( gpu:stream ){... }SH_END; 11

37 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh in Sh Streams und Kernels Das Konzept von Sh SH::Program > Kernel SH::Attrib<int N, B, S> > generischer Datentyp Storage: d > double f > float h > half i > int s > short b > char Binding: SH_TEMP SH_CONST SH_INPUT SH_OUTPUT SH_INOUT 12

38 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Das Sh Konzept Streams und Kernels Das Konzept von Sh Quelle: libsh.org 13

39 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Behandlung von Matrizen Das Speicherkonzept Rechnen mit Streams Rechnen mit Sh 14

40 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Matrixintegration Behandlung von Matrizen Das Speicherkonzept Rechnen mit Streams Matrix 15

41 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Matrixintegration Behandlung von Matrizen Das Speicherkonzept Rechnen mit Streams Sh Channels Matrix + GPU = 16

42 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Matrix Integration mit Sh Matrixintegration Behandlung von Matrizen Das Speicherkonzept Rechnen mit Streams Sh Channels Matrix + Vektor GPU + + CPU + = 17

43 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Matrixintegration Behandlung von Matrizen Das Speicherkonzept Rechnen mit Streams Sh Channels Sh Channels Matrix + Vektor + + GPU CPU GPU = CPU Skalar 18

44 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Matrix Vektor Produkt Behandlung von Matrizen Das Speicherkonzept Rechnen mit Streams Sh Channels Matrix + GPU CPU GPU + = = 19

45 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Diagonalbesetzte Matrizen Behandlung von Matrizen Das Speicherkonzept Rechnen mit Streams Matrix GPU CPU GPU 20

46 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Speicherkonzept von Sh Sh Channels Matrix Behandlung von Matrizen Das Speicherkonzept Rechnen mit Streams Vektor Sh Channels + GPU CPU GPU + + float *indata = new float[x*y]; SH::HostMemoryPtr *inmemory = new SH::HostMemory(sizeof(float) * y, &indata[i*y], SH::SH_FLOAT); SH::Channel<SH::Attrib4f > *in = new SH::Channel<SH::Attrib4f >(inmemory, y); = CPU Skalar 21

47 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Rechnen mit Streams Behandlung von Matrizen Das Speicherkonzept Rechnen mit Streams Sh Channels + + Kernel SH::Program program = SH_BEGIN_PROGRAM( gpu:stream ){ SH::InputAttrib4f a1; SH::InputAttrib4f a2; SH::InputAttrib4f a3; SH::OutputAttrib4f out; out = a1 + a2 + a3; }SH_END; 22

48 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh Zusammenfassung Behaglichkeitssimulation als Anwendungsfall Highlevel Programmierung mit Sh Einschränkungen Stärken 23

49 Dominik Holler & Martin Heide Motivation Wiederholung Rechnen mit Sh CPU GPU Benchmark 24

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

Eine Einführung Computergrafik SS14 Timo Bourdon

Eine Einführung Computergrafik SS14 Timo Bourdon Eine Einführung Computergrafik SS14 Timo Bourdon Organisatorisches Übung am Freitag den 11. Juli entfällt! Zum OpenGL-Übungsblatt OpenGL 3.0 oder höher notwendig (Shading Language 1.50 oder höher) CIP

Mehr

Übersicht 1. Anzeigegeräte 2. Framebuffer 3. Grundlagen 3D Computergrafik 4. Polygongrafik, Z-Buffer 5. Texture-Mapping/Shading 6. GPU 7. Programmierbare Shader 1 LCD/TFT Technik Rotation der Licht-Polarisationsebene

Mehr

Grundlagen der Spieleprogrammierung

Grundlagen der Spieleprogrammierung Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 9: Engines, Cg und anderes Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen 3. Das Ideal: Photorealistisch

Mehr

Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-08

Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-08 Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-08 Noch Kapitel IV: OpenGL Zielsetzungen Hardwarenah aber unabhängig Verschiedene Anwendungsbereiche Wissenschaft, Visualisierung & Entwicklung

Mehr

Eine Einführung in die Architektur moderner Graphikprozessoren

Eine Einführung in die Architektur moderner Graphikprozessoren Eine Einführung in die Architektur moderner Graphikprozessoren Seminarvortrag von Sven Schenk WS 2005/2006 Universität Mannheim, Lehrstuhl für Rechnerarchitektur Inhalt Historische Eckpunkte Einführung

Mehr

Implementierung und Evaluierung von Video Feature Tracking auf moderner Grafik Hardware

Implementierung und Evaluierung von Video Feature Tracking auf moderner Grafik Hardware Implementierung und Evaluierung von Video Feature Tracking auf moderner Diplomarbeit vorgelegt von Sebastian Heymann Betreut von Prof. Dr. Bernd Fröhlich Bauhaus Universität t Dr. Aljoscha Smolic Fraunhofer

Mehr

OpenCL Implementierung von OpenCV Funktionen

OpenCL Implementierung von OpenCV Funktionen Multi-Core Architectures and Programming OpenCL Implementierung von OpenCV Funktionen julian.mueller@e-technik.stud.uni-erlangen.de Hardware/Software Co-Design August 18, 2011 1 Table of content 1 OpenCL

Mehr

Computergrafik. Peter Rösch Hochschule Augsburg University of Applied Sciences. Sommersemester 2014. Version: 24. März 2014

Computergrafik. Peter Rösch Hochschule Augsburg University of Applied Sciences. Sommersemester 2014. Version: 24. März 2014 Peter Rösch Hochschule Augsburg University of Applied Sciences Sommersemester 2014 Version: 24. März 2014 Sommer 2014, HS Augsburg, Peter Rösch Inhalt [1] 1. Einführung 2. WebGL und GLSL 3. Geometrie und

Mehr

Seminar Game Development Game Computer Graphics. Einleitung

Seminar Game Development Game Computer Graphics. Einleitung Einleitung Gliederung OpenGL Realismus Material Beleuchtung Schatten Echtzeit Daten verringern Grafik Hardware Beispiel CryEngine 2 Kristian Keßler OpenGL Was ist OpenGL? Grafik API plattform- und programmiersprachenunabhängig

Mehr

Der Goopax Compiler GPU-Programmierung in C++ ZKI AK-Supercomputing, Münster, 27.03.2014, Ingo Josopait

Der Goopax Compiler GPU-Programmierung in C++ ZKI AK-Supercomputing, Münster, 27.03.2014, Ingo Josopait Der Goopax Compiler GPU-Programmierung in C++ AMD R9 290X: 5.6 TFLOPS (SP MulAdd) Programmierung ~10000 Threads Entwicklungsumgebungen Entwicklungsumgebungen CUDA, OpenCL Compiler: kernel GPU Maschinencode

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

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ Seite 1 Einführung in die Programmierung mit C Teil IV - Weiterführende Themen 16. SIMD Programmierung Was bedeutet SIMD Seite SIMD Single-Instruction, Multiple-Data, also eine Instruktion, mehrere Daten

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 1/23 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 6

Mehr

Asteroids3D Seminar: Game Programming. Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann

Asteroids3D Seminar: Game Programming. Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann Asteroids3D Seminar: Game Programming Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann Gliederung 2 1. Live-Demo und Spielidee 2. Softwarearchitektur und Szenengraph Übersicht

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Stream Processing und High-Level GPGPU Sprachen

Stream Processing und High-Level GPGPU Sprachen Seminar: Programmierung von Grafikkarten Stream Processing und High-Level GPGPU Sprachen Jens Breitbart brietbar@student.uni-kassel.de Abstract Die Leistung aktueller Prozessoren erhöht sich sehr viel

Mehr

Datenfelder (Arrays) Vektoren, Matrizen, Tabellen. Dr. Beatrice Amrhein

Datenfelder (Arrays) Vektoren, Matrizen, Tabellen. Dr. Beatrice Amrhein Datenfelder (Arrays) Vektoren, Matrizen, Tabellen Dr. Beatrice Amrhein Überblick Eindimensionale Arrays o Deklaration, Initialisierung, Zugriff Mehrdimensionale Arrays o Deklaration, Initialisierung, Zugriff

Mehr

GPU-Computing im Rahmen der Vorlesung Hochleistungsrechnen

GPU-Computing im Rahmen der Vorlesung Hochleistungsrechnen GPU-Computing im Rahmen der Vorlesung Hochleistungsrechnen Universität Hamburg Scientific Visualization and Parallel Processing Übersicht Hintergrund und Entwicklung von GPGPU Programmierumgebungen & Werkzeuge

Mehr

GPGPU mit NVIDIA CUDA

GPGPU mit NVIDIA CUDA 01.07.12 GPGPU mit NVIDIA CUDA General-Purpose on Formatvorlagecomputing des Graphics Processing durch Units Untertitelmasters mit KlickenCompute bearbeiten NVIDIA Unified Device Architecture Gliederung

Mehr

GPU-Computing. Michael Vetter

GPU-Computing. Michael Vetter GPU-Computing Universität Hamburg Scientific Visualization and Parallel Processing @ Informatik Climate Visualization Laboratory @ Clisap/CEN Übersicht Hintergrund und Entwicklung von GPGPU Programmierumgebungen

Mehr

Convey, Hybrid-Core Computing

Convey, Hybrid-Core Computing Convey, Hybrid-Core Computing Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik HWS 09 Universität Mannheim Markus Müller 1 Inhalt Hybrid-Core Computing? Convey HC-1 Überblick

Mehr

OpenCL. Seminar Programmiersprachen im Multicore-Zeitalter Universität Siegen Tim Wiersdörfer tim.wiersdoerfer@student.uni-siegen.

OpenCL. Seminar Programmiersprachen im Multicore-Zeitalter Universität Siegen Tim Wiersdörfer tim.wiersdoerfer@student.uni-siegen. OpenCL Seminar Programmiersprachen im Multicore-Zeitalter Universität Siegen Tim Wiersdörfer tim.wiersdoerfer@student.uni-siegen.de Abstract: In diesem Dokument wird ein grundlegender Einblick in das relativ

Mehr

GPU Programmierung. Thorsten Grosch

GPU Programmierung. Thorsten Grosch Thorsten Grosch Willkommen zur ersten Vorlesung! g Heute Organisatorisches Vorstellung von Team und Vorlesung Historischer Rückblick zu GPUs 2 Das Team Vorlesung Jun.-Prof. Thorsten Grosch AG Computervisualistik

Mehr

Programmierung von Graphikkarten

Programmierung von Graphikkarten Programmierung von Graphikkarten Stefan Lang Interdisziplinäres Zentrum für Wissenschaftliches Rechnen Universität Heidelberg INF 368, Raum 532 D-69120 Heidelberg phone: 06221/54-8264 email: Stefan.Lang@iwr.uni-heidelberg.de

Mehr

Gegenüberstellung herkömmlicher Shader- Hochsprachen und der Metasprache Sh bei der GPU Programmierung

Gegenüberstellung herkömmlicher Shader- Hochsprachen und der Metasprache Sh bei der GPU Programmierung Fachbereich 4: Informatik Gegenüberstellung herkömmlicher Shader- Hochsprachen und der Metasprache Sh bei der GPU Programmierung Studienarbeit im Studiengang Computervisualistik vorgelegt von Michelle

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar Workshop: Einführung in die 3D-Computergrafik Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar 1 Organisatorisches Tagesablauf: Vormittags: Theoretische Grundlagen Nachmittags: Bearbeitung

Mehr

Manycores: Hardware und Low-Level Programmierung

Manycores: Hardware und Low-Level Programmierung Manycores: Hardware und Low-Level Programmierung Florian Sattler Universität Passau 18. Juni 2014 Übersicht Einführung Neue Architekturen Programmierung Supercomputing Fazit 2 / 29 Top 500 3 / 29 Motivation

Mehr

Programmieren in C++ Arrays, Strings und Zeigerarithmetik

Programmieren in C++ Arrays, Strings und Zeigerarithmetik Programmieren in C++ Arrays, Strings und Zeigerarithmetik Inhalt Eindimensionale C-Arrays C-Strings und Strings (Mehrdimensionale C-Arrays) Arrays und Vektoren (C++) Unique Pointers (C++11) Zeigerarithmetik

Mehr

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 8: Komplexität und Speicheraufwand Patrick Schreier Abteilung für Angewandte Mathematik Vorlesung vom 23. Juni 2014 Gliederung

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Programming Models for Cell BE

Programming Models for Cell BE Hauptseminar MAP08 Programming Models for Cell BE Hannes Stadler, Sebastian Graf HannesStadler@gmx.de, sebgr@gmx.net Betreuung: Matthias Hartl, Hritam Dutta, Frank Hannig Hardware-Software-Co-Design Universität

Mehr

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006 DirectX und OpenGL Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006 2 Inhalt Einleitung Übersicht DirectX und Komponenten Übersicht OpenGL Sprachlicher Aufbau OpenGL Sprachlicher

Mehr

MF Breadcrumbs. Sergej Schefer & Fabian Marx

MF Breadcrumbs. Sergej Schefer & Fabian Marx MF Breadcrumbs Sergej Schefer & Fabian Marx MF Breadcrumbs! Entwurf! Algorithmen! Screenshots / Live-Demo Entwurf! 2.5D Jump n Run! Spieler kann sich durch Level bewegen und Punkte aufsammeln! Freie Levelgestaltung

Mehr

OpenCV - Open Source Computer Vision

OpenCV - Open Source Computer Vision OpenCV - Open Source Computer Vision Niklas Beuter und Christian Lang 6. Mai 2009 OpenCV - Open Source Computer Vision 1 Übersicht Vorteile von OpenCV 1 Vorteile von OpenCV 2 Aufbau 3 OpenCV einbinden

Mehr

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte

Mehr

Ralf Wondratschek adorsys GmbH & Co. KG. Bildbearbeitung für Android mit OpenCV

Ralf Wondratschek adorsys GmbH & Co. KG. Bildbearbeitung für Android mit OpenCV Ralf Wondratschek adorsys GmbH & Co. KG Bildbearbeitung für Android mit OpenCV Inhalt OpenCV API Pixel Zugriff Effektbeispiele Inhalt Einbindung in Android Kamerazugriff bei Android Best Practices cv::scalar

Mehr

Programmieren für Physiker: C++

Programmieren für Physiker: C++ Programmieren für Physiker: C++ Termine: Vorlesung: Di. 8:00-9:30 Uhr, Lehmann-HS (M. Steinhauser) Hörsaalübungen: Fr. 8:00-9:30 Uhr, Lehmann-HS (A. Mildenberger) Computerübungen: (voraussichtlich) (Fragen

Mehr

Java-Prozessoren. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz. Datentypen. Operanden-Stack. Konstanten-Pool.

Java-Prozessoren. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz. Datentypen. Operanden-Stack. Konstanten-Pool. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz Datentypen Operanden-Stack Konstanten-Pool Methoden-Area Heap für Laufzeit-Daten Class File Format 26 Die Java Virtual Machine Java Instruktions-Satz

Mehr

1. Grundlegende Konzepte in Java (6 Punkte)

1. Grundlegende Konzepte in Java (6 Punkte) 1. Grundlegende Konzepte in Java (6 Punkte) a) Welches der folgenden Literale ist korrekt und wenn ja, von welchem Typ ist es? "true" nicht korrekt X korrekt vom Typ String 'true' X nicht korrekt korrekt

Mehr

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving

Mehr

11: Echtzeitbetriebssystem ucos-ii

11: Echtzeitbetriebssystem ucos-ii 11: Echtzeitbetriebssystem ucos-ii Sie lernen anhand aufeinander aufbauender Übungen, welche Möglichkeiten ein Echtzeitbetriebssystem wie das ucosii bietet und wie sich damit MC-Applikationen realisieren

Mehr

FHZ. K20 Arrays. Lernziele. Hochschule Technik+Architektur Luzern Abteilung Informatik, Fach Programmieren. Inhalt

FHZ. K20 Arrays. Lernziele. Hochschule Technik+Architektur Luzern Abteilung Informatik, Fach Programmieren. Inhalt Inhalt 1. Einführung 2. Array-Komponenten von elementaren Datentypen 3. Array-Komponenten sind Objekte 4. Array als Parameter 5. Kopieren von Arrays 6. Beispiel 7. Vector versus Array Folie 1 Lernziele

Mehr

Seminar: Programmierung von Grafikkarten (SS 2006)

Seminar: Programmierung von Grafikkarten (SS 2006) Seminar: Programmierung von Grafikkarten (SS 2006) Shader Christian Niemand (nemojr@gmx.de) Johannes Spohr (jspohr@student.uni-kassel.de) Universität Kassel, FB 16 Research Group Programming Languages

Mehr

Benchmarking Intel Pentium III-S vs. Intel Pentium 4

Benchmarking Intel Pentium III-S vs. Intel Pentium 4 Benchmarking Intel Pentium III-S vs. Intel Pentium 4 André Ceselski Raphael Rosendahl 30.01.2007 Gliederung Motivation Vorstellung der Architekturen Intel P6 Architektur Intel NetBurst TM Architektur Architektur-Unterschiede

Mehr

Test-Driven Design: Ein einfaches Beispiel

Test-Driven Design: Ein einfaches Beispiel Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms

Mehr

Was ist MATLAB? Typische Anwendungen

Was ist MATLAB? Typische Anwendungen Computational Physics 1, Seminar 01 Seite 1 Was ist MATLAB? numerisches Berechnungs- und Simulationswerkzeug integriert Berechnung, Visualisierung und Programmierung gleichzeitig höhere Programmiersprache

Mehr

Embedded OS für ARM Cortex Microcontroller

Embedded OS für ARM Cortex Microcontroller Embedded OS für ARM Cortex Microcontroller RTOS Design, Timinganalyse und Test mit Core Simulation und Hardware Debugger Entscheidende Fragen für oder gegen RTOS Lohnt sich der Einsatz eines RTOS auch

Mehr

Jörn Loviscach Hochschule Bremen

Jörn Loviscach Hochschule Bremen Programmierbare Hardware-Shader Jörn Loviscach Hochschule Bremen Überblick Vertex- und Pixel-Shader Anwendungsbeispiele fx-dateien Anwendungsbeispiele Zusammenfassung Puffer Vertex- und Pixel-Shader Hardware-Renderpipeline

Mehr

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme wwwnet-texde Proseminar Rechnerarchitekturen Parallelcomputer: Multiprozessorsysteme Stefan Schumacher, , PGP Key http://wwwnet-texde/uni Id: mps-folientex,v

Mehr

Aktuelle Trends und Herausforderungen in der Finite-Elemente-Simulation

Aktuelle Trends und Herausforderungen in der Finite-Elemente-Simulation Aktuelle Trends und Herausforderungen in der Finite-Elemente-Simulation Kai Diethelm GNS Gesellschaft für numerische Simulation mbh Braunschweig engineering software development Folie 1 Überblick Vorstellung

Mehr

Direkte Volumenvisualisierung

Direkte Volumenvisualisierung Universität Stuttgart Direkte Volumenvisualisierung Seminar Medizinische Visualisierung SS06 Alexander Lauser Struktur des Vortrags Motivation Grundlagen Volume Render-Algorithmen Raycasting Volume-slicing

Mehr

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl PROGRAMMIEREN MIT C Allgemeine hinweise Alles was hier beschrieben wird, soll auch ausprobiert werden. Warum C? Weil die coolen Dinge mit C am einfachsten gehen. Das werden wir in den folgenden Übungen

Mehr

Angewandte Umweltsystemanalyse: Finite-Elemente-Methode (FEM)

Angewandte Umweltsystemanalyse: Finite-Elemente-Methode (FEM) Angewandte Umweltsystemanalyse: Finite-Elemente-Methode (FEM) Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Die Bildbearbeitungssprache Halide

Die Bildbearbeitungssprache Halide Die Bildbearbeitungssprache Halide Dominik Danner 13.06.2013 Dominik Danner Die Bildbearbeitungssprache Halide 13.06.2013 1 / 30 Inhaltsverzeichnis 1 Einführung Die Domäne der Bildbearbeitung Einführungsbeispiel

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Ein erstes Java-Programm

Ein erstes Java-Programm Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println

Mehr

(13) Hot Topics. Vorlesung Computergrafik T. Grosch

(13) Hot Topics. Vorlesung Computergrafik T. Grosch (13) Hot Topics Vorlesung Computergrafik T. Grosch Heute Vorstellung der besten Flugsimulatoren Hot Topics T. Grosch - - Warum Hot Topics? Typischerweise i Computergrafik 1 : Grundlagen, konstant Computergrafik

Mehr

Haskell auf der Überholspur mit LLVM. Henning Thielemann 2014-06-20

Haskell auf der Überholspur mit LLVM. Henning Thielemann 2014-06-20 Haskell auf der Überholspur mit LLVM Henning Thielemann 2014-06-20 1 2 Funktionsweise 3 Übungen Motivation 1 Motivation LLVM 2 Funktionsweise 3 Übungen Motivation Motivation Haskell-Programmierer: Was

Mehr

Der Advanced Encryption Standard (AES)

Der Advanced Encryption Standard (AES) Der Advanced Encryption Standard (AES) Prof. Dr. Rüdiger Weis TFH Berlin Sommersemester 2008 Geschichte des AES Die Struktur des AES Angriffe auf den AES Aktuelle Ergebnisse DerAdvanced Encryption Standard

Mehr

Multicore Herausforderungen an das Software-Engineering. Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück 15.09.2010

Multicore Herausforderungen an das Software-Engineering. Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück 15.09.2010 Multicore Herausforderungen an das Software-Engineering Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück 15.09.2010 Inhalt _ Motivation _ Herausforderung 1: Hardware _ Herausforderung 2: Software-Partitionierung

Mehr

Matlab Einführung. Tobias Wunner

Matlab Einführung. Tobias Wunner Matlab Einführung Tobias Wunner 16. Oktober 2006 Vorteile Interpreter und interaktive Befehlseingabe Schnelles Implementieren von wissenschaftlichen Methoden Gutes Hilfesystem >> lookfor 'sum' TRACE Sum

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

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

Einführung in das parallele Programmieren mit MPI und Java

Einführung in das parallele Programmieren mit MPI und Java Einführung in das parallele Programmieren mit und Java Seite 1 Übersicht Parallele Prozesse und Erste Schritte mit Kollektive Kommunikation Weitere Möglichkeiten Seite 2 Literatur (1) Homepage des 2-Forums

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Computer-Graphik I Transformationen & Viewing

Computer-Graphik I Transformationen & Viewing lausthal Motivation omputer-raphik I Transformationen & Viewing Man möchte die virtuelle 3D Welt auf einem 2D Display darstellen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann

Mehr

Felder. November 5, 2014

Felder. November 5, 2014 Felder Universität Bielefeld AG Praktische Informatik November 5, 2014 Felder: Datenstrukturen mit konstantem Zugriff Felder nennt man auch, Vektoren, Matrizen,... Konstanter Zugriff heisst: Zugriff auf

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b

Mehr

Programmieren in C. Die C-Standardbibliothek. Prof. Dr. Nikolaus Wulff

Programmieren in C. Die C-Standardbibliothek. Prof. Dr. Nikolaus Wulff Programmieren in C Die C-Standardbibliothek Prof. Dr. Nikolaus Wulff Die C-Standard Bibliothek Mit dem C Compiler werden viel fertige Bibliotheksfunktionen ausgeliefert. Eine genaue Kenntnis dieser Funktionen

Mehr

Entwicklung einer echtzeitfähigen CLI-Laufzeitumgebung für den Einsatz in der Automatisierungstechnik

Entwicklung einer echtzeitfähigen CLI-Laufzeitumgebung für den Einsatz in der Automatisierungstechnik Entwicklung einer echtzeitfähigen CLI-Laufzeitumgebung für den Einsatz in der Automatisierungstechnik Echtzeit 2010 Alexej Schepeljanski Martin Däumler Matthias Werner Echtzeit 2010 / 18. November 2010

Mehr

Heute. Motivation. Verfügbarkeit. Programmierbare Hardware-Shader. Technische Entwicklung von Grafikhardware. Grafikpipeline (DirectX9)

Heute. Motivation. Verfügbarkeit. Programmierbare Hardware-Shader. Technische Entwicklung von Grafikhardware. Grafikpipeline (DirectX9) t.jung@fhtw-berlin.de Heute Programmierbare Hardware-Shader Thomas Jung Architektur moderner Grafikkarten Rendering von Polygonlisten mit DirectX9 Vertex- und Pixel(Fragment) shader Motivation Spiele kommen

Mehr

In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch

In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch Kapitel Matrizen in C++ In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch 1 const int n=10; 3 double a[n][n]; gegeben. Allerdings gibt es bei dieser Methode eine Reihe

Mehr

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs Programmieren 9.1.11 Microcontroller Kurs/Johannes Fuchs 1 General Purpose Input Output (GPIO) Jeder der Pins der vier I/O Ports kann als Eingabe- oder Ausgabe-leitung benutzt werden.

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Einführung in Hauptspeicherdatenbanken

Einführung in Hauptspeicherdatenbanken Einführung in Hauptspeicherdatenbanken Harald Zankl Probevorlesung 13. 01., 13:15 14:00, HS C Inhaltsverzeichnis Organisation Überblick Konklusion Harald Zankl (LFU) Hauptspeicherdatenbanken 2/16 Organisation

Mehr

Rechner Architektur. Martin Gülck

Rechner Architektur. Martin Gülck Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard

Mehr

Grakkarten - Programmierung

Grakkarten - Programmierung Grakkarten - Programmierung Version 1.3 20.02.2006 Marc Blunck 97129 Diese Ausarbeitung befasst sich mit der Programmierung von Grakprozessoren. meint General Purpose Computation On Graphics

Mehr

Heutige Möglichkeiten von Prozessoren in eingebetteten Systemen

Heutige Möglichkeiten von Prozessoren in eingebetteten Systemen Heutige Möglichkeiten von Prozessoren in eingebetteten Systemen Wolfram Luithardt Hochschule für Technik und Architektur, Fribourg, Schweiz Chemnitzer Linux Tage 2014, Wolfram Luithardt, EIA-Fribourg Schweiz,

Mehr

DBUS Interprozess-Kommunikation für Embedded-Plattformen

DBUS Interprozess-Kommunikation für Embedded-Plattformen DBUS Interprozess-Kommunikation für Embedded-Plattformen Andreas Schwarz Neratec Solutions AG Firmenprofil Neratec Solutions AG Produkt-Entwicklungen für kundenspezifische elektronische Produkte Produkte

Mehr

Kapitel 5: Graphikhardware und Parallelisierung

Kapitel 5: Graphikhardware und Parallelisierung Kapitel 5: Graphikhardware und Parallelisierung 1 Überblick Taxonomie für Graphikhardware Historie der Graphikhardware Architektur-Beispiele Programmierbare Hardware Taxonomie von Parallelisierungsansätzen

Mehr

OpenGL als API für Augmented und Virtual Reality

OpenGL als API für Augmented und Virtual Reality OpenGL als API für Augmented und Virtual Reality Tobias Lang langt@cip.ifi.lmu.de Hausarbeit im Hauptseminar Augmented und Virtual Reality Inhaltsverzeichnis 1. Einleitung... 3 2. Was ist OpenGL... 3 3.

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

OpenCV - Open Source Computer Vision

OpenCV - Open Source Computer Vision OpenCV - Open Source Computer Vision Niklas Beuter 30. April 2008 OpenCV - Open Source Computer Vision 1 Übersicht Vorteile von OpenCV Community 1 Vorteile von OpenCV Community 2 Aufbau Funktionalität

Mehr

Hochleistungsberechnungen für Industrie und Weltraum

Hochleistungsberechnungen für Industrie und Weltraum Christian Federspiel Hochleistungsberechnungen für Industrie und Weltraum christian.federspiel@catalysts.at Stagnation seit 2005 Performance Parameter Entwicklung von 2005-2020 Taktfrequenz L1 / L2 Cache

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

airbases.txt Airbase 99 Sys Ex Documentation 1. SysEx Protokolle Firmware Vers. 1.09 x=don't care 1.1. Bulk Dump Tx/Rx

airbases.txt Airbase 99 Sys Ex Documentation 1. SysEx Protokolle Firmware Vers. 1.09 x=don't care 1.1. Bulk Dump Tx/Rx Airbase 99 Sys Ex Documentation airbases.txt 1. SysEx Protokolle Firmware Vers. 1.09 x=don't care 1.1. Bulk Dump Tx/Rx ;Header: $f0 SysEx Command $31 JoMoX ID $7f Operation Code Bulkdump $56 AirBase99

Mehr

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies

Mehr

L6. Operatoren und Ausdrücke

L6. Operatoren und Ausdrücke L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.

Mehr

Unterprogramme, Pointer und die Übergabe von Arrays

Unterprogramme, Pointer und die Übergabe von Arrays Unterprogramme, Pointer und die Übergabe von Arrays Unterprogramme Wie schon im Abschnitt über Funktionen erwähnt, versteht man unter einem Unterprogramm im engeren Sinn eine Prozedur, welche die Werte

Mehr

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks)

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungsziele: Skript: 1. Definieren einer dynamischen Datenstruktur 2. Dynamische Speicher Speicherallokation 3. Implementierung eines

Mehr

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung)

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Hochschule München, FK 03 SS 2014 Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung

Mehr

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

Mehr