wiczenia MPI-2 Mirosław Kupczyk PCSS,

Podobne dokumenty
Architektura, oprogramowanie i uytkowanie klastra PCSS. Marek Zawadzki <mzawadzk@man.poznan.pl>

Wprowadzenie do obsługi systemów obliczeniowych PCSS

Wykorzystanie klastra Wydziału Informatyki PB do prowadzenia własnych obliczeń. Wojciech Kwedlo Wydział Informatyki PB

Użytkowanie systemów obliczeniowych PCSS Artur Trojanowski

Migracja obliczeń na system Hydra

Podstawy systemu kolejkowego SLURM

Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 4

Skrócony Poradnik Użytkownika

Kompilacja i uruchamianie zadań na klastrach Perszeron i Mustang.

Opracowanie obserwacji satelitarnych GPS/GLONAS w klastrowych systemach superkomputerowych

OpenMP Szkolenie dla uytkowniku

Efektywne wykorzystanie klastra Zeus w obliczeniach naukowych

Komputerowe Obliczenia Równoległe: Wstęp do OpenMP i MPI

Podstawy pracy w ICM

Klaster ISSI - raport na dzień 15 kwietnia 2010 r.

Obliczenia rozproszone MPI

Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań

Efektywne wykorzystanie klastra Zeus w obliczeniach wykonywanych pakietem Blender. Maciej Czuchry, Klemens Noga

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Tworzenie oprogramowania

Instalacja środowiska MPI w systemie operacyjnym Linux

Make jest programem komputerowym automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików.

C compiler (Linux) Cześć 01 - Ćwiczenia strona 2 z 9

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

Here comes the sun. Wyk lad niesystematyczny. Marcin Makowski. 24 października Zak lad Chemii Teoretycznej UJ

Opis efektów kształcenia dla modułu zajęć

System operacyjny Linux wybrane zagadnienia. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Cyfronet w CTA. Andrzej Oziębło DKDM

Enterprise, czyli instytutowy klaster obliczeniowy

Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1

1 Zapoznanie się ze środowiskiem Xenomai.

Dostęp do europejskich systemów obliczeniowych Tier-0 w ramach PRACE

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

ZAPYTANIE OFERTOWE NR PLCRC/ /06/2152/2014

Efektywne wykorzystanie zasobów obliczeniowych KDM w PCSS

Symulacja systemu z procesorem MicroBlaze w środowisku ActiveHDL

O superkomputerach. Marek Grabowski

Klaster obliczeniowy

Metody Kompilacji Wykład 1 Wstęp

Komputery Dużej Mocy w Cyfronecie. Andrzej Oziębło Patryk Lasoń, Łukasz Flis, Marek Magryś

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Obliczenia rozproszone MPI

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Wprowadzenie do obliczeń na komputerach ICM

K. Konopko; Toolchain. Toolchain. dr inż. Krzysztof Konopko

Zarządzanie farmami serwerów Linux

BASH - WPROWADZENIE Bioinformatyka 4

Zasoby i usługi Wrocławskiego Centrum Sieciowo-Superkomputerowego

Składowanie, archiwizacja i obliczenia modelowe dla monitorowania środowiska Morza Bałtyckiego

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

GNU GProf i GCov. przygotował: Krzysztof Jurczuk Politechnika Białostocka Wydział Informatyki Katedra Oprogramowania ul. Wiejska 45A Białystok

Zegar - układ wysyłający regularne impulsy o stałej szerokości (J) i częstotliwości (f)

Wrocławskie Centrum Sieciowo-Superkomputerowe

WST P DO PROGRAMOWANIA RÓWNOLEGŠEGO 1. KLASTER

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Obudowa na moduły Blade 1 szt. Chassis o parametrach: Typ obudowy: Dedykowana do instalacji w szafie rack 19

Systemy Operacyjne. Ćwiczenia

Wsparcie dla OpenMP w kompilatorze GNU GCC Krzysztof Lamorski Katedra Informatyki, PWSZ Chełm

Programowanie w C. dr inż. Stanisław Wszelak

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie

Uruchomienie Raspberry Pi

Przetwarzanie Równoległe i Rozproszone

MMX i SSE. Zbigniew Koza. Wydział Fizyki i Astronomii Uniwersytet Wrocławski. Wrocław, 10 marca Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16

Baza danych Oracle 11g Express Edition

K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko

Przykładowe sprawozdanie. Jan Pustelnik

Programowanie komputerów

Bartosz Bosak Piotr Kopta Tomasz Piontek

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Architektura procesora Intel Itanium (IA64) Paweł Pisarczyk Instytut Informatyki, Politechnika Warszawska

Prezentacja systemu RTLinux

Infrastruktura PL-Grid - usługi dla chemii obliczeniowej

Programowanie w C++ Wykład 10. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21

Klaster do obliczeń równoległych Centrum Fizyki Teoretycznej PAN v1.2

