Numerik und Rechnen. Martin Heide & Dominik Holler. 12. Juni 2006
|
|
- Max Heinrich
- vor 6 Jahren
- Abrufe
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 2 > Übersicht > Matrix Vektor Multiplikation > Mandelbrotmenge / Apfelmännchen berechnen > Kantendetektion
MehrEine 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
MehrGrundlagen 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
MehrComputergrafik 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
MehrEine 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
MehrImplementierung 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
MehrOpenCL 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
MehrComputergrafik. 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
MehrSeminar 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
MehrDer 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
MehrEin 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
MehrEinfü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
MehrInformationsverarbeitung 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
MehrAsteroids3D 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
MehrEinfache 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"
MehrModellierung 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; {
MehrStream 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
MehrDatenfelder (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
MehrGPU-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
MehrGPGPU 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
MehrGPU-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
MehrConvey, 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
MehrOpenCL. 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
MehrGPU 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
MehrProgrammierung 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
MehrGegenü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
MehrDr. 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
MehrDeklarationen 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.
MehrWorkshop: 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
MehrManycores: 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
MehrProgrammieren 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
MehrGrundlagen 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
MehrEinfü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)
MehrProgramming 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
MehrDirectX 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
MehrMF 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
MehrOpenCV - 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
MehrFelder, 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
MehrRalf 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
MehrProgrammieren 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
MehrJava-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
Mehr1. 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
MehrTIn 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
Mehr11: 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
MehrFHZ. 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
MehrSeminar: 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
MehrBenchmarking 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
MehrTest-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
MehrWas 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
MehrEmbedded 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
MehrJö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
MehrProseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme
wwwnet-texde Proseminar Rechnerarchitekturen Parallelcomputer: Multiprozessorsysteme Stefan Schumacher, , PGP Key http://wwwnet-texde/uni Id: mps-folientex,v
MehrAktuelle 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
MehrDirekte Volumenvisualisierung
Universität Stuttgart Direkte Volumenvisualisierung Seminar Medizinische Visualisierung SS06 Alexander Lauser Struktur des Vortrags Motivation Grundlagen Volume Render-Algorithmen Raycasting Volume-slicing
MehrPROGRAMMIEREN 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
MehrAngewandte 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
MehrInstruktionssatz-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
MehrDie 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
Mehr1. Ü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:
MehrEin 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 Heute Vorstellung der besten Flugsimulatoren Hot Topics T. Grosch - - Warum Hot Topics? Typischerweise i Computergrafik 1 : Grundlagen, konstant Computergrafik
MehrHaskell 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
MehrDer 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
MehrMulticore 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
MehrMatlab 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
MehrOpenGL. (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
MehrEinfü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.
MehrEinfü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
Mehr2. 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)
MehrComputer-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
MehrFelder. 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
MehrEinfü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
MehrInformatik 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
MehrProgrammieren 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
MehrEntwicklung 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
MehrHeute. 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
MehrIn 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
MehrMicrocontroller 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.
MehrII. 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
MehrEinfü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
MehrRechner 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
MehrGrakkarten - 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
MehrHeutige 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,
MehrDBUS 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
MehrKapitel 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
MehrOpenGL 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.
Mehr620.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
MehrEinfü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).
MehrOpenCV - 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
MehrHochleistungsberechnungen 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
MehrGliederung. 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.
Mehrairbases.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
MehrSicheres 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
MehrL6. Operatoren und Ausdrücke
L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.
MehrUnterprogramme, 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) Übungsziele: Skript: 1. Definieren einer dynamischen Datenstruktur 2. Dynamische Speicher Speicherallokation 3. Implementierung eines
MehrIngenieurinformatik 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
MehrDesign 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