> Parallele Systeme Übung: Exkurs High-Performance-Computing (an der WWU) Philipp Kegel Wintersemester 2012/2013

Größe: px
Ab Seite anzeigen:

Download "> Parallele Systeme Übung: Exkurs High-Performance-Computing (an der WWU) Philipp Kegel Wintersemester 2012/2013"

Transkript

1 > Parallele Systeme Übung: Exkurs High-Performance-Computing (an der WWU) Philipp Kegel Wintersemester 2012/2013 Parallele und Verteilte Systeme, Institut für Informatik

2 Inhaltsverzeichnis 2 1 LINPACK 2 Die Cluster des ZIV ZIVSMP, ZIVHPC und PALMA Batchsystem und Scheduler Modulkonzept 3 Programme erstellen und ausführen Programme bauen mit Make Beispiel: Send-Recv

3 LINPACK 3 Ursprünglich (1979): Paket von Routinen zum Lösen linearer Gleichungssysteme (LGS) basierend auf Level 1 BLAS (Basic Linear Algebra Subprograms) Benutzerhandbuch dokumentierte Zeitmessungen für das Staffeln von Matrizen auf 23 damals zeitgemäßen Rechnern Innerhalb kurzer Zeit etablierte sich die Liste als Referenz zum Vergleich von Rechnersystemen Top500-Liste Der LINPACK Benchmark wurde daraufhin erweitert und ermittelt seitdem die Laufzeit für drei Benchmarkprogramme: Ax = b, für ein stark besetztes A mit Elementen Ax = b, für ein stark besetztes A mit Elementen Parallele Lösung großer LGS (Level 3 BLAS) Dokumentiert in Jack Dongarra et al. (2002): The LINPACK Benchmark: Past, Present, and Future

