Plan wykładu. Programowanie aplikacji równoległych i rozproszonych. Wykład 8 p. Komunikacja typu punkt-punkt. Koncepcja standardu MPI
|
|
- Ludwik Sokołowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Plan wykładu Programowanie aplikacji równoległych i rozproszonych Wykład 8 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Koncepcja standardu MPI, jego zalety i wady Komunikacja typu punkt-punkt Komunikacja grupowa Wstęp do standardu MPI-2 Mechanizm komunikacji jednostronnej i jego cechy charakterystyczne Sposoby dynamicznego zarzadzania procesami wprowadzone w standardzie MPI-2 Równoległe operacje wejścia/wyjścia MPI-IO i ich cechy Pozostałe rozszerzenia i modyfikacje wprowadzone w standardzie MPI-2 1/?? Wykład 8 p Koncepcja standardu MPI Komunikacja typu punkt-punkt Standard MPI (Message Passing Interface) definije bibliotekę dla języków C/C++ i Fortran do tworzenia programów równoległych dla modelu z wymiana komunikatów. Program składa się z procesów (zazwyczaj działajacych na różnych jednostkach obliczeniowych - procesorach lub rdzeniach), które komunikuja się przy pomocy komunikatów. Standard MPI został stworzony dla komputerów masywnie równoległych, jednakże w chwili obecnej pozwala na efektywna realizację przetwarzania równoległego na klastrach, a nawet architekturach z pamięcia współdzielona. Zaleta standardu MPI jest wysoka wydajność oraz możliwość efektywnej obługi dużej liczby procesów. Wada jest stosunkowo złożony sposób tworzenia programów równoległych - należy rozdzielić zadania na poszczególne procesy oraz w jawny sposób zadać komunikację pomiędzy nimi. Podstawowym mechanizmem wymiany danych pomiędzy procesami jest komunikacja typu punkt-punkt: nadawca wysyła komunikat do odbiorcy przy pomocy funkcji MPI_Send, odbiorca odbiera komunikat od nadawcy, wykorzystujac do tego celu funkcję MPI_Recv Funkcje MPI_Send/MPI_Recv sa blokujace - procesy czekaja na wykonanie komunikacji. W standardzie MPI udostępniono również komunikację nieblokujac a: MPI_Irecv(...); // inicjalizacja nieblokującego odebrania komunikatau... // wykonanie pracy niezależnej od odbieranych danych MPI_Wait(...); // czekanie na zakończenie komunikacji... // wykonanie pracy, która jest zależna od odebranych danych 3/?? Wykład 8 p
2 Komunikacja grupowa MPI-2 - nowe elementy Komunikacja grupowa to taka, w której wystepuje grupa procesów. Każdy proces z grupy wywołuje taka sama funkcję. W standardzie MPI zdefiniowano następujace funkcje do komunikacji grupowej: MPI_Barrier - synchronizacja procesów w postaci bramki, MPI_Bcast - rozgłaszanie jeden do wszystkich, MPI_Gather - zbieranie wszyscy do jednego, MPI_Allgather - zbieranie wszyscy do wszystkich, MPI_Scatter - rozpraszanie jeden do wszystkich, MPI_Reduce - redukcja wszyscy do jednego, MPI_Alltoall - rozpraszanie wszyscy do wszystkich, MPI_Allreduce - redukcja połaczona z rozgłaszaniem. W standardzie MPI-2 wprowadzono trzy główne modyfikacje: równoległe wejście/wyjście, komunikacja jednostronna, dynamiczne zarzadzanie procesami. Ponadto w porównaniu do standardu MPI 1.1 uścislono standard MPI, uwzględniono przetwarzanie wielowatkowe, umożliwiono łaczenie modułów w napisanych w różnych językach, dodano rozszerzone operacje komunikacji zbiorowej. 5/?? Wykład 8 p Sprawdzenie wersji MPI Dynamiczne zarzadzanie procesami Poczawszy od wersji 1.2 standardu MPI można przeprowadzić kontrolę wersji używnej biblioteki MPI. Podczas kompilacji można skorzystać z dyrektyw MPI_VERSION i MPI_SUBVERSION, które przechowuja odpowienio liczbę całkowita określajac a numer wersji i podwersji biblioteki MPI: #define MPI_VERSION 2 #define MPI_SUBVERSION 0 Podczas wykonania programu MPI można skorzystać z funkcji MPI_Get_version: int MPI_Get_version( int *version, int *subversion ) version - przez ten argument zostaje zwrócony numer wersji, subversion - pozwala na pobranie numeru podwersji. W standardzie MPI-1 liczba procesorów była statyczna - ustalana w momencie uruchomienia programu i nie mogła zostać zmieniona. W standardzie MPI-2 wspiera dynamiczne zarzadzanie procesami: możliwość tworzenia nowych procesów w trakcie działania programu, jak również ich usuwania, udostępnia mechanizm umożliwiajacy nawiazanie komunikacji pomiędzy nowo utworzonymi procesami, a istniejac a aplikacja MPI, możliwość przesyłania zmiennych typu MPI_Info pomiędzy procesami. udostępnia również mechanizm umożliwiajacy nawiazanie komunikacji pomiędzy dwoma zupełnie odrębnymi aplikacjami MPI (nawet jeżeli jedna nie uruchomiła drugiej). 7/?? Wykład 8 p
3 Uruchamianie procesów Funkcja MPI_Comm_spawn Aplikacja MPI może utworzyć nowy proces przy wykorzystaniu funkcji MPI_Comm_spawn i MPI_Comm_spawn_multiple będacych interfejsem do zewnętrznego zarzadcy procesów. Funkcja MPI_Comm_spawn umożliwia utworzenie nowych procesów i nawiazanie z nim komunikacji przy pomocy wspólnego komunikatora rodzica i potomka (intercommunicator). Funkcja MPI_Comm_spawn_multiple umożliwia utworzenie procesów wykorzystujacych różne pliki wykonywalne z takimi samymi, lub różnymi argumentami wywołania. Proces jest reprezentowany w MPI przez parę (group, rank), Funkcja MPI_Comm_spawn: int MPI_Comm_spawn(char *command, char *argv[], int maxprocs, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]) Stara się utworzyć maxprocs nowych identycznych kopii programu MPI przekazanego poprzez parametr command z argumentami wywołania znajdujacymi się w argv (może się to nie udać np. z powodu braku wolnych zasobów). Poprzez parametr intercomm zwracany jest inter-komunikator który zawiera procesy rodzica w grupie lokalnej (local group) oraz procesy potomne w grupie zdalnej (remote group). Utworzone procesy maja własny komunikator MPI\_COMM\_WORLD, który jest różny od tego, używanego przez procesy rodziców. 9/?? Funkcja MPI_Comm_get_parent Tworzenie procesów - ograniczenia Funkcja MPI_Comm_get_parent: int MPI_Comm_get_parent(MPI_Comm *parent) Jeżeli proces został stworzony przy pomocy funkcji MPI_Comm_spawn lub MPI_Comm_spawn_multiple funkcja MPI_Comm_get_parent zwraca dowiazanie do komunikatora rodzica (parent intracommunicator), w przeciwnym wypadku zwraca MPI_COMM_NULL. Intra-komunikator jest tworzony w momencie wywołania funkcji MPI_init i jest taki sam, jak intra-komunikator zwracany dla rodzica w momencie tworzenia procesu (zwracany w funkcjach MPI_Comm_spawn i MPI_Comm_spawn_multiple). W chwili tworzenia programu trudno jest założyć, ile procesów może zostać utworzonych (jest do zależne od środowiska w jakim program będzie działał). W zwiazku z tym decyzja o liczbie uruchamianych procesów musi być podjęta w trakcie działania programu (co w wielu wypadkach możne znacznie skomplikować implementację). Można do tego celu wykorzystać funkcję MPI_Comm_get_attr: int size, flag; MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_UNIVERSE_SIZE, &size, &flag); gdzie po wykonaniu funkcji: flag - określa, czy MPI obsługuje MPI_UNIVERSE_SIZE, size - to w takim wypadku zwraca liczbę procesów - 1, jakie moga być uruchomione (w przypadku size równego 1 nie może zostać uruchomiony żaden nowy proces). Ponadto ze względu na wydajność lepszym rozwiazaniem jest uruchomienie w momencie startu aplikacji (mpiexec) tyle procesów, ile jest konieczne, zamiast tworzyć je dynamicznie. 11/??
4 Master - przykład Worker - przykład #include "mpi.h" #include <iostream> int main(int argc, char *argv[]) { MPI_Init(&argc, &argv); MPI_Comm everyone; MPI_Comm_spawn("worker", MPI_ARGV_NULL, 2, MPI_INFO_NULL, 0, MPI_COMM_SELF, &everyone, MPI_ERRCODES_IGNORE); MPI_Finalize(); return 0; } #include "mpi.h" #include <iostream> int main(int argc, char *argv[]) { MPI_Init(&argc, &argv); MPI_Comm parent; MPI_Comm_get_parent(&parent); if (parent == MPI_COMM_NULL) std::cerr << "Error - Brak rodzica!"; int size; MPI_Comm_remote_size(parent, &size); if (size!= 1) std::cerr << "Error - Cos poszlo nie tak"; MPI_Finalize(); return 0; } 13/?? Funkcja MPI_Comm_spawn Funkcja MPI_Comm_spawn_multiple int MPI_Comm_spawn(char *command, char *argv[], int maxprocs, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]) command - nazwa programu, z którego będa tworzone nowe procesy, argv - argumenty wywołania, jakie będa przekazane do tworzonych procesów, maxprocs - maksymalna liczba tworzonych procesów, info - zbiór par (klucz, wartość) informujacych system gdzie i jak maja zostać utworzone nowe procesy, root - identyfikator procesu tworzace procesy potomne, comm - intra-komunikator zawierajacy grupę utworzonych procesów, intercomm - inter-komunikator będacy uchwytem pomiędzy oryginalna grupa procesów, a grupa nowoutworzonych procesów, array_of_errcodes - tablica błędów o rozmiarze maxprocs (po jednym kodzie dla każdego procesu). 15/?? int MPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[], int array_of_maxprocs[], MPI_Info array_of_info[], int root, MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]) count - liczba komend (rozmiar talicy array_of_commands), array_of_commands - tablica z nazwami programów, z których będa tworzone nowe procesy, array_of_argv - tablica z argumentami wywołania, jakie będa przekazane do tworzonych procesów, array_of_maxprocs - maksymalna liczba tworzonych procesów dla poszczególnych komend, array_of_info - tablica zbiórów par (klucz, wartość) informujacych system gdzie i jak maja zostać utworzone nowe procesy, root - identyfikator procesu tworzace procesy potomne, comm - intra-komunikator zawierajacy grupę utworzonych procesów, intercomm - inter-komunikator będacy uchwytem pomiędzy oryginalna grupa procesów, a grupa nowoutworzonych procesów, array_of_errcodes - tablica błędów o rozmiarze maxprocs (po jednym kodzie dla każdego procesu).
5 Komunikacja jednostronna Operacje w komunikacji jednostronnej W ramach standard MPI-1 udostępnione zostały mechanizmy komunikacji dwustronnej (nadawca i odbiorca jawnie uczestnicza w komunikacji): jeden proces wysyła komunikat (rodzina funkcji MPI_send), drugi proces odbiera komunikat (rodzina funkcji MPI_recv). W standardzie MPI-2 rozszerzono mechanizmy komunikacji poprzez dodanie trybu pamięci zdalnej RMA (Remote Memory Access) - jeden proces definiuje wszystkie parametry komunikacji (zarówno zwiazane z wysyłaniem danych, jak i ich odbieraniem). Komunikacja jednostronna wymaga jawnego użycia specjalnych funkcji synchronizujacych (w przypadku trybu blokujacego w MPI-1 synchronizacja była realizowana w sposób niejawny). W MPI-2 wprowadzono trzy operacje komunikacji jednostronnej: MPI_Put (remote write) - zapisywanie danych, MPI_Get (remote read) - pobieranie danych, MPI_Accumulate (remote update) - modyfikacja danych (np. sumowanie). 17/?? Okno dostępu do pamięci Zapis danych Aby można było wykorzystać operacje komunikacji jednostronnej należy utworzyć tzw. okno dostępu do pamięci. Tworzenie okna polega na wydzieleniu fragmentu już zaalokowanej pamięci procesu, do której będa miały dostęp inne procesy w trybie RMA. Utworzenie okna dostępu do pamięci jest operacja komunikacji zbiorowej. Do tego celu służy funkcja MPI_Win_create: int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win) Tworzone jest okno o rozmiarze size, zaczynajace się od base. Zwracany jest obiekt win, który jest wykorzystywany w operacjach komunikacyjnych. Do usunięcia utworzonego okna służy funkcja MPI_Win_free. Funkcja służac a do zapisywania danych do pamięci innego procesu jest funkcja MPI_Put: int MPI_Put(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win) Proces zapisuje do pamięci procesu target_rank dane o rozmiarze origin_count znajdujace się pod adresem origin_addr. Dane zostaja umieszczone w pamięci procesu docelowego pod adresem określonym przez okno win oraz przesunięciem target_disp. 19/??
6 Odczyt danych Funkcja MPI_Accumulate Funkcja służac a do odczytywania danych z pamięci innego procesu jest funkcja MPI_Get: int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win) Proces pobiera z pamięci procesu target_rank dane, które zostaja umieszczone w buforze origin_addr. Zapisywanych jest origin_count elementów typu origin_datatype. Dane zostaja pobrane z pamięci procesu target_rank spod adresu określonego przez poczatek okna win i przesunięcia target_disp. Po wykonaniu operacji MPI_Get należy wykonać operację synchronizacji. Korzystanie z lokalnego bufora origin_addr należy odłożyć aż do zakończenia synchronizacji. Funkcja MPI_Accumulate wykonuje określona operację (np. sumowanie) na zawartości lokalnego i docelowego bufora: int MPI_Accumulate(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) Wynik operacji op wykonanej na lokalnym (origin_addr) i docelowym (określonym przez target_disp i win) buforze jest zapisywany w pamięci zdalnej. Można wykonywać wiele operacji akumulacji w tym samym czasie przez różne procesy korzystajac z tego samego bufora docelowego. 21/?? Synchronizacja Funkcja MPI_Win_fence Synchronizację RMA można podzielić na: z udziałem procesu zdalnego (active target), tylko z udziałem procesów źródłowych (passive target). Funkcja MPI_Win_fence synchronizuje wszystkie operacje RMA wykonywane na danym oknie dostępu do pamięci: int MPI_Win_fence(int assert, MPI_Win win) win - okno, którego operacje będa synchronizowane, assert - umożliwia przekazanie wskazówek optymalizacyjnych. Jest operacja typu active target. 23/??
7 Pozostałe sposoby synchronizacji Funkcja MPI_Win_create Poniższe funkcje umożliwiaja ograniczenie synchronizacji do minimum - jedynie pary procesów korzystajacych ze wspólnej pamięci uczestnicza w synchronizacji: MPI_Win_start, MPI_Win_wait, MPI_Win_post, MPI_Win_complete. Analogicznie, jak w przypadku modelu programowania z pamięcia współdzielona udostępniono funkcje, umożliwiajace procesowi zablokowanie korzystania z okna w danym czasie innym procesom (mechanizm zamków, rygli). Sa to operacje typu passive target: MPI_Win_lock, MPI_Win_unlock. int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win) base - adres, od którego będzie zaczynało się okno, size - rozmiar okna w bajtach, disp_unit - jednostka (czynnik skalujacy) do przesunięcia w bajtach, info - uchwyt do danych informacyjnych, comm - procesy wchodzace w skład tej grupy będa mogły korzystać z utworzonego okna pamięci, win - zwracany obiekt okna, wykorzystywany następnie w operacjach komunikacji jednostronnej. 25/?? Funkcja MPI_Win_free Funkcja MPI_Put Funkcja MPI_Win_free usuwa obiekt okna dostępu do pamięci. Usuwanie obiektu okna może być wykonywane tylko po ukończonej synchronizacji. int MPI_Win_free(MPI_Win *win) win - uchwyt do okna, które będzie usuwane. int MPI_Put(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win) origin_addr - adres poczatkowy bufora źródłowego, origin_count - liczba elementów bufora źródłowego, origin_datatype - typ elementu bufora źródłowego, target_rank - identyfikator procesu, w którym będa zapisywane dane, target_disp - przesunięcie względem poczatku okna obszaru do którego będa zapisywane dane, target_count - liczba elementów bufora docelowego, target_datatype - typ elementu bufora docelowego, win - uchwyt do wcześniej utworzonego okna wykorzystywanego do komunikacji. 27/??
8 Funkcja MPI_Get Funkcja MPI_Accumulate int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win) origin_addr - adres poczatkowy bufora docelowego, origin_count - liczba elementów bufora docelowego, origin_datatype - typ elementu bufora docelowego, target_rank - identyfikator procesu, z pamięci którego będa odczytywane dane, target_disp - przesunięcie względem poczatku okna obszaru, z którego będa odczytywane dane, target_count - liczba elementów bufora źródłowego, target_datatype - typ elementu bufora źródłowego, win - uchwyt do wcześniej utworzonego okna wykorzystywanego do komunikacji. int MPI_Accumulate(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) origin_addr - adres poczatkowy bufora źródłowego, origin_count - liczba elementów bufora źródłowego, origin_datatype - typ elementu bufora źródłowego, target_rank - identyfikator procesu, w którym będa zapisywane dane, target_disp - przesunięcie względem poczatku okna obszaru do którego będa zapisywane dane, target_count - liczba elementów bufora docelowego, target_datatype - typ elementu bufora docelowego, op - typ operacji - moga być wykorzystywane te same operacje, co w przypadku MPI_Reduce: MPI_MAX, MPI_MIN, MPI_SUM, MPI_PROD, MPI_LAND, MPI_BAND, MPI_LOR, MPI_BOR, MPI_LXOR, MPI_BXOR, MPI_MAXLOC, MPI_MINLOC, win - uchwyt do wcześniej utworzonego okna wykorzystywanego do komunikacji. 29/?? Sekwencyjne wejście/wyjście Proste rozwiazanie równoległego we/wy Procesy wysyłaja dane do procesu 0, który zapisuje je do pliku Najprostsze rozwiazanie równoległe - każdy proces posiada własny plik, z którego czyta i zapisuje dane. Zaletami sa pełna równoległość oraz duża wydajność. Wadami - obsługa wielu małych plików oraz problemy przy korzystaniu z plików dla innej liczby procesów. 31/??
9 Równoległe we/wy - motywacja Równoległe we/wy - prosty przykład Sekwenyjne we/wy jest proste, ale charakteryzuje się niska wydajnościa, w przypadku gdy jeden proces korzysta z jednego pliku lub problemami zwiazanymi z zarzadzeniem wieloma plikami, w przypadku gdy każdy proces wykorzystuje swój własny plik. Istnieje wiele aplikacji, które wymagaja aby: był możliwy równoległy dostęp do jednego pliku przez wiele procesów, dostęp mógł być realizowany jednocześnie, procesy mogły odczytywać te same dane, tworzony był pojedynczy plik, ze względu na konieczność współpracy z innymmi narzędziami. Rozwiazaniem jest równoległe wejście/wyjście. Każdy proces odczytuje lub zapisuje dane korzystajac ze wspólnego pliku z/do przydzielonego mu fragmentu pliku. 33/?? Otwarcie i zamknięcie pliku Indywidualne pozycje pliku Do otwarcia pliku służy polecenie MPI_File_open: int MPI_File_open(MPI_Comm comm, char *filename, int amode, MPI_Info info, MPI_File *fh) Otwiera plik o nazwie filename na wszystkich procesach z komunikatora comm. Jest operacja kolektywna - wszystkie procesy z grupy comm musza wywołać funkcję MPI_File_Open z takimi samymi wartościami amode i filename. Do zamknięcia pliku służy polecenie MPI_File_close: int MPI_File_close(MPI_File *fh) Zamykany jest wcześniej otwarty plik, na który wskazuje uchwyt fh. Przy zamykaniu pliku wykonywana jest synchronizacja. MPI obsługuje jedna pozycję pliku (przesunięcie względem poczatku pliku) dla procesu i uchwytu do pliku. Każdy proces może ustawić swoja pozycję pliku w taki sposób, aby czytał lub zapisywał przydzielony mu fragment pliku. Do ustawienia lokalnej pozycji pliku służy funkcja MPI_File_seek: int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence) Modyfikuje lokalna pozycję pliku zwiazanego z uchwytem fh w następujacy sposób: MPI_SEEK_SET - pozycja pliku jest ustawiana na offset, MPI_SEEK_CUR - pozycja pliku jest zwiększana o offset, MPI_SEEK_END - pozycja pliku jest ustawiana na koniec pliku i dodawany jest do niej offest (w takim przypadku offset powinien mieć wartość ujemna). 35/??
10 Czytanie z pliku Zapis do pliku Do czytania z pliku można wykorzystać funkcje MPI_File_read: int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) Odczytuje count elementów typu datatype z pliku określonego przez uchwyt fh do bufora buf poczawszy od aktualnej lokalnej pozycji pliku. Wersja grupowa funkcji MPI_File_read jest funkcja MPI_File_read_all: int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) Zapis do pliku można zrealizować przy pomocy funkcji MPI_File_write: int MPI_File_write(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) Zapisuje count elementów typu datatype do pliku określonego przez uchwyt fh z bufora buf poczawszy od aktualnej lokalnej pozycji pliku. Wersja grupowa funkcji MPI_File_write jest funkcja MPI_File_write_all: int MPI_File_write_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) 37/?? Operacje nieblokujace Inne rodzaje operacji plikowych Istnieja nieblokujace wersje operacji do odczytu i zapisu: int MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request) int MPI_File_iwrite(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request) Oczekiwanie na zakończenie operacji na pliku może być zrealizowane przez funkcje MPI_Wait przy wykorzystaniu parametru request (podobnie, jak w przypadku nieblokujacego odebrania komunikatu). Wykorzystywane sa one najczęściej do nałożenia w czasie obliczeń i operacji plikowych. W standardzie MPI zdefiniowano znacznie więcej funkcji i sposobów realizacji operacji na plikach, np: Funkcje czytajace i zapisujace dane z/do pliku z określeniem od którego miejsca w pliku dane maja być pobierane/zapisywane: MPI_File_read_at i MPI_File_write_at. Funkcje realizujace zapis/odczyt przy wykorzystaniu wspólnej pozycji pliku (pozycja pliku jest współdzielona przez wszystkie procesy z komunikatora comm podanego w funkcji MPI_File_open): MPI_File_read_shared i MPI_File_write_shared oraz ich odpowiedniki grupowe MPI_File_read_ordered i MPI_File_write_ordered. Inne funkcje. 39/??
11 Funkcja MPI_File_Open Funkcja MPI_File_delete Do otwarcia pliku służy funkcja MPI_File_Open: int MPI_File_open(MPI_Comm comm, char *filename, int amode, MPI_Info info, MPI_File *fh) comm - intra-komunikator - wszystkie procesy wchodzace w skład tego komunikatora będa miały dostęp do pliku, filename - nazwa otwieranego pliku, amode - tryb dostępu do pliku (MPI_MODE_RDONLY - tylko do odczytu, MPI_MODE_RDWR - do odczytu i zapisu, MPI_MODE_WRONLY - tylko do zapisu, MPI_MODE_CREATE - tworzy plik jeżeli nie istnieje, MPI_MODE_EXCL - bład, jeżeli plik już istnieje, MPI_MODE_DELETE_ON_CLOSE - usunięcie pliku przy zamknięciu, MPI_MODE_SEQUENTIAL - dostęp do pliku może być tylko sekwencyjny, MPI_MODE_APPEND - wszystkie wskażniki do pliku sa ustawiane na koniec pliku), info - obiekt info, fh - uchwyt do pliku, Do usunięcia pliku służy funkcja MPI_File_Delete: int MPI_File_delete(char *filename, MPI_Info info) filename - nazwa usuwanego pliku, info - obiekt info, Jeżeli plik nie istnie zgłaszany jest bład (MPI_ERR_NO_SUCH_FILE). 41/?? Funkcja MPI_File_write_at Funkcja MPI_File_read_at int MPI_File_write_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) fh - uchwyt do pliku, do którego będa zapisywane dane, offset - przesunięcie względem poczatku pliku określajace, od którego miejsca będa zapisywane dane, buf - bufor z którego będa pobierane dane do zapisu, count - liczba zapisywanych elementów, datatype - typ zapisywanych elementów, status - obiekt statusu. int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) fh - uchwyt do pliku, z którego będa odczytywane dane, offset - przesunięcie względem poczatku pliku określajace, od którego miejsca będa odczytywane dane, buf - bufor, do którego będa zapisywane dane odczytane z pliku, count - liczba odczytywanych elementów, datatype - typ odczytywanych elementów, status - obiekt statusu. 43/??
Programowanie aplikacji równoległych i rozproszonych. Wykład 8
Wykład 8 p. 1/?? Programowanie aplikacji równoległych i rozproszonych Wykład 8 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Plan wykładu
Bardziej szczegółowoRozszerzenia MPI-2 1
Rozszerzenia MPI-2 1 2 Dynamiczne tworzenie procesów Aplikacja MPI 1 jest statyczna z natury Liczba procesów określana jest przy starcie aplikacji i się nie zmienia. Gwarantuje to szybką komunikację procesów.
Bardziej szczegółowoProgramowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1
Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 MPI dynamiczne zarządzanie procesami MPI 2 umożliwia dynamiczne zarządzanie procesami, choć
Bardziej szczegółowoHistoria zmian w aplikacji. Rejestr Podmiotów Wykonujących Działalność Leczniczą
Historia zmian w aplikacji Rejestr Podmiotów Wykonujących Działalność Leczniczą Data aktualizacji: 2016-04-11 Aktualny nr wersji: 2.1.8 (dokument prowadzony jest od wersji 2.1.3) Spis treści Rejestr Podmiotów
Bardziej szczegółowoProgramowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1
Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 Środowisko przesyłania komunikatów MPI Rodzaje procedur: blokujące nieblokujące Tryby przesyłania
Bardziej szczegółowoDziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.
Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania
Bardziej szczegółowoModuł Pulpit opcji oraz Narzędzia. Opis v 1.0
Moduł Pulpit opcji oraz Narzędzia. Opis v 1.0 Syriusz sp. z o.o. Rzeszów 2013 MODUŁ PULPIT OPCJI ORAZ NARZĘDZIA [1.0] OPIS str. 2 Spis treści Spis treści...2 Zmiany...3 1. Informacje ogólne...4 2. Praca
Bardziej szczegółowoKomunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET
PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników SIMATIC S7 300/S7 400, w celu stworzenia komunikacji między dwoma stacjami S7 300 za pomocą sieci Industrial Ethernet, protokołu
Bardziej szczegółowoProgramowanie w modelu przesyłania komunikatów specyfikacja MPI. Krzysztof Banaś Obliczenia równoległe 1
Programowanie w modelu przesyłania komunikatów specyfikacja MPI Krzysztof Banaś Obliczenia równoległe 1 Środowisko przesyłania komunikatów MPI Rodzaje procedur: blokujące nieblokujące Tryby przesyłania
Bardziej szczegółowoKonfiguracja historii plików
Wielu producentów oprogramowania oferuje zaawansowane rozwiązania do wykonywania kopii zapasowych plików użytkownika czy to na dyskach lokalnych czy w chmurze. Warto jednak zastanowić się czy instalacja
Bardziej szczegółowoMicrosoft Management Console
Microsoft Management Console Konsola zarządzania jest narzędziem pozwalającym w prosty sposób konfigurować i kontrolować pracę praktycznie wszystkich mechanizmów i usług dostępnych w sieci Microsoft. Co
Bardziej szczegółowoŁagodne wprowadzenie do Message Passing Interface (MPI)
Łagodne wprowadzenie do Message Passing Interface (MPI) Szymon Łukasik Zakład Automatyki PK szymonl@pk.edu.pl Szymon Łukasik, 8 listopada 2006 Łagodne wprowadzenie do MPI - p. 1/48 Czym jest MPI? Własności
Bardziej szczegółowoTematyka i rozwiązania metodyczne kolejnych zajęć lekcyjnych wraz z ćwiczeniami.
Tematyka i rozwiązania metodyczne kolejnych zajęć lekcyjnych wraz z ćwiczeniami. Zagadnienie tematyczne (blok tematyczny): Bazy danych (Podr.cz. II, str.109-138) Podstawa programowa: Rozwiązywanie problemów
Bardziej szczegółowoDEMERO Automation Systems
Programowanie wektorowych przetwornic częstotliwości serii POSIDRIVE FDS5000 / MDS5000 i serwonapędów POSIDRIVE MDS5000 / POSIDYN SDS5000 firmy Stober Antriebstechnik Konfiguracja parametrów w programie
Bardziej szczegółowoProgramowanie Równoległe Wykład 4. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej
Programowanie Równoległe Wykład 4 MPI - Message Passing Interface Maciej Matyka Instytut Fizyki Teoretycznej Jak używać w MPI? Donald Knuth: We should forget about small efficiencies, say about 97% of
Bardziej szczegółowoKonfiguracja programu RMS do współpracy z wagami DIBAL. Programowanie artykułów 3
Konfiguracja programu RMS do współpracy z wagami DIBAL Programowanie artykułów 3 Progr. sklepów, rodzaju komunikacji, przypisanie towarów do działu 5 Programowanie typu wagi, jej numeru i adresu IP 6 Programowanie
Bardziej szczegółowoZarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska
Zarządzanie projektami wykład 1 dr inż. Agata Klaus-Rosińska 1 DEFINICJA PROJEKTU Zbiór działań podejmowanych dla zrealizowania określonego celu i uzyskania konkretnego, wymiernego rezultatu produkt projektu
Bardziej szczegółowoProgramowanie Równoległe Wykład 5. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej
Programowanie Równoległe Wykład 5 MPI - Message Passing Interface Maciej Matyka Instytut Fizyki Teoretycznej Dorobiliśmy się strony WWW www.ift.uni.wroc.pl/~koma/pr/index.html MPI, wykład 2. Plan: - komunikacja
Bardziej szczegółowoĆwiczenie nr 2 Zbiory rozmyte logika rozmyta Rozmywanie, wnioskowanie, baza reguł, wyostrzanie
Ćwiczenie nr 2 Zbiory rozmyte logika rozmyta Rozmywanie, wnioskowanie, baza reguł, wyostrzanie 1. Wprowadzenie W wielu zagadnieniach dotyczących sterowania procesami technologicznymi niezbędne jest wyznaczenie
Bardziej szczegółowoCharakterystyka systemów plików
Charakterystyka systemów plików Systemy plików są rozwijane wraz z systemami operacyjnymi. Windows wspiera systemy FAT oraz system NTFS. Różnią się one sposobem przechowywania informacji o plikach, ale
Bardziej szczegółowoJTW SP. Z OO. Zapytanie ofertowe. Zakup i dostosowanie licencji systemu B2B część 1
JTW SP. Z OO Zapytanie ofertowe Zakup i dostosowanie licencji systemu B2B część 1 Strona 1 z 8 Spis treści 1. Wskazówki dla oferentów... 3 1.1 Osoby kontaktowe... 3 2.2 Termin składania ofert... 4 2.3
Bardziej szczegółowoInsERT GT Własne COM 1.0
InsERT GT Własne COM 1.0 Autor: Jarosław Kolasa, InsERT Wstęp... 2 Dołączanie zestawień własnych do systemu InsERT GT... 2 Sposób współpracy rozszerzeń z systemem InsERT GT... 2 Rozszerzenia standardowe
Bardziej szczegółowoSystemy mikroprocesorowe - projekt
Politechnika Wrocławska Systemy mikroprocesorowe - projekt Modbus master (Linux, Qt) Prowadzący: dr inż. Marek Wnuk Opracował: Artur Papuda Elektronika, ARR IV rok 1. Wstępne założenia projektu Moje zadanie
Bardziej szczegółowoInstrukcja Obsługi STRONA PODMIOTOWA BIP
Instrukcja Obsługi STRONA PODMIOTOWA BIP Elementy strony podmiotowej BIP: Strona podmiotowa Biuletynu Informacji Publicznej podzielona jest na trzy części: Nagłówek strony głównej Stopka strony podmiotowej
Bardziej szczegółowoPROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec
PROE wykład 7 kontenery tablicowe, listy dr inż. Jacek Naruniec Prosty kontener oparty na tablicach Funkcja dodawanie pojedynczego słonia do kontenera: 1 2 3 4 5 6 7 11 12 13 14 15 16 17 21 22 23 24 25
Bardziej szczegółowoArchitektura Systemów Komputerowych. Sterowanie programem skoki Przerwania
Architektura Systemów Komputerowych Sterowanie programem skoki Przerwania 1 Sterowanie programem - skoki Kolejność wykonywania instrukcji programu jest zazwyczaj zgodna z kolejnością ich umiejscowienia
Bardziej szczegółowoOpis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej
Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej 3.1 Informacje ogólne Program WAAK 1.0 służy do wizualizacji algorytmów arytmetyki komputerowej. Oczywiście istnieje wiele narzędzi
Bardziej szczegółowoBazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego
Bardziej szczegółowoJak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.
Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach. 1 PROJEKTY KOSZTOWE 2 PROJEKTY PRZYCHODOWE 3 PODZIAŁ PROJEKTÓW ZE WZGLĘDU
Bardziej szczegółowo3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S KONTAKTY
\ 3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S KONTAKTY SPIS TREŚCI 1. LOGOWANIE DO APLIKACJI... 3 2. WYGLĄD OKNA... 4 4. MOJE KONTAKTY... 5 4.1. KONTKATY PUBLICZNE... 6 4.1.1. EDYCJA KONTAKTU...
Bardziej szczegółowoProgramowanie Równoległe Wykład 6. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej
Programowanie Równoległe Wykład 6 MPI - Message Passing Interface Maciej Matyka Instytut Fizyki Teoretycznej Dorobiliśmy się strony WWW Za tydzień 1. wykład z CUDY (Z. Koza) www.ift.uni.wroc.pl/~koma/pr/index.html
Bardziej szczegółowoSystem Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy
Instrukcja obsługi programu 2.11. Przygotowanie programu do pracy - ECP Architektura inter/intranetowa System Informatyczny CELAB Przygotowanie programu do pracy - Ewidencja Czasu Pracy Spis treści 1.
Bardziej szczegółowoTryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla
Tryby komunikacji między procesami w standardzie Message Passing Interface Piotr Stasiak 171011 Krzysztof Materla 171065 Wstęp MPI to standard przesyłania wiadomości (komunikatów) pomiędzy procesami programów
Bardziej szczegółowoKontrola wytwarzania energii w systemach PV
Kontrola wytwarzania energii w systemach PV Piotr Knyps Projekt realizowany przez Politechnikę Warszawską, dofinansowany ze środków Narodowego Funduszu Ochrony Środowiska i Gospodarki Wodnej Plan prezentacji
Bardziej szczegółowo2) Drugim Roku Programu rozumie się przez to okres od 1 stycznia 2017 roku do 31 grudnia 2017 roku.
REGULAMIN PROGRAMU OPCJI MENEDŻERSKICH W SPÓŁCE POD FIRMĄ 4FUN MEDIA SPÓŁKA AKCYJNA Z SIEDZIBĄ W WARSZAWIE W LATACH 2016-2018 1. Ilekroć w niniejszym Regulaminie mowa o: 1) Akcjach rozumie się przez to
Bardziej szczegółowoAdres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: www.wup.pl
1 z 6 2015-06-09 10:55 Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: www.wup.pl Szczecin: Usługa szkolenia specjalistycznego pn. Obsługa trudnego
Bardziej szczegółowoHarmonogramowanie projektów Zarządzanie czasem
Harmonogramowanie projektów Zarządzanie czasem Zarządzanie czasem TOMASZ ŁUKASZEWSKI INSTYTUT INFORMATYKI W ZARZĄDZANIU Zarządzanie czasem w projekcie /49 Czas w zarządzaniu projektami 1. Pojęcie zarządzania
Bardziej szczegółowoKancelaris - Zmiany w wersji 2.50
1. Listy Kancelaris - Zmiany w wersji 2.50 Zmieniono funkcję Dostosuj listę umożliwiając: o Zapamiętanie wielu widoków dla danej listy o Współdzielenie widoków między pracownikami Przykład: Kancelaria
Bardziej szczegółowoIntegracja systemów, integracja procesów
Nowe rozwiązania informatyczne w zmieniającej się rzeczywistości akademickiej Integracja systemów, integracja procesów... Janina Mincer-Daszkiewicz Uniwersytet Warszawski, MUCI jmd@mimuw.edu.pl Warszawa,
Bardziej szczegółowoWarszawa, dnia 1 października 2013 r. Poz. 783 UCHWAŁA ZARZĄDU NARODOWEGO BANKU POLSKIEGO. z dnia 24 września 2013 r.
MONITOR POLSKI DZIENNIK URZĘDOWY RZECZYPOSPOLITEJ POLSKIEJ Warszawa, dnia 1 października 2013 r. Poz. 783 UCHWAŁA ZARZĄDU NARODOWEGO BANKU POLSKIEGO z dnia 24 września 2013 r. w sprawie regulaminu Zarządu
Bardziej szczegółowoPraca na wielu bazach
Praca na wielu bazach Częśd I Soneta Sp z o.o. ul. Wadowicka 8a, wejście B 31-415 Kraków tel./fax +48 (12) 261 36 41 http://www.enova.pl e-mail: ksiegowosc@enova.pl 1 Zawartość: 1 Konfiguracja bazy Master
Bardziej szczegółowoRozliczenia z NFZ. Ogólne założenia. Spis treści
Rozliczenia z NFZ Spis treści 1 Ogólne założenia 2 Generacja raportu statystycznego 3 Wczytywanie raportu zwrotnego 4 Szablony rachunków 4.1 Wczytanie szablonów 4.2 Wygenerowanie dokumentów rozliczenia
Bardziej szczegółowoArchitektura typu klient - serwer. Oprogramowanie systemów równoległych i rozproszonych. Wykład 6. Cechy architektury klient - serwer
Architektura typu klient - serwer Oprogramowanie systemów równoległych i rozproszonych Wykład 6 Klient - Serwer to asymetryczna architektura, w której pewna funkcjonalność została rozdzielona i wyodbrębnione
Bardziej szczegółowoAdres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: www.wup.pl/index.php?
1 z 6 2013-10-03 14:58 Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: www.wup.pl/index.php?id=221 Szczecin: Usługa zorganizowania szkolenia specjalistycznego
Bardziej szczegółowoSieci komputerowe cel
Sieci komputerowe cel współuŝytkowanie programów i plików; współuŝytkowanie innych zasobów: drukarek, ploterów, pamięci masowych, itd. współuŝytkowanie baz danych; ograniczenie wydatków na zakup stacji
Bardziej szczegółowoOperacje grupowego przesyłania komunikatów. Krzysztof Banaś Obliczenia równoległe 1
Operacje grupowego przesyłania komunikatów Krzysztof Banaś Obliczenia równoległe 1 Operacje grupowego przesyłania komunikatów Operacje, w ramach których ten sam komunikat lub zbiór komunikatów przesyłany
Bardziej szczegółowoProgramowanie Podstawowe Informacje
Programowanie Podstawowe Informacje www.lsis.biz Tworzenie nowego projektu Podstawy oprogramowania XG5000 Tworzenie nowego projektu 1) Uruchom XG5000 2) Wybierz New Project z menu Project Constructing
Bardziej szczegółowoPolitechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, 00-662 Warszawa
Zamawiający: Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej 00-662 Warszawa, ul. Koszykowa 75 Przedmiot zamówienia: Produkcja Interaktywnej gry matematycznej Nr postępowania: WMiNI-39/44/AM/13
Bardziej szczegółowoSystem kontroli wersji SVN
System kontroli wersji SVN Co to jest system kontroli wersji Wszędzie tam, gdzie nad jednym projektem pracuje wiele osób, zastosowanie znajduje system kontroli wersji. System, zainstalowany na serwerze,
Bardziej szczegółowoUniwersytet Warszawski Teoria gier dr Olga Kiuila LEKCJA 5
Ad przykład: Stonoga LEKCJA 5 SPNE: każdy gracz zaakceptuje propozycje przyjęcia dowolnej sumy w każdym okresie (czyli każdy gracz wierze, że rywal skończy grę w następnym kroku) Interpretacja gry Stonoga:
Bardziej szczegółowoPERSON Kraków 2002.11.27
PERSON Kraków 2002.11.27 SPIS TREŚCI 1 INSTALACJA...2 2 PRACA Z PROGRAMEM...3 3. ZAKOŃCZENIE PRACY...4 1 1 Instalacja Aplikacja Person pracuje w połączeniu z czytnikiem personalizacyjnym Mifare firmy ASEC
Bardziej szczegółowoFunkcje składowe (metody)
Funkcje składowe (metody) class Punkt int x, y; void Rysuj() /* rysowanie */ ; class Punkt int x, y; void Rysuj(); ; void Punkt::Rysuj() /* rysowanie */ definicja funkcji wewnątrz ciała klasy funkcja otwarta
Bardziej szczegółowoModele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak dla PR PP
Modele programowania równoległego Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak dla PR PP MPP - Cechy charakterystyczne 1 Prywatna, wyłączna przestrzeń adresowa.
Bardziej szczegółowoWarunki Oferty PrOmOcyjnej usługi z ulgą
Warunki Oferty PrOmOcyjnej usługi z ulgą 1. 1. Opis Oferty 1.1. Oferta Usługi z ulgą (dalej Oferta ), dostępna będzie w okresie od 16.12.2015 r. do odwołania, jednak nie dłużej niż do dnia 31.03.2016 r.
Bardziej szczegółowoREGULAMIN KOMISJI ETYKI BANKOWEJ
REGULAMIN KOMISJI ETYKI BANKOWEJ Warszawa kwiecień 2013 Przyjęty na XXV Walnym Zgromadzeniu ZBP w dniu 18 kwietnia 2013 r. 1. Komisja Etyki Bankowej, zwana dalej Komisją, działa przy Związku Banków Polskich
Bardziej szczegółowoWYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania
WYKŁAD 8 Reprezentacja obrazu Elementy edycji (tworzenia) obrazu Postacie obrazów na różnych etapach procesu przetwarzania Klasy obrazów Klasa 1: Obrazy o pełnej skali stopni jasności, typowe parametry:
Bardziej szczegółowo1. Korzyści z zakupu nowej wersji... 2. 2. Poprawiono... 2. 3. Zmiany w słowniku Stawki VAT... 2. 4. Zmiana stawki VAT w kartotece Towary...
Forte Handel 1 / 8 Nowe funkcje w module Forte Handel w wersji 2011a Spis treści: 1. Korzyści z zakupu nowej wersji... 2 2. Poprawiono... 2 Nowe funkcje w module Forte Handel w wersji 2011 Spis treści:
Bardziej szczegółowoWYRAŻENIA REGULARNE I JĘZYK AWK
J.NAWROCKI, M. ANTCZAK, W. FROHMBERG, K. KOLANOWSKI, J. POCHMARA, S. WĄSIK, T. ŻOK WYRAŻENIA REGULARNE I JĘZYK AWK ŚRODOWISKO URUCHOMIENIOWE 1. Pobrać plik SimpleAWKforWindows.zip (AWK95) (http://www.cs.put.poznan.pl/mantczak/teaching/itc/simpleawkforwindows.zip).
Bardziej szczegółowoarchitektura komputerów w. 6 Pamięć I
architektura komputerów w. 6 Pamięć I Pamięć -własności Pojemność rozmiar słowa liczba słów jednostka adresowalna jednostka transferu typ dostępu skojarzeniowy swobodny bezpośredni sekwencyjny wydajność
Bardziej szczegółowoStrategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).
Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania). W momencie gdy jesteś studentem lub świeżym absolwentem to znajdujesz się w dobrym momencie, aby rozpocząć planowanie swojej ścieżki
Bardziej szczegółowoKurier POCZTEX XL by CTI. Instrukcja
Kurier POCZTEX XL by CTI Instrukcja Spis treści 1. Opis programu... 2 2. Dane w Comarch ERP XL... 2 2.1. Atrybuty... 2 2.2. Zamówienie zakupu... 4 3. Konfiguracja... 5 3.1. Nawiązanie połączenia z serwerem
Bardziej szczegółowoOPIS PRZEDMIOTU ZAMÓWIENIA
Załącznik nr 1 OPIS PRZEDMIOTU ZAMÓWIENIA I. Informacje ogólne Przedmiotem postępowania jest wdrożenie platformy komunikacyjnej poprzez zapewnienie możliwości dwukierunkowej wymiany danych dotyczących
Bardziej szczegółowoProgramowanie Zespołowe
Programowanie Zespołowe Systemy kontroli wersji dr Rafał Skinderowicz mgr inż. Michał Maliszewski Systemy kontroli wersji Śledzenie zmian, np.: w kodzie źródłowym Łączenie zmian dokonanych w plikach Ułatwienie
Bardziej szczegółowoInstrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych
Załącznik nr 1 do Zarządzenia Nr 1/2013 Dyrektora Zespołu Obsługi Szkół i Przedszkoli w Muszynie z dnia 30 grudnia 2013 r. Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych
Bardziej szczegółowoV. Wymagania dla wsparcia projektu oraz nadzoru eksploatacyjnego... 6
ZAŁĄCZNIK NR 5 Postępowania nr EU/12/ZI/ZZ/2011o udzielenie zamówienia w trybie przetargu nieograniczonego na: Opracowanie, wykonanie i wdrożenie SYSTEMU BOOKINGÓW DLA LINII ŻEGLUGOWYCH SPECYFIKACJA TECHNICZNA
Bardziej szczegółowoAPI transakcyjne BitMarket.pl
API transakcyjne BitMarket.pl Wersja 20140314 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Odpowiedzi serwera... 3 1.5. Przykładowy
Bardziej szczegółowoPRZETWORNIK NAPIĘCIE - CZĘSTOTLIWOŚĆ W UKŁADZIE ILORAZOWYM
PRZETWORNIK NAPIĘCIE - CZĘSTOTLIWOŚĆ W UKŁADZIE ILORAZOWYM dr inż. Eligiusz Pawłowski Politechnika Lubelska, Wydział Elektryczny, ul. Nadbystrzycka 38 A, 20-618 LUBLIN E-mail: elekp@elektron.pol.lublin.pl
Bardziej szczegółowoenova Workflow Obieg faktury kosztowej
enova Workflow Obieg faktury kosztowej Spis treści 1. Wykorzystanie procesu... 3 1.1 Wprowadzenie dokumentu... 3 1.2 Weryfikacja merytoryczna dokumentu... 5 1.3 Przydzielenie zadań wybranym operatorom...
Bardziej szczegółowoInstrukcja postępowania w celu podłączenia do PLI CBD z uwzględnieniem modernizacji systemu w ramach projektu PLI CBD2
Urząd Komunikacji Projekt PLI Elektronicznej CBD2 Faza projektu: E-3 Rodzaj dokumentu: Instrukcje Odpowiedzialny: Paweł Sendek Wersja nr: 1 z dnia 31.03.2015 Obszar projektu: Organizacyjny Status dokumentu:
Bardziej szczegółowoStanowisko Rzecznika Finansowego i Prezesa Urzędu Ochrony Konkurencji i Konsumentów w sprawie interpretacji art. 49 ustawy o kredycie konsumenckim
Prezes Urzędu Ochrony Konkurencji i Konsumentów Warszawa, 16 maja 2016 r. Stanowisko Rzecznika Finansowego i Prezesa Urzędu Ochrony Konkurencji i Konsumentów w sprawie interpretacji art. 49 ustawy o kredycie
Bardziej szczegółowoZałącznik nr 8. Warunki i obsługa gwarancyjna
Załącznik nr 8 Warunki i obsługa gwarancyjna 1. Definicje. Dla potrzeb określenia zakresów Usług gwarancyjnych, przyjmuje się że określenia podane poniżej, będą miały następujące znaczenie: Usterka Zdarzenie,
Bardziej szczegółowoJ. Ułasiewicz Programowanie aplikacji współbieżnych 1
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 9. Komunikacja przez pamięć dzieloną Metoda komunikacji przez wspólną pamięć może być użyta gdy procesy wykonywane są na maszynie jednoprocesorowej
Bardziej szczegółowoWyniki badań dla trasy kolejowej Warszawa - Poznań.
Załącznik nr 4. Wyniki badań dla trasy kolejowej Warszawa - Poznań. 1. Połączenia Głosowe Mapa obrazująca poziom sygnału pilota (RSCP w dbm) dla UMTS - operator Polska Telefonia Cyfrowa Sp. z o.o. ERA.
Bardziej szczegółowoVinCent Office. Moduł Drukarki Fiskalnej
VinCent Office Moduł Drukarki Fiskalnej Wystawienie paragonu. Dla paragonów definiujemy nowy dokument sprzedaży. Ustawiamy dla niego parametry jak podano na poniższym rysunku. W opcjach mamy możliwość
Bardziej szczegółowoType ETO2 Controller for ice and snow melting
Type ETO2 Controller for ice and snow melting 57652 06/08 (BJ) English page 2 Deutsch page 14 page 26 Russian page 38 SPIS TREŚCI Wyjaśnienie pojęć.................... Strona 26 Wprowadzenie.....................
Bardziej szczegółowoAdres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: www.gddkia.gov.pl
1 z 6 2012-03-08 14:33 Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: www.gddkia.gov.pl Rzeszów: Wynajem i obsługa przenośnych toalet przy drogach
Bardziej szczegółowoInstrukcja obsługi platformy zakupowej e-osaa (klient podstawowy)
Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy) 1. Wejście na stronę http://www.officemedia.com.pl strona główną Office Media 2. Logowanie do zakupowej części serwisu. Login i hasło należy
Bardziej szczegółowoSpis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA
Wersja 5.1.9 Spis treści Rozdział 1 1.1 1.1.1 1.1.2 1.2 1.3 1.4 1.5 I Konfiguracja... 1-1 OID świadczeniodawcy... 1-2 Dodanie... instytucji zewnętrznej 1-4 Dodanie... zlecenia 1-11 Pobranie... materiału
Bardziej szczegółowoModele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak
Modele programowania równoległego Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak MPP - Cechy charakterystyczne 1 Prywatna - wyłączna przestrzeń adresowa. Równoległość
Bardziej szczegółowoKopia zapasowa i odzyskiwanie Podręcznik użytkownika
Kopia zapasowa i odzyskiwanie Podręcznik użytkownika Copyright 2009 Hewlett-Packard Development Company, L.P. Windows jest zastrzeżonym znakiem towarowym firmy Microsoft Corporation, zarejestrowanym w
Bardziej szczegółowoPOLITYKA GWARANCJI GRUPY TELE-FONIKA KABLE. 1. Definicje
POLITYKA GWARANCJI GRUPY TELE-FONIKA KABLE 1. Definicje Producent Dostawca jedna z fabryk należących do grupy TELE-FONIKA KABLE TELE-FONIKA KABLE lub jedna ze spółek zależnych należąca do grupy TELE-FONIKA
Bardziej szczegółowoAkademickie Centrum Informatyki PS. Wydział Informatyki PS
Akademickie Centrum Informatyki PS Wydział Informatyki PS Wydział Informatyki Sieci komputerowe i Telekomunikacyjne ROUTING Krzysztof Bogusławski tel. 4 333 950 kbogu@man.szczecin.pl 1. Wstęp 2. Tablica
Bardziej szczegółowoPROGRAMATOR "WinProg-1" Instrukcja obsługi
PROGRAMATOR "WinProg-1" Instrukcja obsługi 1 55-075 Kobierzyce, Poland 1. Wstęp. Programator "WinProg-1" służy do programowania 8-bitowych mikrokontrolerów Winbond z serii W78... i W77... (z wyjątkiem
Bardziej szczegółowoPodstawa prawna: Ustawa z dnia 15 lutego 1992 r. o podatku dochodowym od osób prawnych (t. j. Dz. U. z 2000r. Nr 54, poz. 654 ze zm.
Rozliczenie podatników podatku dochodowego od osób prawnych uzyskujących przychody ze źródeł, z których dochód jest wolny od podatku oraz z innych źródeł Podstawa prawna: Ustawa z dnia 15 lutego 1992 r.
Bardziej szczegółowoStowarzyszenie Lokalna Grupa Działania EUROGALICJA Regulamin Rady
Stowarzyszenie Lokalna Grupa Działania EUROGALICJA Regulamin Rady Rozdział I Postanowienia ogólne 1 1. Rada Stowarzyszenia Lokalna Grupa Działania Eurogalicja, zwana dalej Radą, działa na podstawie: Ustawy
Bardziej szczegółowoWykład 4 Wybrane zagadnienia programowania w C++
Wykład 4 Wybrane zagadnienia programowania w C++ Przykład programu obiektowego Dziedziczenie polimorfizm i metody wirtualne Wzorce (szablony) funkcji Wzorce klas 2016-01-03 Bazy danych-1 W4 1 Dziedziczenie
Bardziej szczegółowoJĘZYK ROSYJSKI POZIOM ROZSZERZONY
EGZAMIN MATURALNY W ROKU SZKOLNYM 2013/2014 JĘZYK ROSYJSKI POZIOM ROZSZERZONY ROZWIĄZANIA ZAAŃ I SCHEMAT PUNKTOWANIA MAJ 2014 ZAANIA OTWARTE Zadanie 1. Przetwarzanie tekstu (0,5 pkt) 1.1. туристов 1.2.
Bardziej szczegółowoPROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO
Załącznik nr 4 do Zarządzenia Nr 103/2012 Burmistrza Miasta i Gminy Skawina z dnia 19 czerwca 2012 r. PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO MÓDL SIĘ TAK, JAKBY WSZYSTKO ZALEśAŁO OD
Bardziej szczegółowoChmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin 2015-10-16
Chmura obliczeniowa do przechowywania plików online Anna Walkowiak CEN Koszalin 2015-10-16 1 Chmura, czyli co? Chmura obliczeniowa (cloud computing) to usługa przechowywania i wykorzystywania danych, do
Bardziej szczegółowoWarszawska Giełda Towarowa S.A.
KONTRAKT FUTURES Poprzez kontrakt futures rozumiemy umowę zawartą pomiędzy dwoma stronami transakcji. Jedna z nich zobowiązuje się do kupna, a przeciwna do sprzedaży, w ściśle określonym terminie w przyszłości
Bardziej szczegółowoZESPÓŁ LABORATORIÓW TELEMATYKI TRANSPORTU ZAKŁAD TELEKOMUNIKACJI W TRANSPORCIE
ZESPÓŁ LABORATORIÓW TELEMATYKI TRANSPORTU ZAKŁAD TELEKOMUNIKACJI W TRANSPORCIE WYDZIAŁ TRANSPORTU POLITECHNIKI WARSZAWSKIEJ INSTRUKCJA DO ĆWICZENIA NR 2 Zarządzanie połączeniami międzysieciowymi DO UŻYTKU
Bardziej szczegółowoAneks nr 8 z dnia 24.07.2013 r. do Regulaminu Świadczenia Krajowych Usług Przewozu Drogowego Przesyłek Towarowych przez Raben Polska sp. z o.o.
Aneks nr 8 z dnia 24.07.2013 r. do Regulaminu Świadczenia Krajowych Usług Przewozu Drogowego Przesyłek Towarowych przez Raben Polska sp. z o.o. 1 Z dniem 24 lipca 2013 r. wprowadza się w Regulaminie Świadczenia
Bardziej szczegółowoSterownik nagrzewnicy elektrycznej HE
Sterownik nagrzewnicy elektrycznej HE I. DANE TECHNICZNE Opis działania. Opis elementów sterujących i kontrolnych... 3 Budowa...3 4 Dane znamionowe nagrzewnicy elektrycznej...3 5 Dane znamionowe.3 6 Lista
Bardziej szczegółowoTMW HC912 PROGRAMATOR MIKROKONTROLERÓW MOTOROLA HC912
TMW HC912 PROGRAMATOR MIKROKONTROLERÓW MOTOROLA HC912 RYDUŁTOWY 2006 1. Wstęp Oferowany programator TMW HC912 to urządzenie umożliwiające programowanie i odczyt pamięci Flash/EEPROM mikrokontrolerów Motorola
Bardziej szczegółowoPlan naprawczy. Sokółka 2006/2007. Opracowanie: Urszula Bronowicz Henryka Sarosiek ElŜbieta Plichta Katarzyna Dykiel Tomasz Mucuś
Plan naprawczy przyjęty do realizacji w klasach VI-tych po wykonaniu analizy wyników próbnego sprawdzianu Na grzyby przeprowadzonego 10 października 2006 roku Opracowanie: Urszula Bronowicz Henryka Sarosiek
Bardziej szczegółowoInstrukcja do Arkusza kosztorysowania sieci klasy NGA na obszarach wymagających wsparcia publicznego.
Załącznik 3 do poradnika dotyczącego planowania i projektowania sieci klasy NGA Instrukcja do Arkusza kosztorysowania sieci klasy NGA na obszarach wymagających wsparcia publicznego. Wersja 1.0 Projekt:
Bardziej szczegółowoKontrola na zakończenie realizacji projektu. Trwałość projektu
UNIA EUROPEJSKA Program Operacyjny Infrastruktura i Środowisko Kontrola na zakończenie realizacji projektu. Trwałość projektu Agnieszka Tomaszewska Ewa Sikora 21-23.10.2013r. Elbląg Kontrola na zakończenie
Bardziej szczegółowoŚrodowiskowe Laboratorium Ciężkich Jonów Uniwersytet Warszawski
Środowiskowe Laboratorium Ciężkich Jonów Uniwersytet Warszawski, tel: +(48 22) 8222123, fax: +(48 22) 6592714 e-mail: slcj@slcj.uw.edu.pl http://www.slcj.uw.edu.pl Warszawa,24.02.2016 r. OGŁOSZENIE O WSZCZĘCIU
Bardziej szczegółowo3. 4. Szkoła zapewnia warunki do realizacji projektów w ramach posiadanych przez siebie środków.
Regulamin realizowania projektów edukacyjnych w Gimnazjum nr 51 przy SOSW nr 8 dla Dzieci Słabowidzących im. dr Zofii Galewskiej w Warszawie roku szkolnym 2010/2011 Projekt edukacyjny jest zespołowym,
Bardziej szczegółowo