Übungen zu den Kursen Unix Grundlagen und Message Passing mit MPI Hans Joachim Pflug

Größe: px
Ab Seite anzeigen:

Download "Übungen zu den Kursen Unix Grundlagen und Message Passing mit MPI Hans Joachim Pflug"

Transkript

1 Hochleistungsrechnen auf dem Sun Fire SMP Cluster März 2002 Rechenzentrum der RWTH Aachen Übungen zu den Kursen Unix Grundlagen und Message Passing mit MPI Hans Joachim Pflug Übungen zum Kurs Unix-Grundlagen... 2 Übungen zum Kurs Message Massing mit MPI Kurzübersicht über die wichtigsten MPI-Befehle MPI_Init / MPI_Finalize...28 MPI_Comm_size / MPI_Comm_rank...29 MPI_Send / MPI_Recv...30 MPI_Get_count / MPI_Status...32 MPI_Bcast...33 MPI_Reduce...34 MPI_Scatter / MPI_Gather...35 MPI_Barrier...37 MPI_Pack / MPI_Unpack...38 Weitere Informationen... 40

2 Übungen zum Kurs Unix-Grundlagen 11. März 2001 Rechenzentrum der RWTH Aachen Hans Joachim Pflug 1. EINLOGGEN Herzlich willkommen zu den Übungen des Kurs-Reihe Hochleistungsrechnen auf dem Sun Fire SMP-Cluster. Bevor Sie mit den Unix-Übungen loslegen können, müssen Sie sich zunächst einen Zugang zu einem Unix-Terminal holen. Um den Monitor einzuschalten, drücken Sie bitte die AUTO-Taste am linken unteren Ende der Vorderseite des Monitors. Sollte sich der Monitor zwischendurch automatisch ausschalten, wiederholen Sie den Tastendruck. Loggen Sie sich in Windows ein: Name: pc**, ** ist die Zahl, die auf dem Aufkleber auf dem Computergehäuse zu lesen ist. Password: wird in der Übung angegeben. Anmelden an: REZE-WIN Es stehen deutsche und amerikanische Tastaturen zur Verfügung. Sollten Sie Ihre Tastatur wechseln wollen, melden Sie sich bitte. Starten Sie den XWin32 X-Server, indem Sie auf das X-Win32-Icon klicken oder indem Sie den Menüpunkt Start Programme X-win X-Win 32 anwählen. In der Task-Leiste am unteren Rand des Bildschirms erscheint rechts ein X-Symbol. Doppelklicken Sie darauf. Sie müssen nun einen Unix-Server auswählen. Der vorgesehene Unix-Server wird in der Stunde bekanntgegeben. Sollte dieser Server nicht in der Liste enthalten sein, melden Sie sich bitte. Geben Sie Ihre ID und Ihr Password ein: Ihre ID ist am unteren Ende Ihres Namensschildchens abgedruckt. Diese ID ist Ihre Unix- Benutzernummer. Sie werden Sie in den Übungen noch mehrmals brauchen. Ihr Password wird Ihnen in der Stunde bekanntgegeben. 2. ERZEUGEN EINES TERMINAL-FENSTERS Sie befinden sich jetzt in der graphischen Oberfläche eines X-Window-Servers, genauer gesagt, von CDE. Um richtig mit Unix arbeiten zu können, müssen Sie ein Terminal- Fenster öffnen. Klicken Sie mit der rechten Maustaste auf das Desktop und wählen Sie dann Tools Terminal. 3. KOPIEREN DER TEST-DATEIEN INS EIGENE VERZEICHNIS Geben Sie folgende Zeile ein: - 2 -

3 cp /rwthfs/rz/stage/examples/sunhpc/unix_aufgaben.tar.gz.. Der cp-befehl kopiert die Datei Unix_Aufgaben.tar.gz aus dem Verzeichnis /rwthfs/rz/stage/examples/sunhpc in das aktuelle Verzeichnis (2. Parameter ist ein Punkt). 4. ENTPACKEN DER TEST-DATEIEN Die Datei Unix_Aufgaben.tar.gz ist eine komprimierte Archiv-Datei. Mehrere Dateien wurden zunächst mit dem Programm tar zu einem Archiv zusammengebunden. Dies ist an der Endung.tar zu erkennen. Anschließend wurde die Datei mit dem Programm gzip komprimiert. Geben Sie folgende Zeile ein: gunzip Unix_Aufgaben.tar.gz Damit dekomprimieren Sie die Datei. Sie erhalten die Datei Unix_Aufgaben.tar. Die ursprüngliche Datei wird gelöscht. Geben Sie jetzt folgende Zeile ein: tar xf Unix_Aufgaben.tar tar ist der Name des Archivierungs-Programms. Die Option x bestimmt, dass Dateien dem Archiv entnommen werden sollen (extract). Die Option f legt fest, dass anschließend der Name des Archivs angegeben wird. 5. AUFLISTEN DER DATEIEN Geben Sie folgende Zeile ein: ls Dieser Befehl listet das Directory auf. Als Ausgabe erhalten Sie: Unix-Aufgaben Unix_Aufgaben.tar Um mehr Inforamtionen zu erhalten, müssen Sie dem ls-befehl zusätzliche Optionen mitgeben. Die Option l bewirkt eine ausführlichere Ausgabe. Die Option a lässt auch - 3 -

4 normalerweise versteckte Dateien (Dateien, die mit einem Punkt beginnen) in der Ausgabe erscheinen. Geben Sie also folgende Zeile ein: ls -la und Sie erhalten eine Ausgabe in der Art der folgenden: drwxr-x--- 3 yc30611 yc Feb 14 16:19. drwxr-x--- 6 yc30611 yc Feb 13 17:03.. drwxr-x--- 2 yc30611 yc Feb 13 13:55 Unix-Aufgaben -rw-r yc30611 yc Feb 13 13:58 Unix_Aufgaben.tar In der ersten Spalte bedeutet das d, dass es sich hier um ein Verzeichnis handelt. Die nächsten 9 Spalten legen das Lese- und Schreibrecht fest. Die ersten 3 Spalten stehen für Lese- (r) Schreib- (w) und Ausführungsrecht (x) des Inhabers. Die nächsten 3 Spalten beinhalten die entsprechenden Einträge für die Benutzergruppe und die anschließenden Spalten für alle anderen Benutzer. Die Namen des Inhabers und der Benutzergruppe sind weiter rechts zu sehen. Inhaber ist hier yc30611, Benutzergruppe yc30. Ganz rechts bei den Programmnamen bedeutet ein Punkt: aktuelles Verzeichnis und zwei Punkte: ein Verzeichnis zurück. 6. VERZEICHNISWECHSEL Um in das Verzeichnis Unix-Aufgaben zu gelangen, geben sie folgende Zeile ein: cd Unix-Aufgaben Mit ls können Sie jetzt feststellen, welche Test-Dateien Ihnen zur Verfügung stehen. 7. EDITIEREN EINER DATEI Editoren gibt es in Unix in Hülle und Fülle. Möglicherweise haben Sie schon von vi oder emacs gehört, den beiden bekanntesten Unix-Editoren. Für diesen Kurs empfehlen wir nedit. Wir benutzten ihn meist auch. Wenn Sie später diesen Editor verwenden wollen, brauchen Sie dazu ein Grafik-fähiges X-Terminal. Geben Sie folgende Zeile ein: nedit HelloWorld.c - 4 -

5 Es erschient ein Editor-Fenster mit dem Programm-Code. Die Funktionen sind recht intuitiv zu bedienen, ähnlich derer von Editoren unter Windows. Zunächst jedoch zu einem anderen Punkt. Es lässt sich jetzt zwar wunderbar editieren, aber kein weiterer Befehl mehr in das Terminal eingeben, solange der Editor noch geöffnet ist. Dies wird schnell unpraktisch. Drücken Sie daher die Taste Ctrl-Z. Jetzt ist die Eingabezeile wieder da; leider ist aber nun der Editor blockiert. Geben Sie daher die Zeile bg ein, die den Editor im Hintergrund (background) weiterarbeiten läßt. Nun funktionieren sowohl Eingabezeile als auch Editor. Das Ganze wäre natürlich auch viel einfacher gegangen. Es ist möglich, Programme im Hintergrund zu starten, indem an den Befehl ein &-Zeichen gehängt wird. Probieren Sie es einmal aus: nedit HelloWorld.c & Eine praktische Einstellung möchte ich in nedit noch erwähnen. Die Einstellung Preferences Show Line Numbers bewirkt, dass in jeder Zeile die Zeilennummer angezeigt wird. Zum Debuggen ist dies sehr hilfreich. 8. COMPILIEREN UND BINDEN EINER DATEI Das Fehlen einer graphischen Entwicklungsumgebung führt dazu, dass Sie Programme per Eingabezeile compilieren und binden müssen. In diesem Kapitel wird dabei von den vielen Möglichkeiten, die sich dabei bieten, nur ein kleiner Teil beschrieben. Auf dem Sun-Cluster werden die Sun-Compiler (es sind auch andere Compiler installiert) folgendermaßen aufgerufen: C: cc C++: CC Fortan77: f77 (*) Fortran90: f90 (*) Es ist empfehlenswert, auch für Fortran77-Programme den f90-compiler zu verwenden. Selbstverständlich gibt es auch hier wieder einen ganzen Lattenzaun von Optionen. Manche davon sind herstellerspezifisch, oder kommen gar nur in einer speziellen - 5 -