4 Lösung von Ax = b durch Gaußsches Eliminationsverfahren LINPACK 1. LR-Zerlegung (Faktorisierung) von A: Zerlegung von der Koeffizientenmatrix A in das Produkt einer linken unteren Dreiecksmatrix L und einer rechten oberen Dreiecksmatrix R, wobei die Diagonalelemente von L gleich 1 sind Pseudocode für sequentielle Berechnung: for i = 1 to n { // berechne R for j = i to n { R(i,j) = A(i,j) for k = 1 to i-1 { R(i,j) -= A(i,k) * A(k,j) } } // berechne L for j = i + 1 to n { L(j,i) = A(j,i) for k = 1 to i-1 { L(j,i) -= A(j,k) * A(k,i) } L(j,i) /= A(i,i) } } 4 Die LR-Zerlegung von A ergibt das neue System LRx = b

5 LINPACK-Operationen 5 2. Das System LRx = b lässt sich wie folgt lösen 2.1 Löse Ly = b, Ergebnis: y (Vorwärtseinsetzen) 2.2 Löse Rx = y, Ergebnis: x (Rückwärtseinsetzen) Benötigt 2n 3 /3+2n 2 +O(n) Gleitkommaoperationen Komplexität O(n 3 ) LINPACK-Operationen LINPACK stellt die Routinen DGEFA (Dekomposition in O(n 3 ) Schritten) und DGESL (Lösen des Systems in O(n 2 ) Schritten) bereit DGEFA verwendet die hardwareunterstützten BLAS-Routinen DAXPY, IDAMAX und DSCAL Am häufigsten ( 90% der Zeit) wird DAXPY verwendet: Multipliziert Vektor x mit Skalar α und addiert das Ergebnis zu Vektor y DAXPY wird gelegentlich alleine für das Benchmarking verwendet

6 Peak-Performance 6 Eine Maßzahl für die Leistung eines Rechners sind flop/s (floating point operations per second = Gleitkommaoperationen pro Sekunde) Rechnerhersteller geben Leistung gerne als Peak-Performance an, wobei zugrunde gelegt wird, dass eine Gleitkommaoperationen zumindest einen Taktzyklus eines Prozessors benötigt, es gilt also z.b. für eine CPU mit 2GHz R peak = 1Operation 1Zyklus 2GHz = 2Gflop/s Die theoretische Peak-Performance entspricht somit einer Art Lichtgeschwindigkeit eines Rechners, da sie von keinem Programm überschritten werden kann

7 Peak-Performance 7 Folgende Tabelle stellt die Peak-Performance einiger Rechnerarchitekturen der Zahl der tatsächlich ausgeführten DAXPY-Operationen gegenüber Rechner Taktrate [MHz] Peak [Mflop/s] DAXPY R [Mflop/s] Pentium III Pentium Itanium TOP500-Liste (http://www.top500.org): Liste der 500 leistungsstärksten Allzweck-Rechnersysteme für High-End-Applikationen Leistung wird mit dem LINPACK-Benchmark (Level 3) gemessen. Wichtig: Es müssen 2n 3 /3+O(n 2 ) doppelt-genaue Gleitkommaoperationen durchgeführt werden Liste u.a. von Jack Dongarra veröffentlicht und zweimal jährlich aktualisiert

8 LINPACK in Fortran, C und Java 8 LINPACK (inkl. Quelltexte) in Fortran ist auf verfügbar (wie auch der aktuellere LAPACK: LINPACK und LAPACK für Architekturen mit verteiltem Speicher (wie z.b. der Cluster des ZIV) basieren auf dem Message-Passing-Programmiermodell Sequentielle Implementierung in C++: Sequentielle Implementierung in Java:

9 Die Graph500-Liste 1 9 Das Benchmarking mit LINPACK ist umstritten: LINPACK ist nicht repräsentativ für daten-intensive Anwendungen Eine Alternative zur TOP500-Liste ist die Graph500-Liste: Liste der 500 besten Supercomputer für daten-intensive Anwendungen (http://www.graph500.org/) Graph500 versteht sich als Ergänzung zur TOP500-Liste Bewertet das Kommunikationsnetzwerk eines Rechner statt seiner Rechenleistung anhand von Operationen auf Graphen Zwei Kernel: Grapherzeugung und Breitensuche Fünf Größenklassen der Graphen: 17 GByte (toy) 1,1 PByte (huge) Metrik: TEPS (traversed edges per second) Erstmals im November 2010 veröffentlicht; zzt. 123 Einträge 1 Murphy, R.C., Wheeler, K.B., Barrett, B.W. (2010): Introducing the Graph 500

10 Die Cluster des ZIV 10 ZIVSMP DL785-System von Hewlett-Packard: 8 Quadcore AMD Opteron 2,3GHz ( 32 Kerne), 256GB RAM Front-End und Compute-Node des Parallelrechners ZIVHPC ZIVHPC 20 Knoten: 2 Quadcore AMD Opteron mit 2,1GHz, 32GB RAM ( 160 Kerne) 3 Dateiserver, 3TB SAN (GFPS) Betriebssystem: Scientific Linux 5.6 (ein Red Hat Enterprise Clone) Verbindungsnetzwerk: Infiniband und Gigabit Ethernet (für GPFS, Batchsystem) Gemeinsame LINPACK-Performance: 1,3 TFLOPS

11 Die Cluster des ZIV 11 PALMA (Paralleles Linux-System für Münsteraner Anwender) 36 Knoten: 2 Quadcore Intel Xeon mit 2,67GHz, 24GB RAM 216 Knoten: 2 Hexacore Intel Xeon mit 2,67GHz, 24 48GB RAM 4 Knoten: 4 Octocore Intel Xeon mit 2GHz, 128GB RAM Dateisystem: 3TB /home + 180TB /scratch 3008 Prozessorkerne, 7TB RAM, Leistung >30TFLOPS Weitere Informationen unter: https://sso.uni-muenster.de/zivwiki/bin/view/anleitungen/hpc Die folgenden Beispiele beziehen sich auf die Arbeit mit den alten Cluster ZIVHPC + ZIVSMP.

12 Login und Logout 12 Über MeinZIV (http://www.uni-muenster.de/meinziv/) kann man ein Benutzerkonto für den Cluster beantragen Der Login erfolgt über Secure Shell aus dem Netz der WWU (ggf. vorher VPN-Verbindung herstellen) Windows: grafische Terminalemulation (z.b. PuTTY) Linux: ssh [Optionen] <Rechner-URL> Wichtige Option: -l<nutzerkennung> Beispiel: ssh -la dent01 zivsmp.uni-muenster.de Beim ersten Login muss man das Serverzertifikat des Clusters akzeptieren Logout nicht vergessen logout

13 Datenübertragung ins persönliche Nutzerverzeichnis 13 Auf dem Cluster besitzt jeder Benutzer ein persönliches Nutzerverzeichnis, das sogenannte Home. Das Zeichen ~ ist eine Abkürzung für dieses Verzeichnis Programme, Daten, etc. können via Secure Copy zwischen dem lokalen Rechner und dem Cluster kopiert werden Windows: grafischer Client (z.b. PuTTY) Linux: scp [Optionen] <Quelle> <Ziel> Quelle und Ziel haben folgendes Format: Beispiel: scp myfile.c a

14 Batchsystem und Scheduler 14 Batchsystem TORQUE zusammen mit dem Scheduler Maui sorgen für Verteilung von Rechenaufträgen (Jobs) auf dem Cluster Störungsfreie Nutzung des Clusters durch mehrere Nutzer Jobs sollten immer vom Dialogserver (ZIVSMP) aus in eine Job-Warteschlange (Queue) des Batchsystem übergeben werden Prozesse, die nicht über das Batchsystem gestartet wurden, werden ohne Vorwarnung abgebrochen Es existieren drei Job-Queues testq 192 Kerne (ZIVSMP + ZIVHPC) für maximal 2 Stunden smallq 160 Kerne (ZIVHPC) für maximal 48 Stunden, maximal 2 Jobs/Benutzer bigq 96 Kerne für maximal 160 Stunden, maximal 1 Job/Benutzer Ohne explizite Angabe der Queue wird eine der o.g. Queues anhand der angegeben Programmlaufzeit (Walltime) ausgewählt Ist weder Queue noch Walltime angegeben, wird testq gewählt

15 Befehlsübersicht 15 Status des Jobsystems anzeigen qstat Job an das Batchsystem übergeben: qsub <PBS-Skript> Job anhalten: qhold <Job-ID> Job abbrechen/löschen: qdel <Job-ID> Weitere Informationen: man PBS oder man qsub

16 Batch-Skript 16 Jobs werden mit einem PBS-Skript (Portable Batch System) definiert Skript enthält Parameter (s.u.) der Form #PBS <Parameter> <Wert> für das Batchsystem und Kommandos zum Aufruf des auszuführenden Programms -o Datei für Standardausgabe -e Datei für Fehlerausgabe -l Ressourcenangaben, z.b. Walltime, Anzahl Knoten/Prozessoren -A Benutzerkennung -M -Adresse für Benachrichtigungen -m Ereignisse für Benachrichtigung, z.b. ae = Benachrichtigung bei Abbruch (a) und Ende (e) -q Job-Queue (default = automatische Auswahl) -N Job-Name -j Standardausgabe und Fehlerausgabe zusammen, z.b. oe = in Standardausgabe zusammenfassen

17 Batch-Skript 17 Datei myapp.pbs #PBS -o ~/myapp.out #PBS -l walltime=00:05:00,nodes=16 #PBS -A a_dent01 #PBS -M #PBS -m ae #PBS -q default #PBS -N MyApp #PBS -j oe cd ~/my_app mpirun -np 16 myapp Start des Jobs mit qsub myapp.pbs

18 Modulkonzept 18 Umgebungsvariablen (z.b. PATH, LD LIBRARY PATH) für Compiler und Bibliotheken werden über module-befehle definiert Befehl (Kurz- und Langform) module av[ailable] module li[st] module show modulname module add modul1 modul2... module rm modul1 modul2... module purge Bedeutung Listet alle verfügbaren Module auf Zeigt alle in der aktuellen Umgebung geladenen Module Listet die Änderungen auf, die ein Modul an der Umgebung bewirkt Fügt Module der aktuellen Umgebung hinzu Entfernt Module aus der aktuellen Umgebung Löscht alle aktivierten Module aus der Umgebung Damit die Umgebung auch auf den Rechenknoten verfügbar ist, muss das Kommando module add in der Shell-Init-Datei des Benutzers stehen (z.b..bashrc) Weitere Informationen: man module

19 Make 19 Ohne IDE (z.b. Eclipse) müssen alle Quelldateien einzeln übersetzt werden Möglicherweise bestehen Abhängigkeiten zu Bibliotheken (z.b. Pthreads) Compiler und Linker erfordern i.d.r. Optionen beim Aufruf Make ist ein Softwarewerkzeug mit einer Skriptsprache zum Ausführen von Befehlen (ähnlich Ant oder Maven im Java-Umfeld) Befehle werden in Makefiles zusammengefasst. Allgemeine Befehlsform: <Ziel>: <Quelle> <Befehl> Variablen können durch <Name>=<Wert> definiert werden, Zugriff auf Variable durch $(<Name>)

20 Make 20 Das erstellen einer Datei (z.b. eines Programms) wird als Ziel (Target) bezeichnet Quellen sind Objekte die vorhanden sein müssen, damit ein Ziel erstellt werden kann (z.b. Objektdatei). Ziele hängen von Quellen ab. Befehle geben an, wie ein Ziel aus der Quelle erstellt werden kann (z.b. Aufruf eines Compilers/Linkers) Ein Ziel kann andere Ziele als Quelle besitzen Quellen werden ggf. erzeugt, bevor das Ziel erzeugt wird ein Ziel kann eine Kaskade von Befehlen erzeugen Ein Ziel wird i.d.r. nur erstellt, wenn eine seiner Quellen jünger ist z.b. nur geänderte Quelldateien werden kompiliert Platzhalter (%,?) und vordefinierte Variablen ($<, etc.) erlauben Definition generischer Ziele Aufruf: make [<Target>]

21 Beispiel: Makefile 21 # C compiler/ linker CC= mpicc # C compiler options CFLAGS =- Wall # linker options LDLIBS=-lm # object files OBJS=myfile1.o myfile2.o # Implicit rule: # Compile $(CC) $(CPPFLAGS) $(CFLAGS) -c n.o myapp: $(OBJS) $(CC) $(LDFLAGS) $(LDLIBS) $+ -o # clean up folder.phony: clean clean: rm $(OBJS)

22 Beispiel: Send-Recv 22 Einfaches MPI-Programm mit p Prozessen 1 Prozess empfängt Daten von den anderen p 1 Prozessen Die Laufzeit jedes Prozesses wird gemessen Datei sendrecv.c #include <mpi.h> #include <stdio.h> #include <stdlib.h> #define N void busy_wait( double max_duration) {... } int main(int argc, char *argv[]) {... MPI_Init(&argc, &argv); MPI_Comm_rank( MPI_COMM_WORLD, & rank); MPI_Comm_size( MPI_COMM_WORLD, & size); MPI_Barrier( MPI_COMM_WORLD); start = MPI_Wtime();

23 Datei sendrecv.c (Fortsetzung) Beispiel: Send-Recv if (rank == 0) { for (i = 1; i < size; i++) { /* Nachricht empfangen */ MPI_Recv(data, N, MPI_INT, MPI_ANY_SOURCE, 99, MPI_COMM_WORLD, & status); printf("received from process %2i\n", status. MPI_SOURCE); busy_wait (0.5); /* Daten verarbeiten */ } } else { busy_wait (5.0); /* Daten erzeugen */ /* Nachricht senden */ MPI_Send(data, N, MPI_INT, 0, 99, MPI_COMM_WORLD); busy_wait (5.0); /* andere Programmaktivitaet */ } 23 stop = MPI_Wtime(); printf("time on process %i: %f\n", rank, stop - start); MPI_Finalize(); return EXIT_SUCCESS; }

24 Makefile für Send-Recv 24 CC= mpicc CFLAGS =- Wall LDLIBS=-lm OBJS=sendrecv.o # Implit rule: # Link $(CC) $(LDFLAGS) $(LDLIBS) -o sendrecv: clean: rm $(OBJS)

25 Batch-Skript für Send-Recv 25 #PBS -o zivsmp001:~/sendrecv/stdout #PBS -l walltime=00:05:00,nodes=2:hpc:ppn=8 #PBS -A a_dent01 #PBS -M #PBS -m ae #PBS -q testq #PBS -N sendrecv #PBS -j oe cd ~/sendrecv mpirun -np 16 sendrecv

26 Send-Recv auf ZIVHPC ausführen 26 1 Ggf. Verbindung zum Netzwerk der WWU herstellen, z.b. via VPN 2 Login auf ZIVSMP (Dialogserver für ZIVHPC) ssh -la dent01 zivsmp.uni-muenster.de 3 Programmordner anlegen und in Programmordner wechseln mkdir ~/sendrecv; cd ~/sendrecv 4 Programm sendrecv erstellen 5 Makefile erstellen 6 Programm kompilieren und linken make 7 Batch-Skript sendrecv.pbs erstellen 8 Batch-Job übergeben qsub sendrecv.pbs

27 27 Nächste Übung am 5. Dezember 2012

Nutzungsanleitung des Clusters thot.informatik.uni-halle.de

Nutzungsanleitung des Clusters thot.informatik.uni-halle.de Nutzungsanleitung des Clusters thot.informatik.uni-halle.de Martin-Luther-Universität Halle-Wittenberg INHALTSVERZEICHNIS 1 Inhaltsverzeichnis 1 Allgemeines 2 2 Module zum Einrichten der Nutzerumgebung

Mehr

Vektorrechnersystem NEC SX-9

Vektorrechnersystem NEC SX-9 Ansprechpartner HPC-Support Team Benutzerberatung Dr. Gerd Hessler (hessler@rz.uni-kiel.de) Dr. Simone Knief (knief@rz.uni-kiel.de) Dr. Eva-Maria Zeidler (zeidler@rz.uni-kiel.de) Systembetreuung: Dr. Cebel

Mehr

NEC HPC-System. SX-ACE Vektorrechnersystem u. HPC-Linux Cluster. Rechenzentrum

NEC HPC-System. SX-ACE Vektorrechnersystem u. HPC-Linux Cluster. Rechenzentrum SX-ACE Vektorrechnersystem u. HPC-Linux Cluster 1 Ansprechpartner HPC-Support Team Benutzerberatung Dr. Karsten Balzer Dr. Simone Knief Systembetreuung: Dr. Cebel Kücükkaraca Alfred Wagner Mailingliste:

Mehr

Parallel Programming: Message-Passing-Interface

Parallel Programming: Message-Passing-Interface Vorlesung Rechnerarchitektur 2 Seite 71 MPI-Einführung Parallel Programming: Voraussetzungen im Source-Code für ein MPI Programm: mpi.h includen Die Kommandozeilenparameter des Programms müssen an MPI_Init

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

MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven

MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven MPI-Programmierung unter Windows mit MPIH2 Installieren von MPIH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen hristian Terboven Rechen- und Kommunikationszentrum RWTH Aachen 1 02/2007 luster-installationsworkshop

Mehr

Softwarepraktikum: Einführung in Makefiles

Softwarepraktikum: Einführung in Makefiles Softwarepraktikum: Einführung in Makefiles (Eingebettete Systeme und Robotik),, http://ai3.inf.uni-bayreuth.de /home/db_lehre/praktika/softwarepraktikum/vorbesprechung_und_einfuehrung/vortraege/makefile_tuto

Mehr

Das Batch-System. Inhaltsverzeichnis. Leibniz Universität IT Services (LUIS) Service: Scientific Computing

Das Batch-System. Inhaltsverzeichnis. Leibniz Universität IT Services (LUIS) Service: Scientific Computing Leibniz Universität IT Services (LUIS) Service: Scientific Computing Das Batch-System Das Clustersystem wird von vielen Nutzern gemeinsam verwendet. Anforderungen an die Ressourcen müssen daher reguliert

Mehr

Hochleistungsrechnen mit Windows Interaktive Benutzung und das Batchsystem Christian Terboven Rechen- und Kommunikationszentrum RWTH Aachen

Hochleistungsrechnen mit Windows Interaktive Benutzung und das Batchsystem Christian Terboven Rechen- und Kommunikationszentrum RWTH Aachen Hochleistungsrechnen mit Windows Interaktive Benutzung und das Batchsystem hristian Terboven Rechen- und Kommunikationszentrum RWTH Aachen 1 Hochleistungsrechnen mit Windows enter omputing and ommunication

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome (Timo Heinrich, t_hein03@uni-muenster.de) Inhaltsverzeichnis: 0.Einleitung 1.Teil: Helloworldprogramm 1.1 Quellcode: Helloworld.cpp 1.2

Mehr

UBELIX University of Bern Linux Cluster

UBELIX University of Bern Linux Cluster University of Bern Linux Cluster Informatikdienste Universität Bern ID BEKO Grid Forum 7. Mai 2007 Inhalt Einführung Ausbau 06/07 Hardware Software Benutzung Dokumentation Gut zu wissen Kontakt Apple/Mac:

Mehr

Paralleles Rechnen und Grid Computing am ZIV Zustandsbericht und Ausblick

Paralleles Rechnen und Grid Computing am ZIV Zustandsbericht und Ausblick Dipl. Geophys. Martin Leweling (lewelin@uni muenster.de) Westfälische Wilhelms Universität Münster Zentrum für Informationsverarbeitung Inhalt Parallelrechner ZIVcluster Hard und Softwareausstattung des

Mehr

Programmentwicklung mit C++ (unter Unix/Linux)

Programmentwicklung mit C++ (unter Unix/Linux) Programmentwicklung mit C++ (unter Unix/Linux) Erste Schritte Der gcc - Compiler & Linker Organisation des Source-Codes & Libraries Automatische Programmgenerierung: Make Birgit Möller & Denis Williams

Mehr

Benutzer und Rechte Teil 1, Paketverwaltung, SSH

Benutzer und Rechte Teil 1, Paketverwaltung, SSH Benutzer und Rechte Teil 1, Paketverwaltung, SSH Linux-Kurs der Unix-AG Benjamin Eberle 26. Mai 2015 Wozu verschiedene Benutzer? (1) Datenschutz mehrere Benutzer pro Rechner, insbesondere auf Server-Systemen

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

DAP2-Programmierpraktikum Einführung in C++ (Teil 1) DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume

Mehr

Modulare Programmierung und Bibliotheken

Modulare Programmierung und Bibliotheken Modulare Programmierung und Bibliotheken Proseminar-Vortrag am 24.06.2011 von Ludwig Eisenblätter Ludwig Eisenblätter 1 von 25 Modulare Programmierung und Bibliotheken Inhaltsübersicht Motivation / Einleitung

Mehr

Grundlagen der Verwendung von make

Grundlagen der Verwendung von make Kurzskript zum Thema: Grundlagen der Verwendung von make Stefan Junghans Gregor Gilka 16. November 2012 1 Einleitung In diesem Teilskript sollen die Grundlagen der Verwendung des Programmes make und der

Mehr

Kompilieren und Linken

Kompilieren und Linken Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang

Mehr

Warum in die Ferne schweifen?

Warum in die Ferne schweifen? Eine Reise nach Palma B. Süselbeck Warum in die Ferne schweifen? Lokale Ressourcen reichen nicht trotz Parallelisierung Lokale Hardwarebeschaffung zu teuer, nur gelegentlich benutzt 1 Demo Ein kleines

Mehr

High Performance Computing

High Performance Computing REGIONALES RECHENZENTRUM ERLANGEN [ RRZE ] High Performance Computing Systemausbildung Grundlagen und Aspekte von Betriebssystemen und System-nahen Diensten Michael Meier, RRZE, 01.07.2015 Agenda Was bedeutet

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

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT Architektur Übersicht (allgemeine) OOP in C++ Polymorphie Virtuelle Funktionen Kompilieren Linken dynamische/statische Bibliotheken Tutorial: vs2008+ogre+(campus modell) Architektur (allgemeine) OOP in

Mehr

Userguide für den Linux Cluster des UZWR. the admins

Userguide für den Linux Cluster des UZWR. the admins Userguide für den Linux Cluster des UZWR the admins 12. April 2011 Inhaltsverzeichnis 1 Aufbau des Rechenclusters 1 2 Login 2 2.1 Windows........................................ 2 2.1.1 PuTTy......................................

Mehr

NWZSUPERDOME. Einführung für Benutzer. Christian Mück-Lichtenfeld. Organisch-Chemisches Institut. May 16, 2007

NWZSUPERDOME. Einführung für Benutzer. Christian Mück-Lichtenfeld. Organisch-Chemisches Institut. May 16, 2007 Einführung für Benutzer Christian Mück-Lichtenfeld Organisch-Chemisches Institut May 16, 2007 1/44 Überblick Themen Hardwareresourcen Installierte Software Programmierung Zielgruppe: High Performance Computing

Mehr

Entwicklung mit mehreren Dateien

Entwicklung mit mehreren Dateien Frühjahrsemester 2011 CS104 Programmieren II Teil II: C++ Programmierung Kapitel 9: Entwicklungsprozess in C++ H. Schuldt Entwicklung mit mehreren Dateien In C++ ist es üblich, den Quelltext in mehreren

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

BraLUG-Cluster Idee, Konzept und Umsetzung. Uwe Berger; 2005

BraLUG-Cluster Idee, Konzept und Umsetzung. Uwe Berger; 2005 <bergeruw@gmx.net> Idee, Konzept und Umsetzung ; 2005 Inhalt Die Idee Das Konzept Die Umsetzung PVM Hard-/Software Bootkonzept Clientanmeldung... und jetzt? 01/2005 2 Die Idee eine aussergewöhnliche und

Mehr

Embedded So)ware. Einrichten der Arbeitsumgebung

Embedded So)ware. Einrichten der Arbeitsumgebung Embedded So)ware Einrichten der Arbeitsumgebung Inhaltsangabe 1. Was ist installiert 2. Was ist zu tun? Einrichten des Raspi! Cross Compiler auf den Arbeitsplatzrechner installieren! Raspi einbinden! Plugin

Mehr

Web-Dienste: MI-Portal. News abonnieren / abbestellen. MI-Portal: Kontoeinstellungen. Studiengang Medieninformatik. Hochschule RheinMain

Web-Dienste: MI-Portal. News abonnieren / abbestellen. MI-Portal: Kontoeinstellungen. Studiengang Medieninformatik. Hochschule RheinMain Web-Dienste: MI-Portal Infrastruktur-Überblick 14. Oktober 2014 Studiengang Medieninformatik Login bei Zugriff von außen und für Einstellungen notwendig Hochschule RheinMain wolfgang.weitz@hs-rm.de https://www.mi.hs-rm.de/portal

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

Eprog Starthilfe. 5. Oktober 2010. 1 Einleitung 2

Eprog Starthilfe. 5. Oktober 2010. 1 Einleitung 2 Eprog Starthilfe 5. Oktober 2010 Inhaltsverzeichnis 1 Einleitung 2 2 Windows 2 2.1 Cygwin Installation................................... 2 2.2 Programmieren mit Emacs............................... 8

Mehr

Wie man eigene Programme erstellt

Wie man eigene Programme erstellt Kapitel 3 Wie man eigene Programme erstellt In diesem Kapitel geht es darum, sich mit einem Compiler vertraut zu machen. Dabei erfahren Sie, wie Sie eigene Programme auf den Systemen Windows und Linux

Mehr

Archivieren und Komprimieren, SSH

Archivieren und Komprimieren, SSH Archivieren und Komprimieren, SSH Linux-Kurs der Unix-AG Andreas Teuchert 12. November 2012 Archivieren Archivieren ist das Zusammenfassen mehrerer Dateien zu einer einzigen Hauptanwendung früher war das

Mehr

Matlab. Hinweise zur Nutzung auf dem Clustersystem. Um dieses Paket auf dem Clustersystem zu benutzen, muss man das Modul laden. Dies macht man so:

Matlab. Hinweise zur Nutzung auf dem Clustersystem. Um dieses Paket auf dem Clustersystem zu benutzen, muss man das Modul laden. Dies macht man so: Leibniz Universität IT Services (LUIS) Service: Scientific Computing Matlab Hinweise zur Nutzung auf dem Clustersystem Matlab ist ein programmierbar interaktives Programmsystem für das numerische und symbolische

Mehr

XSC. Reimar Bauer, Rebecca Breu. Dezember 2008. Forschungszentrum Jülich. Weihnachtsfeier, 10. Dezember 2008 1

XSC. Reimar Bauer, Rebecca Breu. Dezember 2008. Forschungszentrum Jülich. Weihnachtsfeier, 10. Dezember 2008 1 XSC Reimar Bauer, Rebecca Breu Forschungszentrum Jülich Dezember 2008 Weihnachtsfeier, 10. Dezember 2008 1 Supercomputing I I Forschungszentrum Ju lich mischt da mit Zweimal im Jahr gibt es eine Top 500-Liste

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme Grundkurs C++ Buildsysteme Buildsysteme Beispielhaftes Übersetzungsszenario: Verzeichnis tutorial7/ main.cpp, lcdrange.cpp, lcdrange.h *.cpp Kompilieren *.o *.h Grundkurs C++ 2 Headerdateien //blackbox.h

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Computergrafik 1 Übung, Wintersemester 2011. Eclipse Hands-On. C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.

Computergrafik 1 Übung, Wintersemester 2011. Eclipse Hands-On. C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10. Computergrafik 1 Übung, Wintersemester 2011 Eclipse Hands-On C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.12 1 Eclipse - Die IDE 1. Entwicklungsumgebung (IDE) herunterladen / installieren

Mehr

Anleitung zur Einrichtung von OpenCV

Anleitung zur Einrichtung von OpenCV Anleitung zur Einrichtung von Dieses Dokument beschreibt die Einrichtung und Funktionsüberprüfung von im Kontext der Lehrveranstaltung. Einrichtung Dieser Abschnitt beschreibt die Einrichtung von unter

Mehr

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de CVS-Einführung Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation und Anforderung Sobald ein Softwaresystem anwächst, ergeben sich Probleme im Umgang mit dem Quell Code. CVS (Concurrent

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2011/2012 1 / 22 popen Programmentwicklung unter Linux make gcc, objdump, readelf 2 / 22 Die Funktion popen Im

Mehr

Anleitung zur Einrichtung von OpenCV

Anleitung zur Einrichtung von OpenCV Anleitung zur Einrichtung von Dieses Dokument beschreibt die Einrichtung und Funktionsüberprüfung von im Kontext der Lehrveranstaltung. Einrichtung Dieser Abschnitt beschreibt die Einrichtung von unter

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

Projektseminar Parallele Programmierung

Projektseminar Parallele Programmierung HTW Dresden WS 2014/2015 Organisatorisches Praktikum, 4 SWS Do. 15:00-18:20 Uhr, Z136c, 2 Doppelstunden o.g. Termin ist als Treffpunkt zu verstehen Labore Z 136c / Z 355 sind Montag und Donnerstag 15:00-18:20

Mehr

RWTH - Umgebung. Übersicht. Seite 1. RWTH-Umgebung. Sun Grid Engine. Dateimanagement. Archiv. Backup. Seite 2. RWTH-Umgebung

RWTH - Umgebung. Übersicht. Seite 1. RWTH-Umgebung. Sun Grid Engine. Dateimanagement. Archiv. Backup. Seite 2. RWTH-Umgebung RWTH Ugebung Seite 1 Übersicht Sun Grid Engine Dateianageent Archiv Backup Seite 2 Sun Grid Engine Warteschlange für Prograe Verteilt Prograe über das ganze Cluster Sorgt für Lastausgleich (verhindert

Mehr

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

Compilieren und Linken von C- und C++-Dateien

Compilieren und Linken von C- und C++-Dateien Compilieren und Linken von C- und C++-Dateien 1999-2011 Dipl.Phys. Gerald Kempfer Lehrbeauftragter / Gastdozent an der Beuth Hochschule für Technik-Berlin Internet: public.beuth-hochschule.de/~kempfer

Mehr

Generalisierung von großen Datenbeständen am Beispiel der Gebäudegeneralisierung mit CHANGE

Generalisierung von großen Datenbeständen am Beispiel der Gebäudegeneralisierung mit CHANGE Institut für Kartographie und Geoinformatik Leibniz Universität Hannover Generalisierung von großen Datenbeständen am Beispiel der Gebäudegeneralisierung mit CHANGE Frank Thiemann, Thomas Globig Frank.Thiemann@ikg.uni-hannover.de

Mehr

Leistungsanalyse von Rechnersystemen

Leistungsanalyse von Rechnersystemen Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) Leistungsanalyse von Rechnersystemen Auf Ein-/Ausgabe spezialisierte Benchmarks Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424

Mehr

Praktikum Betriebssysteme 1. Aufgabe (1)

Praktikum Betriebssysteme 1. Aufgabe (1) FG TECHNISCHE INFORMATIK U BS 041 01 TH 09 Praktikum Betriebssysteme 1. Aufgabe (1) Es wird ein unter LINUX lauffähiges C++-Programm ptab, mit dem Informationen über die Partitionierung von Festplatten

Mehr

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt Literatur Einführung in Unix Introduction to Unix Martin Weissenböck: Linux, 2000, 2. Auflage, Adim Bodo Bauer: SuSE Linux 6.2, Installation, Konfiguration und erste Schritte, 1999, 15. Auflage, SuSE Verlag.

Mehr

Embedded-Linux-Seminare. Toolchains

Embedded-Linux-Seminare. Toolchains Embedded-Linux-Seminare Toolchains http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de Kopier-Rechte

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Leistungskurs C++ Subversion / CMake

Lehrstuhl für Datenverarbeitung. Technische Universität München. Leistungskurs C++ Subversion / CMake Leistungskurs C++ Subversion / CMake Subversion am LDV Repository der Gruppen: https://www2.ldv.ei.tum.de/repos/14cppx Anlegen des Repository: svn checkout https://www2.ldv.ei.tum.de/repos/14cppx cd 14cppX

Mehr

Systemprogrammierung: Erste Schritte (P) Das Manpage-System (P) Versionsverwaltung mit Subversion (P)

Systemprogrammierung: Erste Schritte (P) Das Manpage-System (P) Versionsverwaltung mit Subversion (P) Systempraktikum im Wintersemester 2009/2010 (LMU): Zum Selbststudium Foliensatz 0 Systemprogrammierung: Erste Schritte (P) Das Manpage-System (P) Versionsverwaltung mit Subversion (P) Dr. Thomas Schaaf,

Mehr

Kleines Tutorial für die Nutzung des bwuniclusters. Sven Wehner Angela Cho

Kleines Tutorial für die Nutzung des bwuniclusters. Sven Wehner Angela Cho Kleines Tutorial für die Nutzung des bwuniclusters Sven Wehner Angela Cho Programm Hintergrund bwunicluster & Zugang Dateiensystem Skripte starten, Jobs ausführen, Logging Shell-Skript Hilfreiche Shortcuts

Mehr

Klausur zu High Performance Computing 09. Juli 2011, SS 2011

Klausur zu High Performance Computing 09. Juli 2011, SS 2011 Alexander Vondrous, Britta Nestler, Fakultät IWI, Hochschule Karlsruhe Klausur zu High Performance Computing 09. Juli 2011, SS 2011 Es sind keine Hilfsmittel zugelassen. Bearbeitungszeit: 90 Minuten Aufgabe

Mehr

WinSCP Zugriff auf Daten des Uni-Netzwerkes

WinSCP Zugriff auf Daten des Uni-Netzwerkes WinSCP Zugriff auf Daten des Uni-Netzwerkes Robert Hillig 2013/03 1. Vorwort Das Universitätsnetzwerk ist von außen per SSH (Secure SHell) über login.tu-chemnitz.de auf Port 22 erreichbar. SSH ist ein

Mehr

Bakefiles. TgZero Technik.Blosbasis.net. April 1, 2013

Bakefiles. TgZero Technik.Blosbasis.net. April 1, 2013 TgZero Technik.Blosbasis.net April 1, 2013 1 Inhaltsverzeichnis 1 Makefile 3 1.1 Was sind Makefiles?........................ 3 2 Bakefile 3 3 Aufbau einer Bakefile 4 3.1 Targets...............................

Mehr

Systemvoraussetzungen

Systemvoraussetzungen Systemvoraussetzungen INDEX Netzwerk Überblick Benötigte n für: Windows Server 2008 Windows Server 2008 R2 Windows Server 2012 Windows SQL Server 2008 (32 Bit & 64 Bit) Windows SQL Server 2012 Client Voraussetzungen

Mehr

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens 11.1 Indirektes Binden (3) Objektadapterkonfiguration Name wird bei Erzeugung vergeben wird genutzt u.a. für Property-Zugriffe Adapter-ID wird über Property konfiguriert Beispiel: MyAdapter.AdapterID=MyAdapter

Mehr

Nutzung paralleler Prozesse bei der Umweltsimulation

Nutzung paralleler Prozesse bei der Umweltsimulation Nutzung paralleler Prozesse bei der Umweltsimulation RALF Wieland rwieland@zalf.de ZALF/LSA Nutzung paralleler Prozesse bei der Umweltsimulation p. 1 Warum parallele Prozesse? Die Steigerung der Taktfrequenz

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck Das Linux-Dateisystem bin usr sbin lib mail / var spool boot lpd Rc0.d etc Rc.d Rc1.d Verzeichnisstruktur / Root- oder Wurzelverzeichnis, das oberste Verzeichnis im kompletten Dateisystem. /bin Programme

Mehr

Einführung in die Programmierung mit Qt

Einführung in die Programmierung mit Qt Einführung in die Programmierung mit Qt Dr. Ralf Schüler 5.11.2009 Was ist Qt? sprich: [kju:t] Klassenbibliothek für C++ (ferner Java, Python u.a.) sehr umfangreich: GUI, Stringverarbeitung, reguläre Ausdrücke,

Mehr

1 Linux-Befehlsübersicht

1 Linux-Befehlsübersicht 1 Linux-Befehlsübersicht 1.1 Dateiverwaltung ls Verzeichnisinhalt anzeigen (list) ls -l ausführliche Darstellung ls -a auch versteckte Dateien auisten ls -h verwende besser lesbare Einheiten (humanreadable,

Mehr

Der Task-Manager von Windows 7

Der Task-Manager von Windows 7 Der von Windows 7 Der kann mehr als nur Programme abschießen: Er hilft beim Konfigurieren der Windows-Dienste und beim Lösen von Problemen. Der Windows wird oft nur dazu benutzt, um hängende Anwendungen

Mehr

Was ist QT? Beispiele: KDE Google Earth Mathematika

Was ist QT? Beispiele: KDE Google Earth Mathematika Einführung in QT Was ist QT? QT ist eine Klassenbibliothek für plattformübergreifende Programmierung graphischer Benutzeroberflächen QT ist für verschiedene Graphikplattformen wie X11 (Unix), Windows,

Mehr

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1 Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1 Wie wird auf Festplatten zugegriffen? Es gibt nur einen Verzeichnisbaum, siehe Verzeichnisse Es gibt

Mehr

C++ Kurs Teil 1. Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen

C++ Kurs Teil 1. Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen C++ Kurs Teil 1 "hello world" Vergleich von C++ und Java Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen C++ Spezialitäten Schlüsselwort 'const', Copy Constructor,

Mehr

Kurs für Linux Online Kurs Verwalter des Linux System

Kurs für Linux Online Kurs Verwalter des Linux System Kurs für Linux Online Kurs Verwalter des Linux System Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Linux Basis Programm MODUL 1 - Fundamental Einführung in Linux Das Verfahren

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Linux - a bit advanced

Linux - a bit advanced Linux - a bit advanced Überblick Rechteverwaltung Dateisystem Shell-Programmierung Remote login Paketsystem Alternativen-System Rechte Drei Benutzerklassen Owner/User Group Others Drei Rechte Ausführen

Mehr

Benutzer und Rechte Teil 1

Benutzer und Rechte Teil 1 Benutzer und Rechte Teil 1 Linux-Kurs der Unix-AG Zinching Dang 19. November 2012 Wozu verschiedene Benutzer? (1) Datenschutz mehrere Benutzer pro Rechner, insbesondere auf Server-Systemen unterschiedliche

Mehr

Informatik in der Elektrotechnik (BIE) Aufnahme des Übungsbetriebs

Informatik in der Elektrotechnik (BIE) Aufnahme des Übungsbetriebs Informatik in der Elektrotechnik (BIE) Arbeitsblatt 00 : Aufnahme des Übungsbetriebs Arbeiten mit DevC/C++ unter Windows XP Ziel der ersten Übung ist, ein einfaches C-Programm ( hallo.c ) unter XP mit

Mehr

Archivieren und Komprimieren, Globs

Archivieren und Komprimieren, Globs Archivieren und Komprimieren, Globs Linux-Kurs der Unix-AG Benjamin Eberle 23. November 2015 Sonderzeichen in Dateinamen bestimmte Zeichen haben für die Shell eine Sonderbedeutung (z. B. Globs oder das

Mehr

Von SVN zu Git. Daniel Willmann 2011-10-18 cbna

Von SVN zu Git. Daniel Willmann <daniel@totalueberwachung.de> 2011-10-18 cbna Von SVN zu Git Daniel Willmann 2011-10-18 cbna Inhalt Einführung Git für SVN Benutzer Weitergehende Konzepte Zusammenfassung Daniel Willmann Von SVN zu Git 2 Über den Vortragenden

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Informatik I 2 Übung 9 Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Quellcode Strukturieren Wenn alle Funktionen in einer Datei zusammengefasst sind wird es schnell unübersichtlich Mehrere

Mehr

DECUSnet Konfiguration. IT-Symposium 2005. www.decus.de 1. Alphaserver 2100 OpenVMS V7.3-2. TCPIP-Services

DECUSnet Konfiguration. IT-Symposium 2005. www.decus.de 1. Alphaserver 2100 OpenVMS V7.3-2. TCPIP-Services Neue DECUSnet Features mit PHP Clemens Wermelskirchen Stanford Linear Accelerator Center & DECUS München e.v. DECUS München IT-Symposium 2005 Swissôtel,, Düsseldorf/ D sseldorf/neuss,, 5.-7. April 2005

Mehr

Verteilte Versionskontrolle mit GIT. 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln

Verteilte Versionskontrolle mit GIT. 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln Verteilte Versionskontrolle mit GIT 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln 1 über mich 32 Jahre alt Softwareentwickler bei der Firma GreenPocket in Köln Java EE Entwickler und Rails

Mehr

Übersicht. C Modularisierung. Präprozessor, Compiler, Linker. Präprozessor, Compiler, Linker. Präprozessor, Compiler und und Linker Linker

Übersicht. C Modularisierung. Präprozessor, Compiler, Linker. Präprozessor, Compiler, Linker. Präprozessor, Compiler und und Linker Linker Übersicht Präprozessor, Compiler und und Linker Linker Befehle des Präprozessors C Modularisierung Bedingte Kompilierung Modulare Programmierung Prinzipien der Modularisierung 1 2 Präprozessor, Compiler,

Mehr

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10 Übersicht In den ersten Wochen: Einführung in objektorientierte Programmierung mit C++ Anschließend: Einführung in die programmierbare

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Computer Algebra Plan der Vorlesung. erstes Drittel: linux, emacs, L A TEX zweites Drittel: Sage als Taschenrechner letztes Drittel: Python für Sage

Computer Algebra Plan der Vorlesung. erstes Drittel: linux, emacs, L A TEX zweites Drittel: Sage als Taschenrechner letztes Drittel: Python für Sage Computer Algebra Nutzung des Computers im Studium: einen Editor (emacs) verwenden Texte (mit L A TEX) setzen ein Computeralgebrasystem (Sage) nutzen etwas programmieren (mit Python) Computer Algebra Plan

Mehr

Archive / Backup System für OpenVMS

Archive / Backup System für OpenVMS Archive / Backup System für OpenVMS DECUS Symposium 2002 Bonn Vortrag-Nr. 3C04 Günther Fröhlin Compaq Computer Corporation Colorado Springs, USA 1 Highlights V4.0 Auslieferung Januar 2002 Hauptversion

Mehr

4D Server v12 64-bit Version BETA VERSION

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

Mehr

Nuetzlicher Kleinkram

Nuetzlicher Kleinkram Ein paar Hilfestellungen zur Arbeit unter Linux/Unix FB Physik Freie Universität Berlin Computerphysik WS 2007/2008 1 2 3 user@ host :~ > gcc -o programm quelltext. c macht gleich mehrere Dinge auf einmal

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Das Beispiel orientiert sich am selben Code, der im Teil 1 der Serie verwendet wurde. Text Styles: Shell Prompt mit

Mehr

Computational Biology: Bioelektromagnetismus und Biomechanik

Computational Biology: Bioelektromagnetismus und Biomechanik Computational Biology: Bioelektromagnetismus und Biomechanik Implementierung Gliederung Wiederholung: Biomechanik III Statische Elastomechanik Finite Elemente Diskretisierung Finite Differenzen Diskretisierung

Mehr

INDEX. Netzwerk Überblick. Benötigte Komponenten für: Windows Server 2008. Windows Server 2008 R2. Windows Server 2012

INDEX. Netzwerk Überblick. Benötigte Komponenten für: Windows Server 2008. Windows Server 2008 R2. Windows Server 2012 INDEX Netzwerk Überblick Benötigte Komponenten für: Windows Server 2008 Windows Server 2008 R2 Windows Server 2012 Windows SQL Server 2008 (32 Bit & 64 Bit) Windows SQL Server 2012 Client Voraussetzungen

Mehr

Multicomputer ohne gemeinsamen Speicher 73

Multicomputer ohne gemeinsamen Speicher 73 Multicomputer ohne gemeinsamen Speicher 73 CPU RAM CPU RAM Netzwerk CPU RAM CPU RAM CPU RAM Multicomputer bestehen aus einzelnen Rechnern mit eigenem Speicher, die über ein Netzwerk miteinander verbunden

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

OS X StartupItems von Matthias Weidlich

OS X StartupItems von Matthias Weidlich OS X StartupItems von Matthias Weidlich 23.06.05 / 1 Agenda Einordnung Mac OS X Login Objects vs. StartupItems OS X StartupItems Arten und Startzeitpunkt Konfiguration am Beispiel Cron und Apache SystemStarter

Mehr

Linux Grundlagen. Wolfgang Scheicher 20. Mai 2006. 1 Allgemeines 2 1.1 Bootvorgang... 2 1.2 Verzeichnisstruktur... 2

Linux Grundlagen. Wolfgang Scheicher 20. Mai 2006. 1 Allgemeines 2 1.1 Bootvorgang... 2 1.2 Verzeichnisstruktur... 2 Linux Grundlagen Wolfgang Scheicher 20. Mai 2006 Inhaltsverzeichnis 1 Allgemeines 2 1.1 Bootvorgang........................................... 2 1.2 Verzeichnisstruktur........................................

Mehr

Angewandte Kryptografie Praktikum 0

Angewandte Kryptografie Praktikum 0 Angewandte Kryptografie Praktikum 0 Thema: C++ Programmierung mit Eclipse Sommersemester 2015 Prof. Dr. Christoph Karg Hochschule Aalen Im Rahmen dieses Praktikums wird erläutert, wie man mit den GNU Entwicklungswerkzeugen,

Mehr