ZMIANA TREŚCI SPECYFIKACJI ISTOTNYCH WARUNKÓW ZAMÓWIENIA, NUMER POSTĘPOWANIA: D/47/2017

Analiza wydajno±ci serwera openldap

Git - podstawy. Błażej Kowalczyk. Koło Naukowe Robotyków KoNaR. 7 listopada 2014

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

Pracownia Komputerowa wykład III

Jak wygląda praca na klastrze

Dostęp do europejskich systemów obliczeniowych Tier-0/Tier-1 w ramach PRACE

Skryptologia i systemy kolejkowe

Wprowadzenie do OpenMP

INSTRUKCJA INSTALACJI PŁATNOŚCI TRANSFERUJ.PL

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

Parametry techniczne. Testy

Pracownia Technik Obliczeniowych

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

Część II: Instalacja systemu Mediqus

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Jak ujarzmić hydrę czyli programowanie równoległe w Javie. dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski

Programowanie Współbieżne

Pobieranie edytora CodeLite

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Transkrypt:

wiczenia MPI-2 Mirosław Kupczyk Miroslaw.Kupczyk@man.poznan.pl PCSS, 12.06.2006 http://szkolenia.man.poznan.pl

Kompilacja i uruchomienie Origin 3800, Irix 6.5.25f MPT 1.9 Z linii komend: > cc -64 prog.c o prog lmpi mpirun -np 4 prog Przykłady do pobrania: http://szkolenia.man.poznan.pl/ Prosty accounting: tracejob -n <liczba_dni_wstecz> <nr_zadania>

Konta testowe klaster IA-64 (Linux): Intel(R) C/C++ compilers - Intel(R) Fortran Compiler - GNU C/C++/Fortran compilers (gcc, g77) - MPI (MPICH v2., v3., MVAPICH for InfiniBand) 248 procesorów Itanium2, sumaryczna pami operacyjna 540 GB, dyskowa: 9,4 TB > ssh sherwood.man.poznan.pl Username: psncxy [XY=01..10] Pass: psncxyxy

Dostpne wersje MPI-2 na sherwoodzie # mpich1_gnu -MPI w wersji 1 z kompilatorami gcc, g77 # mpich1_intel -MPI w wersji 1 z kompilatorami icc, ifort # mpich2_gnu -MPI w wersji 2 z kompilatorami gcc, g77 # mpich2_intel -MPI w wersji 2 z kompilatorami icc, ifort # mvapich1_gnu -MPI w wersji 1 korzystajace z technologii Infiniband oparte o kompilatory gcc, g77 # mvapich1_intel -MPI w wersji 1 korzystajace z technologii Infiniband oparte o kompilatory icc, ifort # mvapich2_gnu -MPI w wersji 2 korzystajace z technologii Infiniband oparte o kompilatory gcc, g77 # mvapich2_intel -MPI w wersji 2 korzystajace z technologii Infiniband oparte o kompilatory icc, ifort Ustaw potrzebn wersje MPI w pliku.bash_profile Np. MPI_VERSION="mpich2_gnu" I przeloguj si.

Kompilacja i uruchomienie sherwood:~/mpi$ mpicc [-DDEBUG -D_FILE_OFFSET_BITS=64 - D_LARGEFILE64_SOURCE] -o prog prog.c Przygotowanie pliku startowego PBS: > cat prog.sh #!/bin/bash #PBS -l nodes=4:ppn=1 mpiexec /home/staff/user/prog Zlecenie zadania: > qsub [-I] prog.sh qsub: waiting for job 118244.sherwood to start qsub: job 118244.sherwood ready Stan zadania: qstat 118244.sherwood Job id Name User Time Use S Queue ---------------- ---------------- ---------------- -------- - ----- 118244.sherwood t.sh miron 00:00:06 R avg_mem

Zapis sekwencyjny do kilku plików - szablon 1. Zobacz kod: t1.c 2. Kompiluj: [Master] sherwood:~/mpi$ mpicc -D_FILE_OFFSET_BITS=64 - D_LARGEFILE64_SOURCE -o t1 t1.c 3. Przygotuj plik dla PBS: t1.sh #!/bin/bash #PBS -l nodes=4:ppn=1 mpiexec /home/staff/userxxx/t1 4. Zle zadanie: > qsub [-I] q mpi t1.sh 5. Wyniki: -rw------- 1 miron staff 858 2006-06-09 12:53 t.sh.o118247 -rw------- 1 miron staff 0 2006-06-09 12:53 t.sh.e118247 > ls ld testfile.*

Zapis równoległy do jednego pliku - szablon 1. Zobacz kod: t2.c 2. Kompiluj: [Master] sherwood:~/mpi$ mpicc -D_FILE_OFFSET_BITS=64 - D_LARGEFILE64_SOURCE -o t2 t2.c 3. Przygotuj plik dla PBS: t2.sh #!/bin/bash #PBS -l nodes=4:ppn=1 mpiexec /home/staff/userxxx/t2 4. Zle zadanie: > qsub [-I] q mpi t2.sh 5. Wyniki: -rw------- 1 miron staff 858 2006-06-09 12:53 t.sh.o118247 -rw------- 1 miron staff 0 2006-06-09 12:53 t.sh.e118247 > ls ld testfile