6 Compiler-Version vor, andere sind bei allen Compilern gleich. Die Optionen für die Sun- Compiler werden in einem späteren Vortrag ausführlich behandelt. An dieser Stelle wird nur auf 3 Optionen eingegangen: -g: Erzeugt zusätzliche Informationen für einen Debugger. Sollte in der Entwicklungsphase immer angegeben werden. -fast: Schaltet den Compiler in die höchste Optimierungsstufe. Diese Option kann dramatische Zugewinne an Ausführungsgeschwindigkeit bringen (Faktor 40 im Extremfall). Andererseits werden die Möglichkeiten eines Debuggers fast komplett eingeschränkt. Während der Entwicklungsphase sollte daher auf fast verzichtet werden (der Default ist: niedrigste Optimierungsstufe). In der Einsatzphase sollte -fast unbedingt gesetzt sein, sofern das Programm dann noch korrekt läuft. -o: Der Linker erzeugt, sofern nichts anderes angegeben, einen ausführbare Datei mit Namen a.out. Soll die Datei einen anderen Namen haben, so ist dies mit der Option -o anzugeben. Geben Sie folgende Zeile ein: cc g fast o HelloWorld.exe HelloWorld.c Der letzte Parameter ist der Name der Datei, die compiliert werden soll. Die Datei wird anschließend gebunden (falls das verhindert werden soll, ist die Option c anzugeben) und eine ausführbare Datei erzeugt. Die Warnung cc: Warning: -xarch=native has been explicitly specified, or implicitly specified by a macro option, -xarch=native on this architecture implies - xarch=v8plusb which generates code that does not run on pre UltraSPARC III processors kann ignoriert werden, da im Sun-Cluster alle Prozessoren mindestens vom Typ UltraSparc III sind. Sie können rechts von der Option fast auch die Option xarch=v8plusb hinzufügen, woduch die Warnung verschwindet. Überzeugen Sie sich durch ls, dass die Datei HelloWorld.exe erzeugt wurde. 9. STARTEN DER DATEI Eine ausführbare Datei wird einfach durch Eingabe ihres Namens ausgeführt. Tatsächlich sind die meisten Unix-Befehle in Wirklichkeit ausführbare Dateien. Ob eine Datei ausführbar ist oder nicht, wird nicht durch den Dateinamen festgelegt, sondern durch den Status des Ausführungssrechts, den wir beim ls-befehl kennengelernt haben

7 Geben Sie folgende Zeile ein: HelloWorld.exe und es erscheint: Hello, world. 10. MAKEFILES Bei größeren Projekten werden die Dateien nicht mehr von Hand compiliert, sondern die Anweisungen dazu stehen in sogenannten Makefiles. Makefiles haben den Namen Makefile oder makefile. Makefiles sind kleine Programme in einer speziellen Sprache, die angeben, wie ein Programmpaket compiliert wird. Die Vorteile von Makefiles, ihr Aufbau und wie man sie erstellt, wird an einer anderen Stelle behandelt. In diesem Kapitel wird einzig darauf eingegangen, wie ein Makefile bedient wird. Wenn ein (korrektes) Makefile bereits existiert, kann man so sich viel Arbeit beim Compilieren sparen. Der Aufruf make bewirkt, dass im aktuellen Verzeichnis ein Makefile gesucht und gestartet wird. Beim Aufruf von Makefiles wird oft als Parameter eine Ansprungadresse übergeben. Bei der Benennung der Ansprungadressen haben sich verschiedene Konventionen herausgebildet. make (ohne Adresse): Manchmal wie make all, manchmal wird auch ein Hilfetext ausgegeben. make all: Das komplette Projekt wird, soweit nötig, neu compiliert und gebunden. make go: Das Projekt wird ausgeführt. make clean: Alle erzeugten Dateien (natürlich nicht die Sourcen) werden gelöscht. Es gibt verschiedene make-versionen, die sich leicht unterscheiden. make ruft das Solaris-make auf. Möglicherweise ist der Makefile aber für Gnu-make bestimmt, was im Solaris-make dann dubiose Fehlermeldungen erzeugt. Dem Makefile selbst sieht man seine Herkunft nur mit etwas Erfahrung an. Es ist sinnvoll, einfach auch mal Gnu-make mit dem Aufruf gmake auszuprobieren. Bei Ihren Dateien befindet sich auch ein Makefile. Probieren Sie die oben angegebenen Kommandos aus und überpfüfen Sie mit dem dem ls-kommando ihre Wirkung

8 11. STOPPEN FEHLERHAFTER PROGRAMME Lesen Sie sich diesen Abschnitt bitte vorher komplett durch, bevor Sie die Anweisungen eintippen. Es könnte Ihre Nerven schonen. Compilieren Sie bitte das Programm Endlos.c. cc g fast o Endlos.exe Endlos.c Es handelt sich, wie der Name schon andeutet, um eine Endlosschleife, die in Windeseile Text auf dem Bildschirm ausgibt. Starten Sie das Programm mit Endlos.exe Falls es Ihnen zu viel wird, können Sie das Programm mit Ctrl-C wieder abbrechen. Probieren Sie jetzt, das Programm im Hintergrund zu starten durch Eingabe von Endlos.exe & Jetzt lässt sich das Programm nicht mehr durch Ctrl-C abbrechen. Cool bleiben. Folgendes hilft so gut wie immer: Da Sie in das Terminal-Fenster kaum noch Text eingeben können, öffnen Sie ein neues, indem Sie (z.b.) mit der rechten Maustaste auf das Desktop klicken und den Menüpunkt Tools Terminal anwählen. Geben Sie ein: ps u Benutzernummer wobei Benutzernummer Ihre Unix-Benutzernummer ist. Dieser Befehl gibt eine Liste aller Prozesse aus, die mit Ihrer Benutzernummer gestartet wurden. Wahrscheinlich sieht diese Liste etwa so aus: PID TTY TIME CMD pts/16 0:00 Endlos.e pts/16 0:00 yaksh pts/66 0:00 yaksh pts/16 0:00 ksh pts/66 0:00 ksh - 8 -

9 An der Spalte CMD ist zu erkennen: Der Bösewicht ist eindeutig der Erste der angezeigten Prozesse. Sie brauchen nun die PID des Prozesses, also Geben Sie nun ein: kill 9 PID wobei Sie für PID die eben ermittelte PID einsetzen. Die Option 9 bedeutet, dass der Prozess mit dem Signal 9 (SIGKILL) abgebrochen wird, was vom Programm nicht abgefangen werden kann. Default ist übrigens Signal 15 (SIGTERM). Nun können Sie zum anderen Terminal-Fenster hinüberwechseln und befinden sich wieder auf der Eingabezeile (im Zweifelsfall noch einmal Return drücken). Wenn Sie das Terminal- Fenster schließen und wieder in das neue Fenster wechseln, kann der Computer den Buffer für die Million Zeilen, die Sie inzwischen erzeugt haben, wieder freigeben. 12. UMGEBUNGSVARIABLEN Betrachten Sie sich mit set alle aktuell gesetzten Variablen. Geben Sie einzelne Variablen mit dem echo-befehl aus, z.b. die Variable HOME. Sie müssen dazu ein $-Zeichen vor den Variablennamen setzen. echo $HOME Sie haben 3 Bereiche, in die Sie Ihre Daten ablegen können: Im Home-Verzeichnis liegen permanente Daten. Sie werden regelmäßig gesichert und bleiben erhalten, bis sie vom Benutzer gelöscht werden. Im Work-Verzeichnis, das wesentlich größer ist, werden die Daten nach ca. 1 Woche automatisch gelöscht. Im nochmals größeren Temp-Verzeichnis werden die Daten nach dem Ende einer Session automatisch gelöscht. Wechseln Sie zwischen den drei Bereichen durch cd $HOME cd $WORK cd $TEMP - 9 -

10 Legen Sie eigene Variablen an. Setzen Sie eine neue Variable mit ZZZ=Variable Hier benötigen Sie kein $-Zeichen. Erzeugen Sie eine zweite Variable, diesmal als Umgebungsvariable, die auch in Kind-Prozessen erhalten bleibt. export ZZY=Umgebungs-Variable Sehen Sie sich erneut mit set die Liste der Variablen an und finden Sie Ihre neu gesetzten Variablen. Geben Sie als nächstes folgende Zeile ein: bash Sie haben jetzt als Kind-Prozess eine weitere Bourne-Again-Shell gestartet und befinden sich jetzt in dieser neuen Shell. Geben Sie erneut set ein. Sie werden jetzt von den beiden Variablen nur noch ZZY sehen. ZZZ verschwindet auch, wenn Sie keine neue Shell, sondern ein beliebiges anderes Programm oder Shell-Script aufrufen. Gehen Sie wieder zur alten Shell zurück mit exit und geben Sie nochmals set ein. Jetzt sehen Sie wieder beide Variablen. 13. STARTEN EINER DATEI ALS BATCH-JOB Bisher haben Sie Ihre Programme interaktiv von der Kommandozeile aus ausgeführt. Wenn Sie aber viel Rechenzeit benötigen, dürfen Sie die Programme nicht mehr interaktiv starten. Die Folge wäre, dass die Rechner in Spitzenzeiten überlastet, nachts

11 oder frühmorgens aber unausgelastet wären. Solche Programme sollten Sie in eine Warteschlange stellen, die vom Rechenzentrum verwaltet wird. Sie sollten Ihre Programme nur interaktiv ausführen, wenn: das Programm kurz ist ( < 10 min Ausführungszeit) es nur wenige Prozessoren benötigt (Obergrenze ca. 4) das Programm nur 1 oder wenige Male gleichzeitig läuft es nicht zwingende Gründe gibt, warum das Programm interaktiv laufen muß. Zwingende Gründe sind Debug-Läufe oder verschiedene Grafik- Programme, die interaktive Eingaben verlangen. Das Verwaltungsprogramm für die Warteschlange heisst Sun GridEngine. Programm- Aufträge, die von der Sun GridEngine ausgeführt werden, müssen ein bestimmtes Format besitzen. Sie werden in diesem Zusammenhang Batchjobs genannt. Diese Batchjobs sind GridEngine-spezifisch und dürfen nicht mit anderen Batch-Jobs, die es in der Unix-Welt gibt, verwechselt werden. Starten Sie das Programm HelloWorld.c als Batch-Job. Geben Sie folgende Zeile ein: nedit HelloBatch & In die neue Datei HelloBatch schreiben Sie Ihren Batch-Job. An Informationen, wie ein Batch-Job aufgebaut sein muss, kommen Sie über die URL: Wählen Sie die html-version und schlagen Sie das Kapitel 3.2 Batchjobverwaltung RWTH auf. Zunächst steht dort eine Beschreibung der wichtigsten Parameter. Danach folgen mehrere Beispiele. Das Beispiel im ersten Kästchen ist für serielle Programme relevant. Anstelle der Zeile <Script> schreiben Sie nun den Namen Ihrer ausführbaren Datei. Der Name muss mit einem absoluten Pfad angegeben werden (z.b. $HOME/HelloWorld.exe). Übrigens gilt das auch für die anderen Dateinamen, z.b. den der Ausgabedatei. Überlegen Sie sich, ob Sie die anderen Zeilen des Scripts so übernehmen können. Für den Anfänger schwierig sind die Abschätzung der Rechenzeit und des Speicherbedarfs. Rechenzeit können Sie zunächst ruhig großzügig über den Daumen peilen. Fordern Sie zu viel Rechenzeit an, bewirkt dies nur, das Ihr Batch-Job später an die Reihe kommt, als nötig wäre. In der Ausgabedatei des Batch-Jobs befinden sich auch zwei Meldungen über den Start und das Ende des Jobs, aus denen Sie die wirkliche Rechenzeit kalkulieren können. Einen Anhaltspunkt können Sie auch erhalten, wenn Sie das Programm interaktiv mit dem ptime-kommando starten: ptime HelloWorld.exe

