Parallele Algorithmen zur Faltung von RNA. Leipzig, , Markus Scholz
|
|
- Brigitte Berg
- vor 7 Jahren
- Abrufe
Transkript
1 Parallele Algorithmen zur Faltung von RNA Leipzig, , Markus Scholz
2 Inhalt Warum Parallelisierung Wiederholung: der MFE Algorithmus Parallelisierung des MFE Algorithmus (ohne Backtracking) Wiederholung: McCaskills Algorithmus Parallelisierung von McCaskills Algorithmus (Partition Function und Basepair Probabilities) Darstellung eines massiv parallelen GA für RNA Faltung 2
3 Warum Parallelisierung in der Bioinformatik Teilweise riesige Datensätze die untersucht werden müssen (z.b Genebank, 36.6 Milliarden Basenpaare und 118,689 verschiedene Spezies, Stand: 2003) komplexe Algorithmen zur Lösung der Probleme Mit sequentiellen Algorithmen u.u. Probleme nicht in akzeptabler Zeit lösbar Parallelisierung von Algorithmen notwendig 3
4 Wiederholung: Der Minimum Free Energy Algorithmus Erste Version durch Zuker & Stiegler, 1981 Rekursiver Algorithmus der durch Dynamic Programming deutlich schneller als seine Vorgänger ist (nutzt bereits berechnete, kleinere Fragmente um größere zu berechnen) Motivation: Berechnung der minimalen freie Energie und der dazugehörigen optimalen Sekundärstruktur (durch Backtracking auf der MFE-Matrix) Drei verschieden Looptypen die verschiedene Energien liefern : Hairpin, Inner Loops, Multiloops Inner Loops sind Zusammenfassung von Stacks, interior Loops und Bulges (siehe nächste Folie) Energie eines Loops abhängig von: Typ der schliessenden Basenpaare, der inneren Basen und der Größe der Loops konkrete Energiewerte für die einzelnen Strukturen aus verschiedenen Experimenten verfügbar (Gruppen: D.Turner; J.Santa Lucia) z.b. implementiert in: Vienna RNA Package, mfold, STRUCTURELAB 4
5 Wiederholung: Der Minimum Free Energy Algorithmus (2) Folgende Arrays werden vom Algorithmus benötigt: Fij : freie Energie der optimalen Substruktur auf der Subsequenz A[i,j] Cij : freie Energie auf der optimalen Substruktur auf der Subsequenz A[i,j] wenn i und j paaren(!) Mij : freie Energie auf der optimalen Substruktur auf der Subsequenz A[i,j], wenn A[i,j] teil eines Multiloops ist und mindestens einen Komponent hat, d.h. eine Subsequenz die von einem Basenpaar eingeschlossen ist Mij1: freie Energie der optimalen Substruktur auf der Subsequenz A[i,j] wenn A[i,j] Teil eines Multiloops ist und exakt einen Komponent hat, der durch das Basenpaar i,h geschlossen wird für irgendein i<= h < j I.L.Hofacker & P.F.Stadler,
6 Wiederholung: Der Minimum Free Energy Algorithmus (3) Der Algorithmus Bemerkungen: H(i,j) : I(i,j;k,l) : Bezeichnet die Funktion die die Energie eines Hairpins berechnet. (Für i-j < 4 = INF keine HP erlaubt mit weniger als drei Basen dazwischen) Bezeichnet die Funktion die die Energie eines Stacks, Bulges oder eines sog. Interior Loop berechnet Konstanten aus dem linear Ansatz abgeleitet: a: Multiple Loop Closing Energy b: Interior Base Pair Energy c: Interior unpaired Base Energy Beachte : keine Abhängigkeiten von C, M oder M1 von F 6
7 Wiederholung: Der Minimum Free Energy Algorithmus (4) inner Loops u < 30 7
8 Wiederholung: Der Minimum Free Energy Algorithmus (5) Visualisierung des Ablaufs für eine Sequenz: L=5 d=4 i=1..n-d j=i+d i j Berechne für jedes i, C[i,j], F[i,j], M[i,j], M1[i,j] L=6 d=5 i=1..n-d j=i+d i j Berechne für jedes i, C[i,j], F[i,j], M[i,j], M1[i,j], wobei jetzt das Wissen aus den vorher berechneten Werten für Fenster (=Subsequenzlänge) < d genutzt werden kann. DP Fenster d wächst bis zur maximalen Fenstergrösse. Dann ist F[1,n] die minimale Energie zu finden. 8
9 Wiederholung: Der Minimum Free Energy Algorithmus (6) Ausfüllen der Matrizen : Bei Matrix F MFE[1,8] = Paarung unmöglich da Basen zu nahe aneinander liegen j Nur Dreiecksmatrix da gilt : E[i,j] = E[j,i] i=3, j=7, #3 i=1, j=5, #1 i=4, j=8, #4 D=4 1 i=2, j=6, #2 8 D=5 D=6 i=1, j=6, #5 1 i=2, j=7, #6 8 i=1, j=7, #8 i=3, j=8, #7 1 i=2, j=8, # Die in der Dreiecksmatrix eingetragenen Werte dienen nur der Identifikation mit den Fensterbeispielen daneben!! i
10 Wiederholung: Der Minimum Free Energy Algorithmus (7) Abhängigkeit von zu berechnenden Energien (größere Strukturen) von bereits errechneten Energiewerten (kleinerer Strukturen) Die horizontal und vertikal gekennzeichneten Werte werden aus den Arrays M (Multiloop), M1 (Multiloop mit exakt einem Komponenten) und die schattierten Werte werden aus dem Array C (Energie der Subsequenz mit i-j Basenpaare) benötigt um die entsprechenden Werte auf der gestrichelten Linie zu errechnen 1 n M, M1 C d 1 Darstellung mit 1 CPU n 10
11 Wiederholung: Der Minimum Free Energy Algorithmus (8) Zeitkomplexität : O(n³) ( mehrere verschachtelte For Schleifen ) Speicherkomplexität : O(n²) ( Arrays ) + Backtracking O(n³) wenn die Sekundärstruktur ermittelt werden soll diese wird hier aber nicht weiter ausgeführt da die Berechnung der MFE nur für das Skalieren der Zustandssumme im McCaskill Algorithmus genutzt werden soll (siehe nächste Folien), deshalb wird auch das Array M1 nicht mitgeführt es ist nur notwendig wenn die Sekundärstruktur ausgerechnet werden soll. 11
12 Parallelisierung des MFE Algorithmus Darstellung hier basierend auf I.L.Hofacker, 1996, M.Fekete, 1997, I.L.Hofacker, 1998 Idee: alle Subsequenzen der gleichen Länge können gleichzeitig berechnet werden, da sie unabhängig von einander sind (eine Subsequenz der Länge der d, hängt nur von kleineren Subsequenzen der Länge d < d ab) Genau darin liegt aber auch ein Problem: die Berechnung von einem Eintrag erfordert das Wissen über eine große Anzahl zuvor berechneter Werte Lösung intelligentes Message Parsing Arrays (C, M) in diagonaler Reihenfolge berechnen und dabei jede Subdiagonale in P Teile auftrennen (P = Anzahl der CPUs), das Array F welches die eigentliche minimale freie Energie enthält, kann aus diesen Arrays (und sich selbst) rekursiv berechnet werden Implementiert auf einem Intel Delta Parallel Computer (MIMD) Maximal 512 Nodes mit je 16 MB RAM Mesh routing chips (MRCs) sind vor die einzelnen Nodes geschaltet um die CPUs nicht mit der Weiterleitung von Nachrichten an andere CPUs zu stören verschiedene Node Typen : numeric (40Mhz, 30 MIPs, 80 Single Precision MFLOPS, 60 Double Precision MFLOPS), I/O, Gateway Node Speicher : 16MB 500K OS 3MB (Message parsing Buffer) = 12.5 MB / Node für eigenen Anwendungen 12
13 Parallelisierung des MFE Algorithmus (2) Alle Einträge der aktuellen Diagonale d werden gleichmäßig auf die verfügbaren Prozessoren verteilt werden so dass eine optimale Lastverteilung gewährleistet ist Die Berechnung läuft von Diagonale d (Hypotenuse) auf die rechte obere Ecke des Dreiecks zu Um dem ihn zugeordneten Teil der gestrichelten Diagonale zu berechnen benötigt Prozessor 2 die roten Einträge der Matrix M und die blauen Einträge der Matrix C, es ist leicht zu sehen das er dabei auf Werte angewiesen ist die seine Nachbarn bereits berechnet haben Aus Effizienzgründen werden beide Arrays (C,M) in Zeilen und Spalten gespeichert Alle Arrays sind außerdem bereits zu Beginn der Berechnung mit der maximalen Größe initalisiert (um keine unnötige Speicherreorganisation während der Berechnung vornehmen zu müssen) Zusätzlich wird ein Array eingeführt das den trapezförmigen Teil von C beinhaltet Grafik: 4 CPUs teilen sich die Berechnung von C und M Darstellung der Werte die P2 aus C und M braucht um seinen Teil der gestrichelten Diagonale zu berechnen 13
14 Parallelisierung des MFE Algorithmus (3) Es ergibt sich pro CPU ein Speicherbedarf von 4 Dreiecksmatrizen (C,M) (C[row],C[col],M[row],M[col]) 1 Trapezmatrix CT Der Faktor 2 stammt daher das nur die Hälfte einer quadratischen Matrix (=Dreiecksmatrix) benötigt wird d: Länge der Sequenz N: Anzahl der CPUs umax: Beschränkung der Multiple Loops (=30) z.b. für N=4, d=2500, Int=4 Byte Speicheranforderung/CPU: 12,2 MB 14
15 Parallelisierung des MFE Algorithmus (4) Intelligentes Message Parsing: Nach der Berechnung einer Diagonale: Sendet jeder Prozessor eine Spalte zu seinem linken Nachbarn Sendet jeder Prozessor eine Zeile zu seinem rechten Nachbarn Empfängt jeder Prozessor eine Spalte von seinem rechten Nachbarn Empfängt jeder Prozessor eine Zeile von seinem linken Nachbarn 15
16 Parallelisierung des MFE Algorithmus (5) Berechnung des Arrays F fehlt noch: F wird spaltenweise auf der ersten Node ausgerechnet parallelisieren dieser Berechnung wäre zu aufwendig (große Anzahl von Nachrichten) Node 1 hat aber sowieso alle nötigen Einträge in C und M Sowieso nur Interesse an der MFE der gesamten Sequenz, eigentliche Arbeit: Partition Function und Backtracking 16
17 Parallelisierung des MFE Algorithmus (6) Gute Effizienz für besonders große Sequenzen (ab 400 Basen) Basen lange zufällige RNA Sequenzen (50,100,200,400,700,1000) 17
18 McCaskill s Algorithmus (Partition Function und Backtracking) 1990 von McCaskill abgeleitet Teilt sich in 2 Teile Berechnung der Partition Function (folding) Partition Function(i,j) = Zustandssumme(i,j) = Anzahl möglicher Zustände (Sekundärstrukturen) die bei einer gegebenen Temperatur für das Molekül (Subsequenz A[i,j]) thermisch zugänglich sind Logik wie MFE Algorithmus, jedoch statt MIN SUM, statt + = * Berechnung der Basenpaarungwahrscheinlichkeiten (durch Backtracking) Wahrscheinlichkeit das (i,j) ein BP wenn System im thermodynamischen Gleichgewicht Motivation : mit MFE-Algorithmus kann zwar optimale Struktur gefunden werden, diese ist jedoch nicht unbedingt die Struktur in die sich RNA falten muss, bzw: Auch andere Strukturen sind möglich die unerheblich weit (hinsichtlich der freien Energie) von optimaler Struktur entfernt sind berechne deshalb die Wahrscheinlichkeiten einzelner Basenpaarungen um weitere mögliche Strukturen zu finden Ergebnis: Wahrscheinlichkeit das (i,j) ein BP z.b. implementiert in : Vienna RNA Package, mfold, STRUCTURELAB 18
19 Wiederholung: Berechnung der Zustandsumme (2) all possible structures open chain (energy=0) all structures with one component m = 3 = minimale Anzahl an Basen zwischen einem Basenpaar 19
20 Wiederholung: Berechnung der Zustandsumme (3) Arrays: QB[i,j]: Zustandssumme der Sequenz A[i,j] wenn (i,j) paaren QM[i,j], QM1[i,j]: Behandlung von Multiloops QA[i,j]: Zustandssumme aller Strukturen die genau ein Basenpaar haben (SUM(QB)) Q[i,i]: Zustandsumme der Subsequenz von i bis j ( Z( ungepaarte Struktur ) + Z(Strukturen mit einer Komponente und möglichem freien Ende) + Z(Strukturen mit mehreren Komponenten, und einer ein Komponentstruktur am Ende) Konstanten: m: minimale Anzahl an Basen zwischen BP = 3 umax: maximale Tiefe eines interior Loop (diese Bedingung reduziert die Komplexität der interior Loop Berechnung von O(n^4) auf O(n^2)) 20
21 Wiederholung: Berechnung der Zustandsumme (4) EH() = Hairpin Funktion = exp( -H() / kt ) EI() = inner Loop Funktion = exp(-i() / kt ) EMC = multi-loop closing energy = exp(-mc/kt) EMB = interior unpaired base engery = exp(-mb/kt) EMI = interior paired base energy = exp(-mi/kt) 21
22 Wiederholung: Berechnung der Zustandsumme (5) Komplexität (wie bei MFE Teil1) : Zeit : O(n³) RAM: O(n²) gleiche Logik wie MFE gleiche Abhängigkeit der Berechnung der Arrays (also auch ähnlich parallelisierbar) Skalierung von Q, QB, QM und QM1 Energie von Strukturen steigt ungefähr linear mit ihrer Größe dadurch wächst Q exponentiell Double kann überlaufen Skalierungsfaktor [Q] = exp( -1.04*MFE / kt ) skaliere alle Q[i,i+l+1] mit [Q]^(l/n) 22
23 Wiederholung: Backtracking McCaskill Nutzung der berechneten Zustandsummen der Basensequenzen für die Berechnung der Wahrscheinlichkeiten des Auftretens aller möglichen Basenpaarungen Backtracking auf Q, QB und QM 23
24 Wiederholung: Backtracking McCaskill (2) 3 Möglichkeiten für ein Basenpaar (h,l): BP(h,l) schließt eine einzige Komponente BP(h,l) befindet sich innerhalb einer inneren Schleife die von einem anderen BP(i,j) geschlossen wird 24
25 Wiederholung: Backtracking McCaskill (3) BP in einem multi-loop (wieder beschränkt durch umax) Die Wahrscheinlichkeit das die Basen h und l paaren ergibt sich also additiv aus diesen Komponenten 25
26 Wiederholung: Backtracking McCaskill (4) I() = inner Loop Funktion (Rückgabe bereits skaliert) MC = multi-loop closing energy MB = interior unpaired base engery MI = interior paired base energy 26
27 Wiederholung: Backtracking McCaskill (5) 27
28 Parallelisierung Partition Function ähnlich der Parallelisierung von MFE Alle Einträge der aktuellen Diagonale d werden gleichmäßig auf die verfügbaren Prozessoren verteilt so dass eine optimale Lastverteilung gewährleistet ist Die Berechnung läuft von Diagonale d (Hypotenuse) auf die rechte obere Ecke des Dreiecks zu Um dem ihn zugeordneten Teil der gestrichelten Diagonale zu berechnen benötigt Prozessor 2 die rot markierten Einträge der Matrizen QM, Q, QB und die grünen Einträge der Matrizen QM1 und QA.Zusätzlich werden die gelben Felder aus QB benötigt. Es ist leicht zu sehen das er dabei auf Werte angewiesen ist die seine Nachbarn bereits berechnet haben QM, Q und QB werden in Zeilen gespeichert QM1 und QA als Spalten selbe Anzahl von Nachrichten wie bei MFE jedoch werden zusätzlich als Vorbereitung für Backtracking QM und QB als Zeilen gespeichert, dabei errechnet Node N (die Letzte) immer das letzte Element der Zeile, Node N schickt dann die errechneten Werte zu der Node die die Werte permanent speichert (gestrichelte Linien) also die Node die die gesamte Zeile speichert 28
29 Parallelisierung Backtracking Backtracking läuft von den längeren Sequenzen zu den kürzeren um die Anzahl der Nachrichten zwischen den Nodes nicht in die Höhe zu treiben berechnet jeder Prozessor ein horizontales Stück des Dreiecks skaliert zwar nicht optimal aber weniger Kommunikation Darstellung für CPU1 Pr-trapez (Teil von Pr) für inner Loops neu berechnete Werte werden Zeilenweise in Pr abgelegt QM ist notwendig für Multiloops (jede Diagonale benötigt die selben Teile von QM) PM, PM1 hier Prml und Prmlt genannt, sind die zusätzlich Arrays die spaltenweise abgelegt sind 29
30 Parallelisierung Backtracking (2) zu Beginn der Berechnung einer neuen Diagonale müssen einige Nachrichten übermittelt werden: Alle ausgemalten Bereiche sind bereits im Speicher von CPU1 die nächste Zeile von QM (gestrichelt) wird nach CPU1 geschickt (von CPU3) die letzte Zeile von QM in CPU1 wird nicht mehr benötigt und zu CPU2 geschickt Spalten der Matrix Pr werden nach CPU2 geschickt Am Anfang ist der Algorithmus nahezu seriell (große Subsequenzen, kleine Arrays), wird dann aber mehr und mehr parallel, kurz vor Ende der Berechnung ist er hochgradig parallel (viele kleine Subsequenzen, große Arrays hoher Aufwand) 30
31 Parallelisierung Backtracking (3) Speicheranforderungen Backtracking erfordert den meisten Speicher im Vergleich zu Partition Function und MFE Pro Prozessor: 6 Dreiecksmatrizen (QM[row], QM[col], Pr[row], QB[row], Prml[col], Prmlt[col]) Pr-Trapez (mit einigen Werten aus Pr) z.b. für N=4, d=2500, Double=8 Byte Speicheranforderung/CPU: 35,9 MB 31
32 Effizienz des parallelen McCaskill Algorithmus 32
33 Massiv paralleler GA für RNA Faltung Erstmals durch Shapiro und Navette, 1994 formuliert Ursprünglich auf MasPar MP-2 implementiert (SIMD, CPUs), mittlerweile zu MIMD Supercomputern portiert (SGI ORIGIN mit 64 CPUs, CRAY T3E 512 CPUs und auch auf single und dual CPU Maschinen z.b. SGI Octane) Einfache Pseudoknoten erlaubt Implementiert in : STRUCTURELAB 33
34 Massiv paralleler GA (2) In ursprünglichem Modell hält jede CPU genau eine RNA Struktur, in neueren Versionen werden virtuelle Prozessoren emuliert CPU gitterförmig angeordnet und an Ecken wie Torus gefaltet ( unendliches Gitter ), CPU am obersten Rand des Gitters ist gleichzeitig CPU am untersten Rand Alle RNA Strukturen evolvieren gleichzeitig, eine Generation pro Zeitschritt Fitness ist minimale freie Energie Ausgangspopulation : aus RNA Sequenz werden beliebig gefaltete BP Stacks erzeugt, so dass alle Basen gepaart werden, maximal ein oder zwei ungepaarte Basen am Ende des Stranges erzeugter Stammpool wird zufällig über die Prozessoren verteilt 34
35 Massiv paralleler GA (3) Selektion Auf jeder CPU werden aus neun Strukturen zwei Eltern Strukturen ausgewählt (P1,P2), diese neun Strukturen werden durch die aktuelle Struktur des Prozessors selbst und den acht ihn umgebenden Prozessoren gestellt Strukturen mit bester Fitness (MFE) werden ausgewählt Mutation Jede CPU wählt zwei oder mehr Kinder aus dem Stampool aus (die Anzahl der Kinder wird durch simulated Annealing in Abhängigkeit von der Sequenzlänge gesteuert) Crossover Von P1 und P2 werden Teile des BP Stacks auf die Kinder verteilt Das Kind mit der kleinsten Energie geht in die nächste Generation ein Abbruchkriterium sobald Durchschnitt über die freien Energien nur noch um einen vorher definierten Wert schwankt terminiert Algorithmus Die Struktur die die meisten Prozessoren haben wird als Lösung angenommen 35
36 Massiv paralleler GA (4) Anmerkung1 : Während der Initalisierung, der Mutation und des Crossover werden Stammteile (Teile des BP Stapels) in neue RNA Strukturen überführt. Diese ausgewählten Stammteile müssen geometrisch konfliktfrei sein, d.h. sie dürfen keine überlappenden Nukleotide haben, weiterhin kann an dieser Stelle ein zusätzlicher Filter angewandt werden, der auf der Boltzmann Verteilung beruht Boltzmann-Filter zur Verbesserung der Ergebnisqualität: Wenn gewählter Strukturteil der Energie der zu bildenden Struktur verkleinert (also stabilisierend wirkt) wird ohne weiteres akzeptiert Wenn gewählter Strukturteil Energie der Zielstruktur jedoch erhöht wird anhand der Boltzmann Übergangswahrscheinlichkeit im Vergleich mit einer Zufallszahl entschieden ob die Struktur verwendet wird oder nicht dadurch werden Strukturen die lokal instabil sind eher ausgeschlossen und der Faltungspfad des GA kommt denen in Experimenten näher. Anmerkung2 : Da GAs nicht deterministisch sind, werden Durchgänge durchgeführt und statistisch ausgewertet bevor ein Ergebnis feststeht 36
37 Massiv paralleler GA (5) MASPAR MP-2 Architektur (SIMD) Front end UNIX Workstation Data Parallel Unit Array Control Unit Gibt die Befehle seriell an die Prozessor Elemente weiter (single instruction) PEs mit je 64kb lokalem Speicher (=1GB) (multiple data) Kommunikation der PEs durch 2 verschiedene Wege: X-Net (sehr schnell) aber nur direkt benachbarte PEs erreichbar (bei der Selection) Router (bei Initalisierung und bei Mutation) 37
38 Massiv paralleler GA (6) Effizienz Bezüglich benötigter Iterationen bis zur Konvergenz Durchschnittliche Anzahl an Populationen (Iterationen des Algorithmus) bis Population konvergiert, erhöht sich mit Größe der Population (Errorbars über 20 Durchläufe) 38
39 Massiv paralleler GA (7) Effizienz Bezüglich der Zeit pro Generation 1. Durch die Erhöhung der Anzahl der virtuellen CPUs pro physikalischer CPU berechnet (Anzahl physischer CPU fest, Anzahl logischer CPUs variabel) Zeit skaliert linear Zeit pro Generation erhöht sich (logisch da Last pro CPU größer wird) 2. Durch die Erhöhung der Anzahl der physischen CPUs und keiner Veränderung der Anzahl der virtuellen CPUs Zeit skaliert nicht mehr linear da mit steigender Zahl der real vorhandenen CPUs auch Synchronisationsaufwand (=Nachrichtanzahl) steigt 39
40 Massiv paralleler GA (8) Genauigkeit Bezüglich der freien Energie Rule of Thumb: Normalerweise liegt eine reale Struktur innerhalb der ersten 10% der Strukturen mit der kleinsten, freien Energie Größere Population erhöht Leistung des Algorithmus eine energetisch bessere Struktur zu finden 40
41 Massiv paralleler GA (9) Genauigkeit Bezüglich der Struktur Größere Anzahl von CPUs erhöht die Nähe der Strukturen zu experimentell entdeckten Strukturen (über Fuzzymatching und die richtig identifizierten Stämme) 41
42 Cell CPU : Kurzvorstellung Entwickelt von Sony, Toshiba und IBM drängt im April 2006 ein neuer Chip auf den Markt: die Cell CPU in der PS3 Hohe Taktrate und hoher Durchsatz RISC Besteht aus einer PPE CPU (verteilt die Aufgaben) auf 8 SPEs und einem MFC (Memory Flow Controller) PPE: einfache PowerCPU mit 512K L2 Cache, 64Bit SPE : Vector CPU mit 256K Speicher Eine einzige Cell CPU : 256 GFLOPS (single precision floating point) 42
RNA Faltung - II. W1-High-throughput Genomics, FU Berlin OWL RNA Bioinformatics, MPI Molgen Berlin
RNA Faltung - II W1-High-throughput Genomics, FU Berlin OWL RNA Bioinformatics, MPI Molgen Berlin 05.12.16 Nussinov Nachteilen Die Maximierung der Anzahl von Bp führt unter Umständen nicht zu biologisch
MehrVorhersage der RNA-Sekundärstruktur
Vorhersage der RNA-Sekundärstruktur Andreas Spillner Bioinformatik, SS 2018 Primärstruktur vs. Sekundärstruktur Primärstruktur Sequenz der Buchstaben (bei RNA entspricht ein Buchstabe jeweils einer Nukleinsäure
MehrParallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff
Parallel Computing Einsatzmöglichkeiten und Grenzen Prof. Dr. Nikolaus Wulff Parallel Architekturen Flynn'sche Klassifizierung: SISD: single Instruction, single Data Klassisches von-neumann sequentielles
MehrThema 12: RNA Structure Prediction
Thema 12: RNA Structure Prediction Vortrag gehalten von Tobias Sander am 01.02.2010 1 Einleitung 1.1 Vorwort Seit der Strukturaufklärung der DNA im Jahre 1953 durch Watson und Crick sind fast 60 Jahre
MehrFOLDALIGN und sein Algorithmus. Nadine Boley Silke Szymczak
FOLDALIGN und sein Algorithmus Nadine Boley Silke Szymczak Gliederung 2 Einleitung Motivation des Ansatzes zu FOLDALIGN Sankoff-Algorithmus Globales Alignment Zuker-Algorithmus Kombination FOLDALIGN Algorithmus,
MehrDer folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.
Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre
MehrAnwendungen dynamischer Programmierung in der Biologie
Anwendungen dynamischer Programmierung in der Biologie Überblick Algorithmus zum Finden der wahrscheinlichsten Sekundärstruktur eines RNS Moleküls Sequence Alignment Verbesserung von Sequence Alignment
MehrEin Dynamic Programming Algorithmus zur Vorhersage von RNA- Faltungen mit Auftreten von Pseudoknoten
Ein Dynamic Programming Algorithmus zur Vorhersage von RNA- Faltungen mit Auftreten von Pseudoknoten 1. Motivation Viele RNAs falten sich in Strukturen, die essentiell wichtige Funktionen für regulatorische,
MehrSuboptimal Foldings of RNA Structures
Suboptimal Foldings of RNA Structures Ausarbeitung zum Vortrag von Christin Zander und Rebecca Gau Seminar: Computational RNomics Einleitung Diese Ausarbeitung beschäftigt sich mit zwei Algorithmen, die
MehrLEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610
LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610 Dominik Weinrich dominik.weinrich@tu-dresden.de Dresden, 30.11.2017 Gliederung Motivation Aufbau und Hardware
MehrCell and Larrabee Microarchitecture
Cell and Larrabee Microarchitecture Benjamin Grund Dominik Wolfert Universität Erlangen-Nürnberg 1 Übersicht Einleitung Herkömmliche Prozessorarchitekturen Motivation für Entwicklung neuer Architekturen
MehrUNABHÄNGIGER LASTEN. Vorlesung 9 BALANCIERUNG DYNAMISCHER. Graphenalgorithmen und lineare Algebra Hand in Hand
Vorlesung 9 BALANCIERUNG DYNAMISCHER UNABHÄNGIGER LASTEN 266 Lastbalancierung Motivation! Ein paralleles System besteht aus! verschiedenen Recheneinheiten,! die miteinander kommunizieren können! Warum
Mehrverschiedenen Recheneinheiten, die miteinander kommunizieren können
Vorlesung 9 BALANCIERUNG DYNAMISCHER UNABHÄNGIGER LASTEN 293 Lastbalancierung Motivation Ein paralleles System besteht aus verschiedenen Recheneinheiten, die miteinander kommunizieren können Warum parallel
MehrParallele Algorithmen in der Bildverarbeitung
Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren
MehrComputergrundlagen Moderne Rechnerarchitekturen
Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Aufbau eines modernen Computers DDR3- Speicher Prozessor Prozessor PEG
MehrParallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff
Parallel Computing Einsatzmöglichkeiten und Grenzen Prof. Dr. Nikolaus Wulff Vorüberlegungen Wann ist paralleles Rechnen sinnvoll? Wenn die Performance/Geschwindigkeit steigt. Wenn sich größere Probleme
MehrDistributed Memory Computer (DMC)
Distributed Memory Computer (DMC) verteilter Speicher: jeder Prozessor kann nur auf seinen lokalen Speicher zugreifen Kopplung mehrerer Prozessoren über E/A-Schnittstellen und Verbindungsnetzwerk, nicht
MehrBeispielvortrag: HPCG auf Intel Haswell-EP
Beispielvortrag: HPCG auf Intel Haswell-EP Johannes Hofmann 1 Seminarvortrag Architekturen von Multi- und Vielkern-Prozessoren Erlangen, 19.4.2016 1 Computer Architecture, University Erlangen-Nuremberg
MehrInformatik II: Algorithmen und Datenstrukturen SS 2013
Informatik II: Algorithmen und Datenstrukturen SS 2013 Vorlesung 11b, Mittwoch, 3. Juli 2013 (Editierdistanz, dynamische Programmierung) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen
MehrLR Zerlegung. Michael Sagraloff
LR Zerlegung Michael Sagraloff Beispiel eines linearen Gleichungssystems in der Ökonomie (Input-Output Analyse Wir nehmen an, dass es 3 Güter G, G, und G 3 gibt Dann entspricht der Eintrag a i,j der sogenannten
MehrWertebereich und Genauigkeit der Zahlendarstellung
Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden
MehrKapitel 1 Parallele Modelle Wie rechnet man parallel?
PRAM- PRAM- DAG- R UND R Coles und Kapitel 1 Wie rechnet man parallel? Vorlesung Theorie Paralleler und Verteilter Systeme vom 11. April 2008 der Das DAG- Das PRAM- Das werkmodell Institut für Theoretische
MehrProgrammierung mit C Algorithmen
Programmierung mit C Algorithmen Informationen /7/ Robert Sedgewick Algorithmen in C. 742 Seiten, ISBN 3-827-37182-1. /8/ Kyle Loudon Algorithmen mit C, ISBN 3-4897-211653-0. Online-Buch "C von A bis Z",
MehrSysteme 1: Architektur
slide 1 Vorlesung Systeme 1: Architektur Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Prüfung 18. Februar 2004 8h00-11h40 13h00-18h20 20 Minuten
Mehr7. Organisation von Informationen
Computeranwendung in der Chemie Informatik für Chemiker(innen) 7. Organisation von Informationen Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL7 Folie 1 Grundlagen Programme
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen VO 708.031 Um was geht es? Datenstrukturen Algorithmen Algorithmus Versuch einer Erklärung: Ein Algorithmus nimmt bestimmte Daten als Input und transformiert diese nach festen
MehrSeminar: Multi-Core Architectures and Programming
Seminar: Multi-Core Architectures and Programming Parallelisierung des Viola-Jones Algorithmus auf Tilera Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Erste Versuche
MehrCache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22
Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.
MehrComputergrundlagen Moderne Rechnerarchitekturen
Aufbau eines modernen Computers Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart DDR3- Speicher Prozessor Prozessor PEG Graphikkarte(n) weitere
MehrEuklidische Distanzmatrizen. Andrei Grecu
Euklidische Distanzmatrizen Andrei Grecu Übersicht Motivation Definition und Problemstellung Algo 1: Semidefinite Programmierung Algo 2: Multidimensional Scaling Algo 3: Spring Embedder Algo 4: Genetischer
Mehr2 Rechnerarchitekturen
2 Rechnerarchitekturen Rechnerarchitekturen Flynns Klassifikation Flynnsche Klassifikation (Flynn sche Taxonomie) 1966 entwickelt, einfaches Modell, bis heute genutzt Beschränkung der Beschreibung auf
Mehr19. Dynamic Programming I
502 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrTECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl
Mehr6. Algorithmen auf Zeichenketten
6. Algorithmen auf Zeichenketten Motivation Wir lernen nun Algorithmen zur Lösung verschiedener elementarer Probleme auf Zeichenketten zu lösen Zeichenketten spielen eine wichtige Rolle in diversen Gebieten
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Dynamisches Programmieren Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester.. Einleitung Diese Lerneinheit widmet sich einer
MehrC-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012
October 29, 2012 Inhaltsverzeichnis 1 2 3 4 5 6 Motivation Motivation CUDA bietet extreme Leistung für parallelisierbare Programme Kompliziert zu programmieren, da multi-level parallel und explizit verwalteter
MehrQuiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.
Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur
MehrProseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme
wwwnet-texde Proseminar Rechnerarchitekturen Parallelcomputer: Multiprozessorsysteme Stefan Schumacher, , PGP Key http://wwwnet-texde/uni Id: mps-folientex,v
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrVorlesung 4: DATENSTRUKTUREN UND ALGORITHMEN
Vorlesung 4: DATENSTRUKTUREN UND ALGORITHMEN 107 Wiederholung zur Speicherhierarchie! EM- bzw. I/O-Modell: Übergang der Ebenen universell! Blockweise Abarbeitung unter Ausnutzung von Lokalität Chip On-/off-Chip,
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil Hash-Verfahren Version vom: 18. November 2016 1 / 28 Vorlesung 9 18. November 2016
Mehrp max = 4 T = 8 Work = 28 3 I = Work / T = 3,5 2 Cost = p max * T = 32 U = I / p max = 87,5% 1
Massivparallele Modelle und Architekturen Wintersemester 2010/2011 Lösungsvorschlag 1. Übung 1. Aufgabe: Leistungsbewertung paralleler Systeme Betrachtet werden soll der Odd-Even-Sort-Algorithmus mit n
MehrGrundlagen der Rechnerarchitektur. Speicher
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrRNA folding. W1-High-throughput Genomics, FU Berlin OWL RNA Bioinformatics, MPI Molgen Berlin
RNA folding W-High-throughput Genomics, FU Berlin OWL RNA Bioinformatics, MPI Molgen Berlin 3..6 Lernziele Einführung von RNA-Molekülen Konzept der RNA-Sekundärstruktur Lernen wie eine RNA-Sekundärstruktur
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrSchriftlicher Test zu C (90 Minuten) VU Einführung ins Programmieren für TM. 1. Oktober 2012
Familienname: Vorname: Matrikelnummer: Aufgabe 1 (2 Punkte): Aufgabe 2 (3 Punkte): Aufgabe 3 (2 Punkte): Aufgabe 4 (3 Punkte): Aufgabe 5 (2 Punkte): Aufgabe 6 (1 Punkte): Aufgabe 7 (2 Punkte): Aufgabe
MehrRST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck
RST-Labor WS06/07 GPGPU General Purpose Computation On Graphics Processing Units (Grafikkarten-Programmierung) Von: Marc Blunck Ablauf Einführung GPGPU Die GPU GPU Architektur Die Programmierung Programme
MehrUntersuchungen zur effizienten Implementierung eines mathematischen Algorithmus in einem FPGA am Beispiel eines Sudoku-Lösers
Fakultät Informatik - Institut für Technische Informatik - Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vortrag zum Diplom Untersuchungen zur effizienten Implementierung eines mathematischen
MehrN Bit Binärzahlen. Stelle: Binär-Digit:
N Bit Binärzahlen N Bit Binärzahlen, Beispiel 16 Bit: Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 Least Significant Bit (LSB) und Most Significant Bit (MSB)
MehrTheoretische Informatik III (Winter 2018/19) Prof. Dr. Ulrich Hertrampf. Noch einmal TSP
Noch einmal TSP Wir hatten das TSP-Problem (Problem der Handlungsreisenden) schon als Beispiel für die Branch-and-Bound Methode kennengelernt. Nun wollen wir noch einen zweiten Algorithmus angeben, der
MehrD-INFK Lineare Algebra HS 2017 Özlem Imamoglu Olga Sorkine-Hornung. Serie 11
D-INFK Lineare Algebra HS 2017 Özlem Imamoglu Olga Sorkine-Hornung Serie 11 1. Wir betrachten das überbestimmte Gleichungssystem Ax = y mit 1 1 1 1 A := 1 1 0 1 0 1, y := 2 3 0 0 1 4 Berechnen Sie die
MehrInhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9
Inhalt Curriculum 1.4.2 Manfred Wilfling HTBLA Kaindorf 28. November 2011 M. Wilfling (HTBLA Kaindorf) CPUs 28. November 2011 1 / 9 Begriffe CPU Zentraleinheit (Central Processing Unit) bestehend aus Rechenwerk,
MehrAlgorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen
Ludwig-Maximilians-Universität München München, 16.04.2018 Institut für Informatik Prof. Dr. Thomas Seidl Anna Beer, Florian Richter Algorithmen und Datenstrukturen SS 2018 Übungsblatt 1: Grundlagen Tutorien:
MehrKapitel 10. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 10 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrGrundlagen der Rechnerarchitektur. Einführung
Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler
MehrOpenCL (Cell B. E., PS3) Multicore Architectures and Programming
OpenCL (Cell B. E., PS3) Multicore Architectures and Programming Apelt, Nicolas Zoellner, Christian Hardware-Software-Co-Design Universität Erlangen-Nürnberg Apelt, Nicolas Zoellner, Christian 1 Übersicht
MehrGeometrie 2. Julian Fischer Julian Fischer Geometrie / 30
Geometrie 2 Julian Fischer 6.7.2009 Julian Fischer Geometrie 2 6.7.2009 1 / 30 Themen 1 Bereichssuche und kd-bäume 1 Bereichssuche 2 kd-bäume 2 Divide and Conquer 1 Closest pair 2 Beispiel: Points (IOI
MehrEinführung in die objektorientierte Programmierung mit C++
Prof. Dr. Thomas Klinker FB Elektrotechnik und Informatik 08. 03. 2007 Projekt im 4. Semester Elektrotechnik: Einführung in die objektorientierte Programmierung mit C++ Aufgabe 1: Schreiben Sie ein Programm,
MehrKap.2 Befehlsschnittstelle. Prozessoren, externe Sicht
Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen
MehrProgrammierung. Rückblick. VWA - Programmierung Winter Algorithmus. Programmiersprache. Variable. Zuweisung. Bedingung.
Programmierung 1 Rückblick Algorithmus Programmiersprache Variable Zuweisung Bedingung Schleife (c) Peter Sturm, University of Trier 1 3 Aufgabe: Viele, viele bunte Smarties Rechengeschwindigkeit CPU 5
MehrTechnische Informatik I - HS 18
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Übung 7 Datum : 22.-23. November 2018 Pipelining Aufgabe 1: Taktrate / Latenz In dieser Aufgabe
MehrProgrammieren und Problemlösen
Dennis Komm Programmieren und Problemlösen Komplexität von Algorithmen Frühling 2019 27. Februar 2019 Komplexität von Algorithmen Aufgabe Primzahltest Schreibe ein Programm, das eine ganze Zahl x als Eingabe
MehrNaiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme
Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München
MehrMap Matching. Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf.
Map Matching Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf. Ergebnis mit minimaler Fréchet-Distanz Annahme: Fahrer wählen bevorzugt kürzeste Wege im Straßennetz.
MehrOne of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu
Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster
Mehr. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:
Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge
MehrCell Broadband Engine
Cell Broadband Engine 21.March 2006 Benjamin Keck Outline Why Cell?!? Application Areas Architectural Overview SPU Programming Model Programming on the PPE C/C++ Intrinsics The Cell Supercomputer on a
MehrCache Blöcke und Offsets
Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich
MehrBerechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen
Definition Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen Seminar über Algorithmen WS 2005/2006 Vorgetragen von Oliver Rieger und Patrick-Thomas Chmielewski basierend auf der Arbeit
MehrVortrag 20: Kurze Vektoren in Gittern
Seminar: Wie genau ist ungefähr Vortrag 20: Kurze Vektoren in Gittern Kerstin Bauer Sommerakademie Görlitz, 2007 Definition und Problembeschreibung Definition: Gitter Seien b 1,,b k Q n. Dann heißt die
Mehrp max = 4 T = 8 Work = 28 3 I = Work / T = 3,5 2 Cost = p max * T = 32 U = I / p max = 87,5% 1
Massivparallele Modelle und Architekturen Wintersemester 13/14 Lösungsvorschlag 1. Übung 1. Aufgabe: Leistungsbewertung paralleler Systeme Betrachtet werden soll der Odd-Even-Sort-Algorithmus mit n Eingangswerten
MehrMatrizenoperationen mit FORTRAN
Kapitel 2 Matrizenoperationen mit FORTRAN 21 Grundlagen Bei vielen Anwendungen müssen große zusammenhängende Datenmengen gespeichert und verarbeitet werden Deshalb ist es sinnvoll, diese Daten nicht als
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 8 (13.5.2016) Hashtabellen I Algorithmen und Komplexität Dictionary mit sortiertem Array Laufzeiten: create: O(1) insert: O(n) find: O(log
MehrMulticore Architektur vs. Amdahl`s Gesetz
Fakultätsname Informatik, Professur Technische Informatik Multicore Architektur vs. Amdahl`s Gesetz Dresden, 21.Juli.2010 Motivation Veröffentlichung von IEEE Computer 2008 von Mark D. Hill (University
Mehr1 Organisationsaspekte RISC- und CISC-Prozessoren Ausnutzen von Cache-Effekten
McFarling [1989] konnte Cache Misses um 75% in 8KB direkt abbildenden Caches durch Softwaremaßnahmen senken. Instruktionen Umordnen im Speicher, um Conflict-Misses zu reduzieren Profiling : spezielle Konfliktvermeidungsmaßnahmen
MehrOptimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen
Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen J. Treibig, S. Hausmann, U. Ruede 15.09.05 / ASIM 2005 - Erlangen Gliederung 1 Einleitung Motivation Grundlagen 2 Optimierungen
MehrSeminar: Data Mining. Referat: Andere Möglichkeiten des Data Mining in verteilten Systemen. Ein Vortrag von Mathias Rohde. 11.
Referat: Andere Möglichkeiten des Data Mining in verteilten Systemen 11. Juni 2009 Gliederung 1 Problemstellung 2 Vektorprodukt Approximationen Samplesammlung 3 Schritte Lokalität und Nachrichtenkomplexität
MehrAlgorithmen auf Sequenzen
Algorithmen auf Sequenzen Fehlertolerante Mustersuche: Distanz- und Ähnlichkeitsmaße Sven Rahmann Genominformatik Universitätsklinikum Essen Universität Duisburg-Essen Universitätsallianz Ruhr Einführung
Mehr1 Lineare Unabhängigkeit Äquivalente Definition Geometrische Interpretation Vektorräume und Basen 6
Wirtschaftswissenschaftliches Zentrum Universität Basel Mathematik Dr. Thomas Zehrt Vektorräume und Rang einer Matrix Inhaltsverzeichnis Lineare Unabhängigkeit. Äquivalente Definition.............................
MehrProjektarbeit. Java-Application zur Generierung von Zahlenrätseln
Projektarbeit Java-Application zur Generierung von Zahlenrätseln Stefan Novak Allgemeine Informatik Matrikelnummer: 11022144 April 2005 Inhalt 1. Einleitung 2. Der Algorithmus 2.1 Struktur generieren 2.2
MehrGrundlagen der Rechnerarchitektur. MIPS Assembler
Grundlagen der Rechnerarchitektur MIPS Assembler Übersicht Arithmetik, Register und Speicherzugriff Darstellung von Instruktionen Logische Operationen Weitere Arithmetik Branches und Jumps Prozeduren 32
MehrLernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
Mehr5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus
5. Lokale Suchverfahren Lokale Suche 5. Lokale Suchverfahren Beispiel TSP: k-change Nachbarschaft Optimale Lösungen können oft nicht effizient ermittelt werden. Heuristiken liefern zwar zulässige Lösungen,
MehrBeschleunigungsverfahren für Raytracing Grids Hierarchische Grids Bewertung Fazit
Überblick Einführung Beschleunigungsverfahren für Raytracing Grids Hierarchische Grids Fazit Einführung Gewöhnliche Beschleunigungsverfahren & Raumunterteilung entworfen und optimiert für effizientes Traversieren
Mehr38 Iterative Verfahren für lineare Gleichungssysteme
38 Iterative Verfahren für lineare Gleichungssysteme 38.1 Motivation Viele praktische Probleme führen auf sehr große lineare Gleichungssysteme, bei denen die Systemmatrix dünn besetzt ist, d. h. nur wenige
MehrCache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach
Cache-Speicher Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Cache-Speicher Warum Cache-Speicher? Cache-Strukturen Aufbau und Organisation von Caches Cache-Architekturen Cache-Strategien
Mehr4. Großübung. Lösung linearer Gleichungssysteme
4. Großübung Lösung linearer Gleichungssysteme Gesucht x, x, x 3, x 4 R, sodass gilt. mit A R 4 4, x R 4, b R 4 x x + 3x 3 + x 4 = 5 6x 3x 7x x 4 = 5 4x + 4x + 5x 3 5x 4 = 3 8x + x + x 3 + x 4 = 8 3 x
MehrAlgorithmen und Datenstrukturen in der Bioinformatik Erstes Übungsblatt WS 05/06 Musterlösung
Konstantin Clemens Johanna Ploog Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Erstes
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrCPU, GPU und FPGA. CPU, GPU und FPGA Maximilian Bandle, Bianca Forkel 21. November 2017
CPU, GPU und FPGA, Bianca Forkel 21. November 2017 CPU, GPU und FPGA Inhalt CPU: Central Processing Unit GPU: Graphical Processing Unit FPGA: Field Programmable Gate Array 2 CPU Central Processing Unit
MehrAssembler am Beispiel der MIPS Architektur
Assembler am Beispiel der MIPS Architektur Frühere Einsatzgebiete MIPS Silicon Graphics Unix Workstations (z. B. SGI Indigo2) Silicon Graphics Unix Server (z. B. SGI Origin2000) DEC Workstations (z.b.
MehrHigh Performance Embedded Processors
High Performance Embedded Processors Matthias Schwarz Hardware-Software-Co-Design Universität Erlangen-Nürnberg martin.rustler@e-technik.stud.uni-erlangen.de matthias.schwarz@e-technik.stud.uni-erlangen.de
Mehr3 Lineare Gleichungssysteme
Lineare Gleichungssysteme Wir wissen bereits, dass ein lineares Gleichungssystem genau dann eindeutig lösbar ist, wenn die zugehörige Matrix regulär ist. In diesem Kapitel lernen wir unterschiedliche Verfahren
MehrAlgorithmische Bioinformatik
FREIE UNIVERSITÄT BERLIN Fachbereich Mathematik und Informatik Institut für Informatik (WE 3) FU BERLIN Freie Universität Berlin FB Mathematik und Informatik, Institut für Informatik, Takustr. 9, D-14195
MehrAnhang: Ungarische Methode
Ungarische Methode 107 Anhang: Ungarische Methode Zum Schluss des Kurses soll noch der Algorithmus der Ungarischen Methode beschrieben werden. Wir lehnen uns hierbei eng an der Darstellung von DOMSCHKE
MehrKlassische Informationstheorie: Berechenbarkeit und Komplexität
Klassische Informationstheorie: Berechenbarkeit und Komplexität Christian Slupina 1. Institut für Theoretische Physik Datum: 12.Juli 2011 Inhalt Gedankenexperiment: Die Turingmaschine Standard-Turingmaschinen
Mehr