Zapis równoległy do jednego pliku - testy 1. Zobacz kod: mkrandpfile.c 2. Kompiluj: [Master] sherwood:~/mpi$ mpicc -DDEBUG -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -o mkrandpfile mkrandpfile.c 3. Przygotuj plik dla PBS: mkrandpfile.sh #!/bin/bash #PBS -l nodes=4:ppn=1 mpiexec /home/staff/userxxx/mkrandpfile f plik l 10 4. Zle zadanie: > qsub q mpi mkrandpfile.sh 5. Wyniki: -rw------- 1 miron staff 858 2006-06-09 12:53 t.sh.o118247 -rw------- 1 miron staff 0 2006-06-09 12:53 t.sh.e118247 longest_io_time = 10.596874 seconds total_number_of_bytes = 167772160 transfer rate = 15.098792 MB/s > ls ld plik -rw------- 1 miron staff 167772160 2006-06-09 12:51 plik Komentarz: Operacje MPI-2 na NFS s małowydajne.

SGI Origin3800 SMP NumaCC #cpus blocks B MB/s max Rt [sek] 1 256 1073741824 184,10 5,56 2 128 1073741824 181,20 5,65 4 64 1073741824 187,86 5,45 8 32 1073741824 179,22 5,71 16 16 1073741824 182,44 5,61 32 8 1073741824 171,59 5,97 64 4 1073741824 166,55 6,15 96 2 805306368 161,86 4,88 96 * MIPS, RAM 72 GB, Local HDD Wniosek: uywajmy modeli programowania adekwatnych do architektury.

Obcienie http://sherwood.man.poznan.pl/ganglia

Zapis sekwencyjny do kilku plików - testy 1. Zobacz kod: mkrandpfiles.c 2. Kompiluj: [Master] sherwood:~/mpi$ mpicc -DDEBUG -D_FILE_OFFSET_BITS=64 - D_LARGEFILE64_SOURCE -o mkrandpfiles mkrandpfiles.c 3. Przygotuj plik dla PBS: mkrandpfiles.sh #!/bin/bash #PBS -l nodes=4:ppn=1 mpiexec /home/staff/userxxx/mkrandpfiles f plik l 10 4. Zle zadanie: > qsub [-I] q mpi mkrandpfiles.sh 5. Wyniki: -rw------- 1 miron staff 858 2006-06-09 12:53 t.sh.o118247 -rw------- 1 miron staff 0 2006-06-09 12:53 t.sh.e118247 longest_io_time = 2.663838 seconds total_number_of_bytes = 134217728 transfer rate = 48.050972 MB/s > ls ld plik.*

Zapis sekwencyjny do kilku plików klaster (NFS) #cpus blocks B MB/s max IO time Real time 2 16 134217728 16,99 7,96 0m10.844s 4 8 134217728 30,77 4,16 0m8.232s 8 4 134217728 53,00 2,41 0m4.826s 16 2 134217728 36,35 3,52 0m9.481s Transfer duego pliku na system NFS `/bin/cp /tmp/plik_a ~/` miał prdko ok. 10MB/s

Niemiertelny przykład 1. Zobacz kod: pi.c 2. Kompiluj: [Master] sherwood:~/mpi$ mpicc -o pi pi.c 3. Przygotuj plik dla PBS: pi.sh #!/bin/bash #PBS -l nodes=4:ppn=1 mpiexec /home/staff/userxxx/pi 4. Zle zadanie: > qsub -I q mpi pi.sh

Synchronizacja Aktywna 1. Zobacz kod: syn1.c 2. Kompiluj: [Master] sherwood:~/mpi$ mpicc -o syn1 syn1.c 3. Przygotuj plik dla PBS: pi.sh #!/bin/bash #PBS -l nodes=4:ppn=1 mpiexec /home/staff/userxxx/syn1 4. Zle zadanie: > qsub -I q mpi syn1.sh

Rozmieszczenie danych 1. Zobacz kod: write.c 2. Kompiluj: [Master] sherwood:~/mpi$ mpicc -o write write.c 3. Przygotuj plik dla PBS: write.sh #!/bin/bash #PBS -l nodes=4:ppn=1 mpiexec /home/staff/userxxx/write 4. Zle zadanie: > qsub q mpi write.sh 5. Zobacz plik wynikowy: out.dat 6. Jaki bdzie wynik dla 16 procesorów? 7. A Jaki dla 5 procesorów?

Inne ciekawe http://www.cs.utk.edu/~dongarra/web- PAGES/SPRING-2006/Lect07.pdf http://beige.ucs.indiana.edu/i590/node86.h tml