12 hello, world real user sys Halten Sie sich an die Zeile real. Die Zeiten sind in Sekunden. In diesem Fall ist die Rechenzeit natürlich lächerlich gering. Geben Sie vorsichtshalber immer einen großzügigen Aufschlag. Auf eine Minute mehr oder weniger kommt es nicht an. Der zweite Punkt ist der Speicherbedarf. Dieser kann nicht genau bestimmt werden, da das Programm ja jederzeit dynamisch neuen Speicher anfordern kann. Oft weiß man aber, wann das Programm seinen Speicher angefordert hat und kann den Speicherumfang anschließend bestimmen. Die folgende Anleitung dazu können Sie zunächst überspringen, da sie erst im weiteren Gebrauch wichtig wird. Nehmen Sie als Anhaltspunkt: Auch ein HelloWorld-Programm braucht 5 Megabyte (5M) Speicherplatz. Falls Sie die exakte Bestimmung ausprobieren möchten: Starten Sie das Programm Endlos.exe (aber bitte im Vordergrund). Ermitteln Sie in einem zweiten Terminal-Fenster mit ps u Unix-Benutzernummer die Prozess-ID des Programms. Geben Sie pmap xl Prozess-ID ein. Vergessen Sie nicht, anschließend Endlos.exe mit Ctrl-C wieder zu stoppen. Alternativ zu pmap können Sie auch einmal das top-kommando (ohne Parameter) ausprobieren. Das Ergebnis sollte um 1 MByte herum liegen. Tatsächlich brauchen Sie noch einiges mehr an Speicher. Unter 10 MByte sollten Sie nicht gehen. Bei größeren Programmen haben auch wir noch wenig Erfahrungswerte. Zumindest für die Größenordnung haben Sie aber einen Anhaltswert. Wenn Sie Rechenzeit und Speicherplatz bestimmt haben, geben Sie zusätzlich dem Script mit der Option N einen Namen. Übermitteln Sie zum Schluss den Batch-Job mit: qsub HelloBatch Solange der Job nicht abgearbeitet ist, können Sie seinen momentanen Status erfragen. Geben Sie ein: qstat u Unix-Benutzernummer Als Ausgabe erhalten Sie, falls der Job noch in der Warteliste ist, etwa folgende Ausgabe:

13 job-id prior name user state submit/start at queue master ja-task-id HelloBatch yc30611 hqw 02/19/ :14:47 State hqw oder qw bedeutet, dass der Job noch in der Warteschlange ist. State r bedeutet, dass der Job gerade läuft. Bei diesem kurzen Programm ist es unwahrscheinlich, gerade diesen Moment zu erwischen. qstat ohne Opition u lässt übrigens alle Jobs (nicht nur die eigenen) anzeigen. Haben Sie den Batch-Job wie im Beispiel gestartet, so stehen nach dem Ende des Jobs die Ergebnisse in der Datei aus.txt. Sehen Sie sich die Ergebnisse mit nedit aus.txt & oder mit einem Viewer, wie more an: more aus.txt 14. ERZEUGEN UND ANBINDEN VON BIBLIOTHEKEN In der Praxis werden Sie oft auf Programmbibliotheken zurückgreifen. Versuchen Sie zunächst, das Programm BibTest.c zu übersetzen. Geben Sie dazu ein: cc g fast o BibTest.exe BibTest.c Sie erhalten die Fehlermeldung Undefined first referenced symbol in file exp BibTest.o ld: fatal: Symbol referencing errors. No output written to BibTest.exe Was bedeutet das? In dem Programm wird die Funktion exp aus der Standard- Mathematik-Bibliothek benutzt und die wird offenbar vom Linker nicht gefunden. Der Grund ist, dass diese Bibliothek beim Linken explitzit angegeben werden muss, nämlich mit der Option lm. -lm bewirkt, dass der Linker alle Pfade der Umgebungsvariablen LD_LIBRARY_PATH nach einer Datei libm.so oder, falls keine existiert, libm.a durchsucht. Andere Pfade müssen mit der Option L hinzugefügt werden. lxyz wird zu libxyz.so oder libxyz.a expandiert. Dateien mit der Endung so sind dynamische Bibliotheken, ähnlich den Windows-dlls. Dateien mit der Endung a sind statische Bibliotheken oder, in anderen Worten, in einem Archiv zusammengefasste Objekt-Dateien. Existieren beide Varianten, wird der dynamischen (.so) der Vorzug gegeben

14 Geben Sie nun folgende Zeile ein: cc g lm fast o BibTest.exe BibTest.c Das Programm wird jetzt anstandslos übersetzt und Sie können es mit BibTest.exe starten. lm ist wahrscheinlich die Bibliothek, die Sie am häufigsten einbinden müssen, wenn Sie in C programmieren. In Fortran braucht für mathematische Funktionen keine explizite Bibliothek. Eine zweite, sowohl in C als auch in Fortran sehr oft verwendete Bibliothek ist die MPI-Bibliothek (-lmpi) für parallele MPI-Programme. Oft sind von einer Bibliothek mehrere Versionen vorhanden. Wenn ein Programm nicht läuft, brauchen Sie daher manchmal die Information, auf welche Datei eigentlich genau zugegriffen wird. Die Dateinamen und Pfade erhalten Sie mit: ldd BibTest.exe Die letzte, etwas schwierigere Übung ist das Erzeugen und Einbinden einer eigenen Bibliothek. Dazu gehen Sie in das Verzeichnis Linpack. Dort befinden sich die Fortran- Sourcen für einen bekannten Benchmark, den Linpack-Benchmark. Dazu werden Teile der BLAS-Bibliothek genutzt, die im Ordner lib zusammengestellt sind. Die Aufgabe ist, zunächst die Dateien im Ordner lib zu einer statischen Bibliothek zusammenzustellen und diese dann anschließend einzubinden. Wechseln Sie in den Ordner lib. Dort befindet sich bereits ein Makefile. Mit make können Sie aus den Fortran-Source-Dateien die dazugehörigen Objekt-Dateien erstellen. Diese müssen Sie dann zu einer statischen Bibliothek zusammenfassen. Der Befehl dazu ist: ar r libtst.a *.o ar ist das Bibliotheksprogramm. r steht für replace. Damit wird eine Bibliotheksdatei libtst.a erstellt, die alle Objektdateien des Verzeichnisses umfasst. Mit den Optionen vt, die für verbose und table(inhaltsverzeichnis) stehen, kann man sich davon überzeugen. Die Zeile ar vt libtst.a liefert

15 . rw-r / Feb 20 15: daxpy.o rw-r / Feb 20 15: ddot.o rw-r / Feb 20 15: dgefa.o rw-r / Feb 20 15: dscal.o rw-r / Feb 20 15: isamax.o Die Bibliothek ist nun erzeugt. Sie muss jetzt noch eingebunden werden. Gehen Sie mit cd.. ein Verzeichnis zurück. Erzeugen Sie wiederum mit make die zu den Fortran-Sourcen gehörigen Objekt-Dateien. Diese müssen jetzt mit der Bibliothek zusammengebunden werden. Da hier Fortran-Programm zusammengebunden werden, müssen Sie f90 statt cc aufrufen. Die Optionen sind wie beim gewöhnlichen Compilieren, als Source-Dateien geben Sie aber die Liste der Objekt- und Archivdateien an. f90 g fast o linpack.exe *.o lib/libtst.a Sie können auch, wie beim Einbinden der Mathematik-Bibliothek, die l-option verwenden. Sie müssen dazu noch zusätzlich mit L die Liste der Bibliotheks-Suchpfade ergänzen: f90 g fast o linpack.exe *.o L lib ltst Damit wird im Verzeichnis lib die Datei libtst.a hinzugebunden. Die Reihenfolge der Parameter ist wichtig. Objekt-Dateien können nur auf Bibliotheken zurückgreifen, die in der Eingabezeile weiter rechts stehen als sie selbst. Die Zeile cc g fast L lib ltst o linpack.exe *.o funktioniert daher nicht. Im Notfall muss eine Bibliothek zweimal eingebunden werden, was möglich ist. Jetzt können Sie die Datei linpack.exe starten. Sie können entweder linpack.exe oder make go eingeben. Das Programm fragt zu Beginn nach einer matrix dimension n. Geben Sie hier den Wert 1000 ein

16 Übungen zum Kurs Message Massing mit MPI 15. März 2001 Rechenzentrum der RWTH Aachen Hans Joachim Pflug 1. VORBEREITUNG ZU DEN MPI-ÜBUNGEN Herzlich willkommen zu den MPI-Übungen. Vor dem Start der ersten Übung müssen Sie sich einloggen, eine Terminal-Fenster erzeugen, die MPI-Test-Dateien in das eigene Verzeichnis kopieren und dort entpacken. Wenn Sie nicht wissen, wie Sie dabei vorgehen, befolgen Sie dazu die Punkte 1-4 der Übungen Unix Grundlagen. Die MPI- Test-Dateien sind in der Datei /rwthfs/rz/stage/examples/sunhpc/mpi_aufagen.tar.gz untergebracht. Als Editor ist nedit empfehlenswert. Dieser Editor ist intuitiv zu bedienen und funktioniert ähnlich wie Windows-Editoren. Er ist in Punkt 7 der Unix-Übungen behandelt. 2. HELLO WORLD Wenn Sie die Dateien entpackt haben, wechseln Sie in das Verzeichnis MPI-Aufgaben und sehen sich mit einem Editor das Programm HelloWorld.c an. Es ist bereits komplett lauffähig. Compilieren und binden Sie das Programm mit: mpcc g o HelloWorld.exe HelloWorld.c -lmpi Zwei Besonderheiten gibt es hier: Zum einen müssen Sie mpcc statt cc starten. mpcc setzt allerdings intern nur einige zusätzliche Linkpfade und startet dann cc. Der zweite Unterschied ist, dass Sie die MPI-Bibliothek mit lmpi einbinden müssen. Das Einbinden von Bibliotheken wurde im Kapitel 14 der Übungen Unix Grundlagen bereits ausführlicher behandelt. Starten Sie nun das MPI-Programm mit 5 Prozessen. Geben Sie dazu ein: mprun np 5 HelloWorld.exe Das HelloWorld-Programm wird 5 mal gestartet und gibt 5 mal den Text Hello, world aus

17 Hello, world Hello, world Hello, world Hello, world Hello, world Weitere Optionen zum mprun-kommando sind in den Benutzungsinformationen zum Sun-Fire-Cluster (siehe Kapitel Weitere Informationen ) zu finden. 3. AUSGABE DER PROZESSNUMMER Fügen Sie zum HelloWorld-Programm neue Programmzeilen hinzu, so dass außer dem Hello, world-text auch die Nummer des Prozesses ausgegeben wird. Sie benötigen dazu: Eine Integer-Variable, die die Nr. (den Rang) des Prozesses aufnimmt: int my_rank; Das MPI_Comm_rank-Kommando (siehe Kapitel MPI-Kommandos ): MPI_Comm_rank(... ); Eine modifizierte printf-ausgabezeile: printf("hello, world, my rank is %d\n", my_rank); 4. PING-PONG Das nächste Übungs-Programm heißt Ping-Pong, weil es eine Nachricht wie einen Tischtennisball zwischen zwei Prozessen hin- und herschickt. Prozess 0 Prozess 1 Nachricht (100 Byte) Nachricht (100 Byte) Send Recv Send Recv Send Nachricht (100 Byte)... insgesamt 100 mal hin und her

18 Zu Beginn und am Ende des Programms wir die aktuelle Zeit ausgelesen und abschließend die Dauer des Transfers einer Nachricht ausgegeben. Sehen Sie sich die Datei PingPong.c an. Sie enthält das Gerüst für das Ping-Pong-Programm. Fügen Sie am Anfang und am Ende des Programms, noch außerhalb der Zeitmessung, MPI_Init und MPI_Finalize ein. Das Programm berechnet zunächst die Nummer (den Rang) des Prozesses, um später eine Fallunterscheidung zwischen den Prozessen 0 und 1 machen zu können. Fügen Sie in das Programm eine MPI_Comm_rank-Anweisung ein und lesen sie den Rang des Prozesses in die Variable my_rank ein. Es folgt ein Block für Prozess 0 und ein weiterer für Prozess 1. Prozess 0 sendet zunächst das Character-Feld buffer und empfängt anschließend die gleichen Daten von Prozess 1. Im Block für Prozess 0 stehen auch die Befehle zur Zeitnahme, zur Zeitberechnung und zur Ausgabe des Ergebnisses, da es nicht nötig ist, das Ergebnis von beiden Prozessen berechnen und ausgeben zu lassen. Im Block für Prozess 1 werden zunächst die Daten aus buffer empfangen und anschließend zurückgesendet. Setzen Sie an den entsprechenden Stellen MPI_Send- und MPI_Recv-Aufrufe ein. Überlegen Sie sich, ob Sie weitere Synchronisations-Maßnahmen wie Barriers brauchen. Tatsächlich brauchen Sie keine, da der Recv-Befehl blockierend ist und immer jeweils einer der Prozesse auf den anderen warten muss. Nun sollte das Programm lauffähig sein. Wenn Sie möchten, überprüfen Sie noch mit dem MPI_Comm_size-Befehl, ob das Programm wirklich mit 2 Prozessen gestartet worden ist und beenden Sie anderenfalls das Programm nach Ausgabe einer Fehlermeldung. Der C-Befehl exit(int status) beendet das Programm, wobei status ein von Ihnen frei wählbarer Fehlercode (?0) ist. Starten Sie das Programm mit mpcc g o PingPong.exe PingPong.c lmpi mprun np 2 PingPong.exe Die Ausgabe sollte auf dem Sun-Cluster etwas wie folgt aussehen. Leichte Differenzen in den Werten sind normal und hängen von der augenblicklichen Last auf den Rechnern ab: Zeit für eine Message: e-06 Sekunden

19 5. LAUFZEITANALYSE MIT VAMPIR Das Programm Vampir ermöglicht es, eine Laufzeitanalyse eines Programms auszuführen und das Ergebnis graphisch anzuzeigen. Besonders geeignet ist Vampir für MPI- Programme. Eine Übersicht über die Funktionalität erhalten Sie am besten, indem Sie die folgenden Anweisungen ausprobieren. Mehr Informationen über Vampir erhalten Sie auch über die entsprechende Internet-Seite der RWTH (siehe Kapitel Weitere Inforamtionen ).Verwenden Sie als Testprogramm Ihr Ping-Pong-Programm oder, falls es noch nicht lauffähig ist, das Programm VampirTest.c, das ebenfalls ein Ping-Pong- Programm enthält. Zunächst müssen Sie einige Umgebungsvariablen initialisieren mit. vampir.init Der Punkt und das Leerzeichen am Anfang der Zeile muss mit eingegeben werden. Beim Linken binden Sie nun die Bibliothek VampirTrace mit ein. VampirTrace erzeugt ein Trace-File des Programmablaufs, den Sie sich mit Vampir ansehen können. Übersetzen Sie Ihr Programm erneut mit den Optionen mpcc g o VampirTest.exe VampirTest.c L/usr/local_rwth/lib lvt lmpi -lnsl und starten Sie es wie gewöhnlich mit mprun np 2 VampirTest.exe VampirTrace schreibt nun eine Datei VampirTest.exe.bpv in das aktuelle Verzeichnis. Diese Datei enthält die Laufzeit-Informationen. Falls Sie Fortran benutzen, heißt diese Datei TRACE.bpv, unabhängig vom Programmnamen. Nun könnten Sie Vampir mit der Zeile vampir VampirTest.exe.bpv aufrufen, wenn die Sache nicht einen Haken hätte. In der Vampir-Version auf dem Sun-Cluster funktioniert die rechte Maustaste nicht, die für Vampir aber wichtig ist. Sie müssen darum Vampir auf dem Linux-Cluster starten und benötigen dazu die Zeile: ssh cluster-linux "cd $PWD;. vampir.init; vampir VampirTest.exe.bpv" Nach dem Start sehen Sie zwei Fenster. Eines davon ist klein und besteht fast nur aus einer Menüleiste. Dies ist das Hauptfenster. Das andere ist groß mit rot und grün

20 gestreiften Balken. Dies ist das Global Timeline-Fenster. Rot bedeutet: das Programm arbeitete zu diesem Zeitpunkt einen MPI-Befehl ab; bei blau war das Programm in einem VampirTrace-Befehl und bei grün in einem anderen Befehl. Ziehen Sie mit gedrückter linker Maustaste ein Rechteck über die Balken. So können Sie in die Zeitdarstellung hineinzoomen. Dies können Sie beliebig oft wiederholen. Zurück kommen Sie über das Kontext-Menü (rechte Maustaste) und den Punkt Undo Zoom. Klicken Sie auf eine Stelle des Balkens oder auf eine Verbindungslinie. Daraufhin werden in einem separaten Fenster nähere Erklärungen eingeblendet. Lassen Sie sich anzeigen, wieviel Prozent der Rechenzeit in MPI-Befehlen verbracht wurde. Diese Zeit ist Overhead, da sie nicht mit produktiven Berechnungen verbracht wurde und man versucht, sie möglichst klein zu halten. Klicken Sie im Hauptfenster auf Global Displays Activity Chart. Es erscheint das Global Activity Chart Window mit Tortengraphiken, die unter anderem den Anteil der MPI-Kommandos an der Gesamtzeit anzeigen. Wenn Sie Prozent-Zahlen haben wollen, aktivieren Sie mit der rechten Maustaste das Kontext-Menü und wählen Sie Options Absolute Scale. Dann gehen Sie nochmals in das Kontext-Menü. Klicken Sie auf Identify State und dann auf den von Ihnen gewünschten Bereich der Tortengraphik. Nun möchten Sie vielleicht wissen, in welchem MPI-Befehl sich das Programm so lange aufgehalten hat. Gehen Sie in das Kontext-Menü in klicken Sie auf Display MPI. Sie interessiert nicht die Zeit sondern die Anzahl der Aufrufe? Dann klicken Sie im Kontext-Menü auf Count Occurrences. Sinnvollerweise schalten Sie die absoluten Angaben wieder an mit Options Absoulute Scale. Auf Balkengraphik können Sie mit Mode Histogram umschalten. Probieren Sie einfach etwas herum. Es gibt noch sehr viele weitere Möglichkeiten. Bislang konnte Vampir nur zwischen MPI-, VampirTrace- und anderen Bereichen unterscheiden. Es ist aber auch möglich und sehr interessant, eigene Bereiche zu definieren. Als nächste Übungsaufgabe sollen Sie über Vampir herausfinden, welchen Zeitraum die printf-zeile in Anspruch nimmt. Hier werden die dazu nötigen C-Befehle beschrieben. Es gibt auch die Fortran-Gegenstücke. Zunächst muss ein Code-Bereich (engl. Ausdruck: Activity) definiert werden. Dazu muss eine Routine aus der VampirTrace-Bibliothek, die ja schon eingebunden ist, aufgerufen werden: int VT_symdef (int code, char *symbol, char *class); code ist die ID des Code-Bereichs, die Sie frei wählen können. class und symbol dienen der Zuordnung. Für einen MPI-Recv-Befehl ist beispielsweise class= MPI und

21 symbol= MPI_Recv. Schreiben Sie an eine Stelle am Anfang Ihres Programms die Zeile: VT_symdef (1, "printf", "User-Def"); Nun müssen Sie noch die Stellen im Source festlegen, die diesem Code-Bereich zugeordnet sein sollen. Dazu gibt es die Befehle: int VT_begin (int code); int VT_end (int code); Schreiben Sie vor und nach der printf-zeile VT_begin (1); bzw. VT_end(1); Übersetzen und starten Sie das Programm wie beschrieben, starten Sie Vampir und identifizieren Sie Ihren selbstdefinierten Bereich. 6. DEBUGGING EINES MPI-PROGRAMMS MIT TOTALVIEW In dieser Aufgabe sollen Sie einen Programmierfehler aus einem MPI-Programm entfernen. Da die Fehlersuche bei parallelen Programmen generell schwierig ist, benötigen Sie dazu einen Debugger, der auch MPI-Programme verarbeitet. Erste Wahl ist dabei der Debugger TotalView. Das Programm, welches Sie debuggen sollen, hat den Namen Kette.c und besitzt folgende Funktionalität: Prozess 0 sendet die Nachricht 0: an Prozess 1. Dieser (und alle weiteren Prozesse außer Prozess 0) hängen ihre eigene Prozessnummer an die Nachricht und senden sie zu einem zufällig ermittelten weiteren Prozess. Sollte die Nachricht wieder bei Prozess 0 landen, wird die gesamte Nachricht ausgegeben und das Programm beendet. Die Nachricht wird zwangsweise an Prozess 0 zurückgeschickt, wenn der Nachrichten-Buffer droht, überzulaufen. Die Ausgabe ist gewöhnlich etwa wie folgt:

22 Ergebnis: 0:1:5:6:9:8:5:6:12:14:12:14:3:5:10:5: Manchmal gibt es aber auch eine Fehlermeldung: [3764 MPI_COMM_WORLD 19] ERROR in MPI_Recv: truncation on receive Fatal error, aborting. A process in task id 3764 received signal 15 on node sunc00.rz.rwth-aachen.de. The message log on node sunc00.rz.rwth-aachen.de may contain further information. Signal 15 bedeutet software termination signal from kill (völlig nichtssagend). Bevor Sie das Programm compilieren, müssen Sie eine Besonderheit von Totalview beachten. Totalview arbeitet nicht mit den neuesten Sun-Compilern zusammen. Sie müssen zunächst auf einen älteren Sun-Compiler (Version 6.1) umschalten. Dies machen Sie mit:. Forte61.init Beachten Sie den Punkt und das Leerzeichen am Zeilenanfang. Auf den standardmäßig eingestellten Compiler können Sie mit. Forte62.init jederzeit wieder zurückschalten. Übersetzen Sie das Programm mit folgendem Kommado: mpcc g o Kette.exe Kette.c -lmpi Beachten Sie: Wenn Sie ein Programm debuggen wollen, muss Sie die Option g gesetzt sein und Sie dürfen keine Optimierungsstufe (-xo, -O oder -fast) anschalten. Initialisieren Sie Totalview mit. totalview.init und starten Sie Ihre Debug-Session mit totalview tvrun a np 20 Kette.exe Totalview ist zu komplex, um die Funktionalität an dieser Stelle zu erklären. Daher hier nur einige Hinweise: Ganz zu Beginn ist einmal auf den Go-Button zu klicken

23 Breakpoints setzt man, indem man auf die Zeilennummer klickt. Diese müssen von einem grauen Kästchen umrahmt sein. Programmstart wiederum mit Go. Next bedeutet Step over, Einzelschritt, kein Sprung in Unterroutinen Step bedeutet Step into, Einzelschritt, Sprung in Unterroutinen Zwischen den einzelnen Prozessen kann man wechseln, indem man im kleineren der beiden Fenster (dem ohne Listing) auf die Prozesse doppelklickt. Dieses Fenster ist das Root Window. In ihm befindet sich auch eine Statusanzeige der Prozesse (B: Breakpoint, E: Error, R: Running, T: Stopped) Einen Breakpoint kann man mit der rechten Maustaste anklicken und im Kontext- Menü mit Properties die Eigenschaften ändern. Im Properties-Fenster gibt es einige Möglichkeiten: When Hit Stop gibt an, ob die anderen Prozesse gestoppt werden, falls ein Prozess einen Breakpoint erreicht (Group) oder die anderen Prozesse weiterlaufen (Process). Plant in share group bedeutet, wenn in einem Prozess ein Breakpoint gesetzt wird, dann auch in allen anderen. Außerdem kann man einen Breakpoint in eine Barrier verwandeln. Dort bleiben alle Prozesse stehen, bis auch der letzte Prozess die Barrier erreicht hat. In einen Evaluation Point kann man selbst kleine Codefragmente einsetzen, allerdings keine Bildschirmausgabe. Eine Variable betrachtet man sich, indem man im Listing mit rechts auf den Variablennamen klickt und dann Dive anwählt. Von diesem Fenster aus kann man Watchpoints mit Tools Watchpoint setzen. Von Pointern kann man den Inhalt betrachten, indem man auf die Value-Zeile mit der rechten Maustaste klickt und noch einmal Dive anwählt. Den Wert und den Typ einer Variablen kann man ändern, indem man mit der linken Maustaste auf die entsprechende Zeile klickt. Den Programmdurchlauf kann man im Source-Listing-Fenster (dem Process Window) mit Group Restart neu starten oder mit Group Delete abbrechen. Anschließend ist erst einmal wieder die Taste Go zu betätigen, damit das Listing wieder auf den Schirm kommt. Leider sind nun alle Breakpoints gelöscht. Verhindern kann man dies, indem man die Breakpoints vorher mit Action Point Save All abspeichert. Wenn das Programm ordnungsgemäß zu Ende gelaufen ist, verschwindet das große Fenster (Process Window). Mit einem Klick auf die (jetzt einzige) Zeile des Root Windows holt man das Process Window wieder zurück. Ausführlichere Erklärungen finden Sie unter dem Internet-Link im Kapitel Weitere Informationen. Finden und beseitigen Sie den Programmierfehler, der zum Absturz des Programms Kette.c führt

24 7. PARALLELISIERUNG EINER NUMERISCHEN BERECHNUNG Dies ist eine etwas umfangreichere Aufgabe, die sie wahrscheinlich innerhalb der Übungen nicht mehr schaffen werden. Sie ist aber auch nicht übermäßig schwer und recht praxisnah, denn wenn Sie mit MPI zu tun haben werden, dann müssen Sie in den meisten Fällen ein schon vorhandenes Programm parallelisieren. Das Ausgangsprogramm ist Trapez_ser.c. Es integiert eine Funktion nach der Trapezregel. y f(x) x0 h xn x Etwas umgeformt sieht die Näherungsformel für das Integral nach der Trapezregel folgendermaßen aus: x n f ( x0 ) f ( x f ( x) h + f ( x1 ) + f ( x2 ) f ( xn 1) x0 n ) Kopieren Sie das Programm in eine Datei Trapez_par.c und arbeiten Sie mit dieser Datei weiter. Setzen Sie als erste und letzte ausführbare Anweisung MPI_Init und MPI_Finalize ein. Definieren Sie die Variablen size und my_rank. Besetzten Sie die Variablen mit den Befehlen MPI_Comm_size und MPI_Comm_rank. Im jetzigen Zustand würde jeder Prozess separat vom Benutzer die Eingabe von Ober-, Untergrenze und Schrittweite erwarten. Ändern Sie das Programm so, dass nur Prozess 0 diese Daten abfragt

25 Fügen Sie nach der Benutzereingabe 3 MPI_Bcast-Befehle ein, in denen Prozess 0 die eingegebenen Daten den anderen Prozessen mitteilt. Jetzt kommt das schwerste Stück: Die Intervalle müssen an die Prozesse verteilt werden. Jeder Prozess bildet dabei eine Teilsumme des Intervalls. Die Zeile integral = (f(a)... darf natürlich nur von einem Prozess mit aufsummiert werden. Die for-schleife muss mit Hilfe der my_rank und der size-variablen aufgeteilt werden. Prinzipiell gibt es hier viele mögliche Wege. Nach der for-schleife müssen die einzelnen Teilsummen zu einer Gesamtsumme aufaddiert werden. Führen Sie für die Gesamtsumme eine neue Variable ein (z.b. total_sum). Bilden Sie die Gesamtsumme mit dem MPI_Reduce-Befehl und dem MPI_SUM-Parameter. Nehmen Sie als Zielprozess (root) Prozess 0. Das Endergebnis darf nur von Prozess 0 ausgegeben werden, da dieser ja als einziger das Endergebnis kennt. Zuletzt ein wichtiger Schritt: Überprüfen Sie, ob die Ergebnisse der seriellen und der parallelen Version übereinstimmen. Die Ausführungszeit können Sie messen, indem Sie dem mprun-kommando die Anweisung ptime voranstellen

26 - 26 -

27 Kurzübersicht über die wichtigsten MPI-Befehle Hans Joachim Pflug Rechen- und Kommunkationszentrum der RWTH Aachen Inhalt MPI_Init / MPI_Finalize...28 MPI_Comm_size / MPI_Comm_rank...29 MPI_Send / MPI_Recv...30 MPI_Get_count / MPI_Status...32 MPI_Bcast...33 MPI_Reduce...34 MPI_Scatter / MPI_Gather...35 MPI_Barrier...37 MPI_Pack / MPI_Unpack

28 MPI_Init / MPI_Finalize int MPI_Init( int *argc, char ***argv ) subroutine MPI_Init( integer ierror ) argc, argv in/out Übergabeparameter beim Programmaufruf ierror out Fehlercode return Fehlercode (MPI_SUCCESS: kein Fehler) int MPI_Finalize( void ) subroutine MPI_Finalize( integer ierror ) Beispiel: #include "mpi.h" #include <stdio.h> int main( int argc, char** argv ) { MPI_Init( &argc, &argv ) ; /* initialize MPI */ printf( "Process started\n" ) ; /* in each process! */ MPI_Finalize() ; /* clean up */ return(0); }

29 MPI_Comm_size / MPI_Comm_rank int MPI_Comm_size( MPI_Comm comm, int *size ) subroutine MPI_Comm_size( integer comm, integer size, integer ierror ) comm in spezifiziert den Kommunikator (z.b. MPI_COMM_WORLD) size out Anzahl der Prozesse im Kommunikator int MPI_Comm_rank( MPI_Comm comm, int *rank ) subroutine MPI_Comm_rank( integer comm, integer rank, integer ierror ) comm in spezifiziert den Kommunikator (z.b. MPI_COMM_WORLD) rank out "meine" Prozessnummer (0, 1,..., size 1) Beispiel: int num_procs; /*number of processes*/ int my_rank; /*my process number*/ int ierror; /*error code*/ MPI_Init(&argc, &argv) call MPI_Comm_size( MPI_COMM_WORLD, &num_procs) call MPI_Comm_rank( MPI_COMM_WPRLD, &my_rank)

30 MPI_Send / MPI_Recv int MPI_Send( void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm ) subroutine MPI_Send( <type> buf( * ), integer count, integer datatype, integer dest, integer tag, integer comm, integer ierror ) buf in enthält die zu versendenden Daten count in Anzahl der Daten vom Typ datatype (nicht der Bytes!) datatype in "Grundtyp" der zu versendenden Daten (siehe Tabelle 1) dest in Nummer des Empfängers tag in Kennzeichnung der Nachricht ("betrifft:") comm in spezifiziert den Kommunikator (z.b. MPI_COMM_WORLD) int MPI_Recv( void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status ) subroutine MPI_Recv( <type> buf( * ), integer count, integer datatype, integer source, integer tag, integer comm, integer status( MPI_STATUS_SIZE ), integer ierror ) buf out Platz zum Empfangen der Daten count in Anzahl der Daten vom Typ datatype (nicht der Bytes!) datatype in "Grundtyp" der zu versendenden Daten (siehe Tabelle 1) source in Nummer des Absenders (MPI_ANY_SOURCE, falls unwichtig) tag in Kennzeichnung der Nachricht (MPI_ANY_TAG, falls unwichtig) comm in spezifiziert den Kommunikator (z.b. MPI_COMM_WORLD) status out Information über die empfangene Nachricht

31 C Fortran MPI-Typ (C-Typ) MPI-Typ (Fortran-Typ) MPI_CHAR (signed char) MPI_SHORT (signed short int) MPI_INT (signed int) MPI_LONG (signed long int) MPI_UNSIGNED_CHAR (unsigned char) MPI_UNSIGNED_SHORT (unsigned short int) MPI_UNSIGNED (unsigned int) MPI_UNSIGNED_LONG (unsigned long int) MPI_FLOAT (float) MPI_DOUBLE (double) MPI_LONG_DOUBLE (long double) MPI_BYTE MPI_PACKED MPI_LOGICAL (LOGICAL) MPI_CHARACTER (CHARACTER(1)) MPI_INTEGER (INTEGER) MPI_REAL (REAL) MPI_DOUBLE_PRECISION (DOUBLE PRECISION) MPI_COMPLEX (COMPLEX) Tabelle 1 : MPI-Datentypen Beispiel: message = 42; MPI_Send( &message, 1, MPI_INT, num_procs 1, tag, MPI_COMM_WORLD ); printf( "Process %2d sent the number %2d\n", me, message );.. MPI_Recv( &message, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, &status ); printf( "Process %2d received the number %2d\n", me, message );

32 MPI_Get_count / MPI_Status int MPI_Get_count( MPI_Status *status, MPI_datatype datatype, int *count ) subroutine MPI_Get_count( integer status( MPI_STATUS_SIZE ), integer datatype, integer count, integer ierror ) status in der von MPI_Recv zurückgelieferte Status datatype in "Grundtyp" der zu versendenden Daten (siehe Tabelle 1) count out Anzahl der Elemente vom Grundtyp (nicht der Bytes!) in der Nachricht Weitere Informationen (z.b. nach MPI_ANY_SOURCE oder MPI_ANY_TAG): C Fortran Absender Status.MPI_SOURCE status(mpi_source) Kennzeichnung Status.MPI_TAG status(mpi_tag) Fehlercode Status.MPI_ERROR status(mpi_error) Tabelle 2: Inhalt von MPI_Status Beispiel: MPI_Recv( &message, 1, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status ); MPI_Get_count( &status, MPI_DOUBLE, &count ); source = status.mpi_source; tag = status.mpi_tag; error = status.mpi_error;

33 MPI_Bcast int MPI_Bcast( void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm comm ) subroutine MPI_Bcast( <type> buf( * ), integer count, integer datatype, integer root, integer comm, integer ierror ) buf in/out Puffer zum Senden bzw. Empfangen der Daten count in Anzahl der Daten vom Typ datatype (nicht der Bytes!) datatype in "Grundtyp" der zu versendenden Daten (siehe Tabelle 1) root in Nummer des Absenders comm in spezifiziert den Kommunikator (z.b. MPI_COMM_WORLD) verschickt die Daten von einem Prozess an alle anderen, muss von allen Prozessen gemeinsam aufgerufen werden. Beispiel: MPI_Bcast( &n, 1, MPI_INT, 0, MPI_COMM_WORLD );

34 MPI_Reduce int MPI_Reduce( void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm ) subroutine MPI_Reduce( <type> sendbuf( * ), <type> recvbuf( * ), integer count, integer datatype, integer op, integer root, integer comm, integer ierror ) sendbuf in Puffer mit lokalen Daten recvbuf out Puffer für die globalen Daten count in Anzahl der Daten vom Typ datatype (nicht der Bytes!) datatype in "Grundtyp" der zu versendenden Daten (siehe Tabelle 1) op in die beim Kombinieren durchzuführende Operation root in Zielprozess für das Ergebnis comm in spezifiziert den Kommunikator (z.b. MPI_COMM_WORLD) Muss von allen Prozessen gemeinsam aufgerufen werden. MPI_MAX MPI_MIN MPI_SUM MPI_PROD MPI_LAND MPI_BAND MPI_LOR MPI_BOR MPI_LXOR MPI_BXOR MPI_MAXLOC MPI_MINLOC Maximum Minimum Summe Produkt Logisches und Bitweises und Logisches oder Bitweises oder Logisches exklusives oder Bitweises exklusives oder Maximum und erste Maximalstelle Minimum und erste Minimalstelle Tabelle 3: Mögliche Werte von op Beispiel: MPI_Reduce(&lvalue, &value, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD );

35 MPI_Scatter / MPI_Gather int MPI_Scatter( void *send_buf, int send_count, MPI_Datatype send_datatype, void *recv_buf, int recv_count, MPI_Datatype recv_datatype, int root, MPI_Comm comm ) subroutine MPI_Scatter( <type> send_buf( * ), integer send_count, integer send_datatype, <type> recv_buf( * ), integer recv_count, integer recv_datatype, integer root, integer comm, integer ierror ) send_buf in/out Puffer zum Senden der Daten send_count in Anzahl der Daten vom Typ send_datatype (nicht der Bytes) send_datatype in "Grundtyp" der zu versendenden Daten (siehe Tabelle 1) recv_buf in/out Puffer zum Empfangen der Daten recv_count in Anzahl der Daten vom Typ recv_datatype (nicht der Bytes) recv_datatype in "Grundtyp" der zu empfangenden Daten (siehe Tabelle 1) root in Nummer des Absenders comm in spezifiziert den Kommunikator (z.b. MPI_COMM_WORLD) Muss von allen Prozessen gemeinsam aufgerufen werden. int MPI_Gather( void *send_buf, int send_count, MPI_Datatype send_datatype, void *recv_buf, int recv_count, MPI_Datatype recv_datatype, int root, MPI_Comm comm ) subroutine MPI_Gather( <type> send_buf( * ), integer send_count, integer send_datatype, <type> recv_buf( * ), integer recv_count, integer recv_datatype, integer root, integer comm, integer ierror ) send_buf in/out Puffer zum Senden der Daten send_count in Anzahl der Daten vom Typ send_datatype (nicht der Bytes) send_datatype in "Grundtyp" der zu versendenden Daten (siehe Tabelle 1) recv_buf in/out Puffer zum Empfangen der Daten recv_count in Anzahl der Daten vom Typ recv_datatype (nicht der Bytes) recv_datatype in "Grundtyp" der zu empfangenden Daten (siehe Tabelle 1) root in Nummer des Absenders comm in spezifiziert den Kommunikator (z.b. MPI_COMM_WORLD) Muss von allen Prozessen gemeinsam aufgerufen werden

36 Beispiel: /*Daten vom Prozess 0 an alle Prozesse senden*/ MPI_Scatter(&proc_0_array, 1, MPI_INT, &value, 1, MPI_INT, 0, MPI_COMM_WORLD); /*Daten wieder zurueckholen*/ MPI_Gather(&value, 1, MPI_INT, &proc_0_array, 1, MPI_INT, 0, MPI_COMM_WORLD);

37 MPI_Barrier Jeder Prozess wartet, bis alle Prozesse des Kommunikators MPI_Barrier aufgerufen haben. int MPI_Barrier(MPI_Comm comm ) subroutine MPI_Barrier(integer comm, integer ierror ) comm in spezifiziert den Kommunikator (z.b. MPI_COMM_WORLD)

38 MPI_Pack / MPI_Unpack int MPI_Pack( void *var, int var_count, MPI_Datatype var_datatype, void *buf, int buf_size, int position, MPI_Comm comm ) subroutine MPI_Pack( <type> var( * ), integer var_count, integer var_datatype, <type> buf( * ), integer buf_size, integer position, integer comm, integer ierror ) var in/out Puffer der Daten, die gepackt werden sollen var_count in Anzahl der Daten vom Typ send_datatype (nicht der Bytes) var_datatype in "Grundtyp" der zu packenden Daten (siehe Tabelle 1) buf in/out Puffer, in den die Daten gepackt werden sollen buf_size in Größe von buf in Bytes position in/out Zeiger auf die nächste Position in buf, in die Daten gepackt werden sollen comm in spezifiziert den Kommunikator (z.b. MPI_COMM_WORLD) int MPI_Unpack(void *buf, int buf_size, int position, void *var, int var_count, MPI_Datatype var_datatype, MPI_Comm comm ) subroutine MPI_Unpack(<type> buf( * ), integer buf_size, integer position, <type> var( * ), integer var_count, integer var_datatype, integer comm, integer ierror ) buf in/out Puffer, aus dem die Daten ausgepackt werden sollen buf_size in Größe von buf in Bytes position in/out Zeiger auf die nächste Position in buf, aus der Daten ausgepackt werden sollen var in/out Daten, in die ausgepackt werden soll var_count in Anzahl der Daten vom Typ send_datatype (nicht der Bytes) var_datatype in "Grundtyp" der auszupackenden Daten (siehe Tabelle 1) comm in spezifiziert den Kommunikator (z.b. MPI_COMM_WORLD)

Kurzübersicht über die wichtigsten MPI-Befehle

Kurzübersicht über die wichtigsten MPI-Befehle Kurzübersicht über die wichtigsten MPI-Befehle Hans Joachim Pflug Rechen- und Kommunkationszentrum der RWTH Aachen Inhalt MPI_Init / MPI_Finalize...2 MPI_Comm_size / MPI_Comm_rank...3 MPI_Send / MPI_Recv...4

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

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

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

Mehr

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Nach dem Update auf die Version 1.70 bekommen Sie eine Fehlermeldung,

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Starten der Software unter Windows 7

Starten der Software unter Windows 7 Starten der Software unter Windows 7 Im Folgenden wird Ihnen Schritt für Schritt erklärt, wie Sie Ihr persönliches CONTOUR NEXT USB auf dem Betriebssystem Ihrer Wahl starten und benutzen. Schritt 1. Stecken

Mehr

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich

Mehr

Bilder verkleinert per E-Mail versenden mit Windows XP

Bilder verkleinert per E-Mail versenden mit Windows XP Es empfiehlt sich, Bilder, die per E-Mail gesendet werden sollen, vorher durch Verkleinern zu optimieren, da sehr große Dateien von manchen E-Mail-Systemen nicht übertragen werden. Viele E- Mail-Server

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

Eine Einführung in die Installation und Nutzung von cygwin

Eine Einführung in die Installation und Nutzung von cygwin Eine Einführung in die Installation und Nutzung von cygwin 1 1. Woher bekomme ich cygwin? Cygwin ist im Internet auf http://www.cygwin.com/ zu finden. Dort lädt man sich die setup.exe in ein beliebiges

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Für Kunden die den neuen TopMaps Viewer EINER für ALLE als Betrachtungs-Software verwenden wollen. Top10 V1, Top25 V3, Top50 V5, WR50 V3 DVD s

Für Kunden die den neuen TopMaps Viewer EINER für ALLE als Betrachtungs-Software verwenden wollen. Top10 V1, Top25 V3, Top50 V5, WR50 V3 DVD s Detaillierte Anleitung für Kunden der neuen TopMaps Produkte Für Kunden die den neuen TopMaps Viewer EINER für ALLE als Betrachtungs-Software verwenden wollen Teil 1: Installation der Softwarekomponente:

Mehr

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen

Mehr

Starten der Software unter Windows XP

Starten der Software unter Windows XP Starten der Software unter Windows XP Im Folgenden wird Ihnen Schritt für Schritt erklärt, wie Sie Ihr persönliches CONTOUR NEXT USB auf dem Betriebssystem Ihrer Wahl starten und benutzen. Schritt 1. Stecken

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

Hex Datei mit Atmel Studio 6 erstellen

Hex Datei mit Atmel Studio 6 erstellen Hex Datei mit Atmel Studio 6 erstellen Es werden generell keine Atmel Studio Dateien ins Repository geladen, da jeder seine Dateien an anderen Orten liegen hat und weil nicht jeder das Atmel Studio 6 benutzt.

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

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

Mehr

mehr funktionen, mehr e-commerce:

mehr funktionen, mehr e-commerce: mehr funktionen, mehr e-commerce: xt:commerce plugin Search Tag Cloud xt:commerce Plugin search tag cloud Wonach suchen Ihre Kunden? Nicht nur für andere Nutzer ist es interessant, welche Artikel Ihre

Mehr

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000 Folgende Anleitung beschreibt, wie Sie ein bestehendes Postfach in Outlook Express, bzw. Microsoft Outlook bis Version 2000 einrichten können. 1. Öffnen Sie im Menü die Punkte Extras und anschließend Konten

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Newsletter. 1 Erzbistum Köln Newsletter

Newsletter. 1 Erzbistum Köln Newsletter Newsletter 1 Erzbistum Köln Newsletter Inhalt 1. Newsletter verwalten... 3 Schritt 1: Administration... 3 Schritt 2: Newsletter Verwaltung... 3 Schritt 3: Schaltflächen... 3 Schritt 3.1: Abonnenten Verwaltung...

Mehr

Sichern der persönlichen Daten auf einem Windows Computer

Sichern der persönlichen Daten auf einem Windows Computer Sichern der persönlichen Daten auf einem Windows Computer DIRECTION DES SERVICES IT SERVICE DIT-MI DIREKTION DER IT-DIENSTE DIENSTSTELLE DIT-MI 1/9 1 Inhaltsverzeichnis 2 Einleitung... 3 3 Outlook Daten...

Mehr

Anleitung zum Upgrade auf SFirm 3.0 + Datenübernahme

Anleitung zum Upgrade auf SFirm 3.0 + Datenübernahme I. Vorbereitungen 1. Laden Sie zunächst die Installationsdateien zu SFirm 3.0, wie in der Upgrade-Checkliste (Schritt 1.) beschrieben, herunter (www.sparkasse-fuerth.de/sfirm30download). 2. Starten Sie

Mehr

Anleitung zum Upgrade auf SFirm 3.1 + Datenübernahme

Anleitung zum Upgrade auf SFirm 3.1 + Datenübernahme I. Vorbereitungen 1. Laden Sie zunächst die Installationsdateien zu SFirm 3.1, wie in der Upgrade-Checkliste (Schritt 1.) beschrieben, herunter (www.sparkasse-forchheim.de/sfirm) 2. Starten Sie nochmals

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Anleitung zur Erstellung einer Batchdatei - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Mögliche Anwendungen für Batchdateien: - Mit jedem Systemstart vordefinierte Netzlaufwerke

Mehr

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt. Python Installation 1 Vorbereitung Diese Anleitung ist für Windows ausgelegt. 1.1 Download Python kann online unter https://www.python.org/downloads/ heruntergeladen werden. Hinweis: Im CoderDojo verwenden

Mehr

Daten Sichern mit dem QNAP NetBak Replicator 4.0

Daten Sichern mit dem QNAP NetBak Replicator 4.0 Daten Sichern mit dem QNAP NetBak Replicator 4.0 Was ist NetBak Replicator: Der NetBak Replicator ist ein Backup-Programm von QNAP für Windows, mit dem sich eine Sicherung von Daten in die Giri-Cloud vornehmen

Mehr

GFAhnen Datensicherung und Datenaustausch

GFAhnen Datensicherung und Datenaustausch GFAhnen Datensicherung und Datenaustausch In dieser Anleitung wird das Daten Sicheren, das Daten Wiederherstellen und der Datenaustausch zwischen 2 Rechner beschrieben. Eine regelmäßige Datensicherung

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

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

Mehr

Intranet E-Mail Moodle

Intranet E-Mail Moodle Intranet E-Mail Moodle Manual für Lernende V1.0 1 / 8 Inhaltsverzeichnis Übersicht... 3 1. Intranet... 3 2. Anmeldenamen... 4 3. Passwort... 4 3.1 Erste Anmeldung... 4 3.2 Passwort ändern... 5 3.3 Passwort

Mehr

Was man mit dem Computer alles machen kann

Was man mit dem Computer alles machen kann Was man mit dem Computer alles machen kann Wie komme ich ins Internet? Wenn Sie einen Computer zu Hause haben. Wenn Sie das Internet benutzen möchten, dann brauchen Sie ein eigenes Programm dafür. Dieses

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

26. November 2007. EFS Übung. Ziele. Zwei Administrator Benutzer erstellen (adm_bill, adm_peter) 2. Mit adm_bill eine Text Datei verschlüsseln

26. November 2007. EFS Übung. Ziele. Zwei Administrator Benutzer erstellen (adm_bill, adm_peter) 2. Mit adm_bill eine Text Datei verschlüsseln EFS Übung Ziele Zwei Administrator Benutzer erstellen (adm_bill, adm_peter) Mit adm_bill eine Text Datei verschlüsseln Mit adm_peter einen Ordner verschlüsseln und darin eine Text Datei anlegen Dem Benutzer

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

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

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann, 2005. 1

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann, 2005. 1 Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann, 2005. 1 Starten der CD Nach dem Einlegen der CD in Ihr CD-Laufwerk müsste die CD von selbst

Mehr

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

Mehr

Installationsanleitungen

Installationsanleitungen Installationsanleitungen INPA SGBD-Entwicklungsumgebung (EDIABAS) INPA für Entwickler Bevor Sie EDIABAS / INPA installieren können, müssen Sie sich für den Ordner sgref auf smuc0900 freischalten lassen.

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

Installieren von Microsoft Office 2012-09-12 Version 2.1

Installieren von Microsoft Office 2012-09-12 Version 2.1 Installieren von Microsoft Office 2012-09-12 Version 2.1 INHALT Installieren von Microsoft Office... 2 Informationen vor der Installation... 2 Installieren von Microsoft Office... 3 Erste Schritte... 7

Mehr

Anleitung zum Upgrade auf SFirm 3.x + Datenübernahme. I. Vorbereitungen

Anleitung zum Upgrade auf SFirm 3.x + Datenübernahme. I. Vorbereitungen Anleitung zum Upgrade auf 3.x + Datenübernahme I. Vorbereitungen 1. Laden Sie zunächs die Installationsdateien zu 3.x, wie in der Upgrade-Checkliste (Schritt 1.) beschrieben, herunter. 2. Starten Sie nochmals

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Einrichten eines IMAP Kontos unter Outlook Express

Einrichten eines IMAP Kontos unter Outlook Express Einrichten eines IMAP Kontos unter Outlook Express Klicken Sie auf Start->Programme->Outlook Express Wählen Sie oben in der Leiste den Menüpunkt Extras Klicken Sie dann bitte auf Konten. Nun erscheint

Mehr

Standard Daten-Backup-Script

Standard Daten-Backup-Script Inhaltsverzeichnis 1. Installations-Anleitung... 2 2. Ausführen manuelle Backups... 5 3. Backup-Script beim Abmelden ausführen... 6 4. Backup-Script zum Task-Planer hinzufügen... 8 2010 web-net.ch, Seite

Mehr

Anleitung zur Installation von Tun EMUL 12.0

Anleitung zur Installation von Tun EMUL 12.0 Anleitung zur Installation von Tun EMUL 12.0 Anleitung zur Installation von Tun EMUL 12.0... 1 1. Vorbereitung... 2 1.1 folgende Dinge müssen vor Beginn der eigentlichen Installation vorhanden sein:...

Mehr

Windows 7 Winbuilder USB Stick

Windows 7 Winbuilder USB Stick Windows 7 Winbuilder USB Stick Benötigt wird das Programm: Winbuilder: http://www.mediafire.com/?qqch6hrqpbem8ha Windows 7 DVD Der Download wird in Form einer gepackten Datei (7z) angeboten. Extrahieren

Mehr

Installation / Aktualisierung von Druckertreibern unter Windows 7

Installation / Aktualisierung von Druckertreibern unter Windows 7 Rechenzentrum Installation / Aktualisierung von Druckertreibern unter Windows 7 Es gibt drei verschiedene Wege, um HP-Druckertreiber unter Windows7 zu installieren: (Seite) 1. Automatische Installation...

Mehr

Programm GArtenlisten. Computerhinweise

Programm GArtenlisten. Computerhinweise Programm GArtenlisten Computerhinweise Liebe/r Vogelbeobachter/in, anbei haben wir Ihnen ein paar wichtige Tipps für ein reibungsloses Funktionieren der mitgelieferten Ergebnisdatei auf Ihrem Computer

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen Menü Macro WinIBW2-Macros unter Windows7?... 1 Macros aufnehmen... 1 Menübefehle und Schaltflächen in Macros verwenden... 4 Macros bearbeiten... 4 Macros löschen... 5 Macro-Dateien... 5 Macros importieren...

Mehr

Speichern. Speichern unter

Speichern. Speichern unter Speichern Speichern unter Speichern Auf einem PC wird ständig gespeichert. Von der Festplatte in den Arbeitspeicher und zurück Beim Download Beim Kopieren Beim Aufruf eines Programms Beim Löschen Beim

Mehr

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen Dateiname: ecdl2_05_03_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement

Mehr

Konvertieren von Settingsdateien

Konvertieren von Settingsdateien Konvertieren von Settingsdateien Mit SetEdit können sie jedes der von diesem Programm unterstützten Settingsformate in jedes andere unterstützte Format konvertieren, sofern Sie das passende Modul (in Form

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Seriendruck mit der Codex-Software

Seriendruck mit der Codex-Software Seriendruck mit der Codex-Software Seriendruck mit der Codex-Software Erstellen der Seriendruck-Datei in Windach Sie können aus der Adressverwaltung von Windach eine sogenannte Seriendruck-Datei erstellen,

Mehr

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

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

Mehr

Pascal-Compiler für den Attiny

Pascal-Compiler für den Attiny Das Attiny-Projekt MikroPascal 1 Pascal-Compiler für den Attiny Manch einer möchte vielleicht unsere Attiny-Platine nicht mit BASCOM programmieren. Verschiedene Alternativen bieten sich an. Ein besonders

Mehr

WORKSHOP VEEAM ENDPOINT BACKUP FREE

WORKSHOP VEEAM ENDPOINT BACKUP FREE WORKSHOP VEEAM ENDPOINT BACKUP FREE Haftungsausschluss Ich kann für die Richtigkeit der Inhalte keine Garantie übernehmen. Auch für Fehler oder Schäden die aus den Übungen entstehen, übernehme ich keine

Mehr

Registrierung am Elterninformationssysytem: ClaXss Infoline

Registrierung am Elterninformationssysytem: ClaXss Infoline elektronisches ElternInformationsSystem (EIS) Klicken Sie auf das Logo oder geben Sie in Ihrem Browser folgende Adresse ein: https://kommunalersprien.schule-eltern.info/infoline/claxss Diese Anleitung

Mehr

Grundlagen Word Eigene Symbolleisten. Eigene Symbolleisten in Word erstellen

Grundlagen Word Eigene Symbolleisten. Eigene Symbolleisten in Word erstellen Eigene Symbolleisten in Word erstellen Diese Anleitung beschreibt, wie man in Word eigene Symbolleisten erstellt und mit Schaltflächen füllt. Im zweiten Teil wird erklärt, wie man mit dem Makrorekorder

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal

Mehr

Anleitung für das Online Update

Anleitung für das Online Update Während der Einspielzeit können Sie M1 nicht für den Praxisbetrieb nutzen. Beenden Sie bitte M1 an allen Arbeitsplätzen, außer an dem Rechner auf dem sich der Internet-Zugang befindet! Vor dem Einspielen

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

Anleitung für den Euroweb-Newsletter

Anleitung für den Euroweb-Newsletter 1. Die Anmeldung Begeben Sie sich auf der Euroweb Homepage (www.euroweb.de) in den Support-Bereich und wählen dort den Punkt Newsletter aus. Im Folgenden öffnet sich in dem Browserfenster die Seite, auf

Mehr

Konfiguration eines DNS-Servers

Konfiguration eines DNS-Servers DNS-Server Grundlagen des Themas DNS sind im Kapitel Protokolle und Dienste in meinem Buch (LINUX erschienen im bhv-verlag) beschrieben. Als Beispiel dient ein Intranet mit mehreren Webservern auf verschiedenen

Mehr

Netzwerk einrichten unter Windows

Netzwerk einrichten unter Windows Netzwerk einrichten unter Windows Schnell und einfach ein Netzwerk einrichten unter Windows. Kaum ein Rechner kommt heute mehr ohne Netzwerkverbindungen aus. In jedem Rechner den man heute kauft ist eine

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Dokumentation: Balanced Scorecard

Dokumentation: Balanced Scorecard Dokumentation: Balanced Scorecard 1. Einleitung Eine Balanced Scorecard (BSC) ist eine kennzahlenbasierte Managementmethode, welche sowohl Visionen als auch Strategien eines Unternehmens und relevante

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Anleitung: Webspace-Einrichtung

Anleitung: Webspace-Einrichtung Anleitung: Webspace-Einrichtung Inhaltsverzeichnis 1 Webspace für alle Rechenzentrumsnutzer(innen) 1 2 Login 2 2.1 Im Terminalraum / Mit Putty von zu Hause aus..................... 2 2.2 Auf unixartigen

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Handbuch ECDL 2003 Basic Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Handbuch ECDL 2003 Basic Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen Handbuch ECDL 2003 Basic Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen Dateiname: ecdl2_05_03_documentation.doc Speicherdatum: 16.03.2005 ECDL 2003 Modul 2 Computermanagement

Mehr

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace. Starten Sie Eclipse: Abgesehen vom Kommandozeilenfenster, auf welches wir später eingehen, öffnet sich ein Dialog (in der FH vermutlich nicht, überspringen Sie in diesem Fall): Hier tragen sie Ihr Arbeitsverzeichnis

Mehr

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

Mehr

2. Word-Dokumente verwalten

2. Word-Dokumente verwalten 2. Word-Dokumente verwalten In dieser Lektion lernen Sie... Word-Dokumente speichern und öffnen Neue Dokumente erstellen Dateiformate Was Sie für diese Lektion wissen sollten: Die Arbeitsumgebung von Word

Mehr

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

Mehr

Installation älterer Programmversionen unter Windows 7

Installation älterer Programmversionen unter Windows 7 Installation älterer Programmversionen unter Windows 7 Obwohl nicht explizit gekennzeichnet, sind alle MAGIX Produkte mit einer 15 im Namen, sowie MAGIX Video Pro X 1.5, Filme auf DVD 8 und Fotos auf CD

Mehr

Laden der beiden virtuellen Orgeln (36 bzw. 100 Register) unter Hauptwerk

Laden der beiden virtuellen Orgeln (36 bzw. 100 Register) unter Hauptwerk Oberwerk 2 das Wichtigste in deutsch Der Datenträger enthält sowohl das zu installierende Programm Oberwerk 2 als auch zwei fertige Sample-Sets (36 Register und 100 Register) für Hauptwerk. Installation

Mehr

OWA Benutzerhandbuch. Benutzerhandbuch Outlook Web App 2010

OWA Benutzerhandbuch. Benutzerhandbuch Outlook Web App 2010 Benutzerhandbuch Outlook Web App 2010 P:\Administratives\Information\Internet\hftm\OWA_Benutzerhandbuch.docx Seite 1/25 Inhaltsverzeichnis Benutzerhandbuch Outlook Web App 2010... 1 1 Zugang zur Webmail-Plattform...

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Import des persönlichen Zertifikats in Outlook 2003

Import des persönlichen Zertifikats in Outlook 2003 Import des persönlichen Zertifikats in Outlook 2003 1. Installation des persönlichen Zertifikats 1.1 Voraussetzungen Damit Sie das persönliche Zertifikat auf Ihren PC installieren können, benötigen Sie:

Mehr

Arbeiten mit UMLed und Delphi

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

Mehr

Neue Steuererklärung 2013 erstellen

Neue Steuererklärung 2013 erstellen Neue Steuererklärung 2013 erstellen Bitte klicken Sie im Startmenü auf die Schaltfläche Steuererklärung 2013 NEU Anschliessend wird der folgende Dialog angezeigt. Wenn Sie die letztjährige Steuererklärung

Mehr

Für Kunden die Ihre bestehende Installation der Top DVD Betrachtungs-Software der früheren DVD Produkte weiterhin verwenden wollen

Für Kunden die Ihre bestehende Installation der Top DVD Betrachtungs-Software der früheren DVD Produkte weiterhin verwenden wollen Detaillierte Anleitung für Kunden der neuen TopMaps Produkte Für Kunden die Ihre bestehende Installation der Top DVD Betrachtungs-Software der früheren DVD Produkte weiterhin verwenden wollen Teil 1: Einbinden

Mehr

Inhaltsverzeichnis Seite

Inhaltsverzeichnis Seite Inhaltsverzeichnis Seite 1. Email mit Anhang versenden 2 1.a Email vorbereiten und zweites Fenster (Tab) öffnen. 2 1. b. Bild im Internet suchen und speichern. 3 1.c. Bild als Anlage in Email einbinden

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

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

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

SFTP SCP - Synology Wiki

SFTP SCP - Synology Wiki 1 of 6 25.07.2009 07:43 SFTP SCP Aus Synology Wiki Inhaltsverzeichnis 1 Einleitung 1.1 Grundsätzliches 2 Voraussetzungen 2.1 Allgemein 2.2 für SFTP und SCP 3 Installation 3.1 Welche openssl Version 3.2

Mehr