Jacek Naruniec. lato 2014, Politechnika Warszawska, Wydział Elektroniki i Technik Informacyjnych
|
|
- Maria Mucha
- 8 lat temu
- Przeglądów:
Transkrypt
1 lato 2014,, Wydział Elektroniki i Technik Informacyjnych
2 Wykład (poniedziałek 10:15) dr inż. Jacek Naruniec, dr inż. Maciej Sypniewski Laboratoria (3-godzinne) w 08 Środy 12:15 Projekt Punktacja: Laboratorium (L) Projekt (P) Egzamin (E) Suma = (L + P + E)*0.8 5*10 punktów - 25 punktów - 50 punktów 2
3 Zaliczenie po przekroczeniu progu 50 p. i min. 25 punktów za egzamin, dalsze progi standardowe Laboratorium można oddać maksymalnie tydzień po terminie bez utraty punktów (o ile jest to możliwe ze względów sprzętowych) Za każdy kolejny tydzień opóźnienia laboratorium 2 punkty straty Ostateczny termin oddania projektu do końca sesji 3
4 Wykład: Wprowadzenie do programowania współbieżnego: (4h) (JN) Technologie obliczeń równoległych: (4h) (MS) przegląd Podstawy projektowania algorytmów równoległych: (2h) (JN) Programowanie procesorów graficznych: (6h) (JN+MS) CUDA, OpenCl, C++AMP Proste przykłady realizacji obliczeń na platformach GPU: (2h) (MS) od rozwiązania prostego po zoptymalizowane Wprowadzenie do analizy danych multimedialnych: (2h) (JN) Wybrane algorytmy wspomagające analizę danych multimedialnych: (6h) (JN) Algorytm FDTD analizy elektromagnetycznej: (4h) (MS) 4
5 Laboratorium Szczegóły będą określone w czasie trwania semestru, ogólnie: Realizacja matematycznych algorytmów obliczeniowych 1 (MS). Realizacja matematycznych algorytmów obliczeniowych 2 (JN). Algorytmy filtracji obrazów - CPU (JN). Algorytmy filtracji obrazów - GPU (JN). Uproszczony algorytm FDTD GPU (MS) Co najmniej jedno laboratorium na NVIDIA Grid Co najmniej jedno laboratorium na obliczeniach w chmurze 5
6 Projekt "System analizy obrazu" "Gra interaktywna" Porównanie wydajności obliczeniowej algorytmów FDTD realizowanych w różnych technologiach GPU Projekty samodzielne, można zaproponować (a nawet wskazany jest) własny temat. 6
7 Literatura podstawowa: 1. Notatki wykładowe. 2. Dokumentacja technologii CUDA, OpenCL i C++AMP. Literatura dodatkowa: 1. W. Malina, M. Smiatacz: "Metody cyfrowego przetwarzania obrazów", EXIT, A. Grama: "Introduction to Parallell Computing", Pearson, R. Wyrzykowski: "Klastry komputerów PC i architektury wielordzeniowe: budowa i wykorzystanie", AOW Exit, R.O. Duda: "Pattern Classification (2nd Edition)", Wiley-Interscience, R.Gaster i inni: Heterogeneous Computing with OpenCL ] 7
8 1. Zapoznanie się z możliwościami najnowszych technologii przetwarzania równoległego. 2. Zdobycie doświadczenia w implementacji wielowątkowych aplikacji w najnowszych technologiach umożliwiających współbieżność. 8
9 [źródło: 9
10 Zadanie znajdź część wspólną tak, aby stworzyć obraz panoramiczny Wymagania podpikselowa dokładność (do ułamka piksela) [źródło: 10
11 Typowa droga postępowania: wykryj punkty charakterystyczne (np. narożniki, T punkty SIFT, SURF, itp.), określ charakterystykę każdego z punktów, znajdź przekształcenie jednego z obrazów, które da najlepsze dopasowanie jak największej liczby punktów. Jacek Naruniec 11
12 Znajdź przekształcenie (translację, rotację, skalowanie), które najlepiej wpasuje oba obrazy na siebie. [źródło: 12
13 Detekcja punktów szczególnych (SIFT) dla danych obrazów: ok. 27 sekund dla jednego procesora ok. 7 sekund dla czterech procesorów (3GHz) Obrazy były zmniejszone do wielkości ~1000x500 Oryginalne obrazy były wielkości ~3000x2000 Inne typowe wielkości takich obrazów to np x17000 pikseli, czyli ok. 500x większa powierzchnia niż 1000x500! 13
14 SLAM - Simultaneous localization and mapping automatyczne tworzenie map otoczenia przez robot wymaga szybkiego przetwarzania chmur punktów w celu lokalizacji jeszcze nieznanych terenów chmura może przykładowo zawierać punktów 14
15 Inne przykładowe problemy wymagające szybkich, równoległych obliczeń: przepowiadanie pogody, sztormów analiza danych finansowych wyszukiwanie informacji (data mining) kryptologia przetwarzanie danych radarowych modelowanie zjawisk fizycznych modelowanie urządzeń gry komputerowe W przetwarzaniu obrazów: trenowanie złożonych algorytmów klasyfikacyjnych filtracje obrazów operacje macierzowe/wektorowe (podstawowe, czy też transformaty) detekcja/śledzenie obiektów w czasie rzeczywistym programy graficzne 15
16 Przyspieszenie obliczeń możemy Z osiągnąć np. poprzez: optymalizację algorytmów zrównoleglenie zdań eliminowanie wąskich gardeł minimalizację dostępu IO minimalizację komunikacji między procesami 16
17 Zgodnie z prawem Moora (współzałożyciel Intela) liczba tranzystorów w układzie scalonym będzie podwajać się co 2 lata. W 2006 roku sam Moore stwierdził, że za 2 czy 3 lata prawo przestanie obowiązywać. Informacje producentów sprzętu (m.in. Intela) zaprzeczają temu i twierdzą, że trend będzie się utrzymywał. 17
18 [źródło: 18
19 [źródło: 19
20 Blue Gene (IBM) konstrukcje superkomputerów przetwarzających petabajty operacji / s stosowane, m.in. w symulacji wybuchów jądrowych (USA): testowanie nowych broni, symulowanie podziemnych wybuchów jądrowych. [ 20
21 Ranking superkomputerów ( Z Rmax maksymalna wydajność otrzymana dla biblioteki LINPACK Rpeak teoretyczna szczytowa wydajność Cores liczba rdzeni 21
22 Obliczenia w chmurze. Z udostępniane wirtualne środowisko pracy do wykonywania obliczeń płacimy za określoną liczbę wykorzystywanych maszyn w czasie nie mamy fizycznego kontaktu ze sprzętem skalowalność! Amazon EC2 Google Cloud Windows Azure 22
23 Pamięć podręczna (cache) Szybka pamięć zawierająca najczęściej używane instrukcje, dane oraz odwzorowania adresów wirtualnych na adresy fizyczne. Prowadzi do minimalizacji dostępu do powolnych pamięci. Szybsza od pamięci w której znajdują się pełne dane. Może być wielopoziomowa (L1, L2, L3) CPU 0x25? 0x33 Cache Adres wartość 0x25 0x33 0x28 0xff 0x01 0x00 RAM Adres wartość 0x00 0x02 0x01 0x00 0x02 0x00 0x03 0x82 0x04 0xcd 0x05 0xff 23
24 Pamięć wirtualna odwzorowuje ciągłe, wirtualne adresy na fizyczne adresy w pamięci umożliwia, m.in. wykorzystanie przestrzeni dyskowej jako pamięci programu Pamięć wirtualna Adres 0x00 RAM 0x01 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A Dysk twardy 0x0B 24
25 Pamięć dzielona (shared) pamięć, do której wspólny dostęp ma wiele wątków aplikacji, jeden wątek może rezerwować obszar pamięci, inne korzystają z tego samego wątka. należy pamiętać (w szczególności przy GPU), że nie zawsze tworząc oddzielne podzadania mamy dostęp do tych samych obszarów pamięci! Wątek 1 Pamięć dzielona Adres wartość Wątek 3 0x00 0x02 0x01 0x00 0x02 0x00 0x03 0x82 0x04 0xcd 0x05 0xff Wątek 2 Wątek 4 25
26 Architektury komputerów: Single Instruction Single Data stream (SISD) (pojedyncza instrukcja, pojedynczy strumień danych) Najprostsza architektura procesorów nie umożliwiająca prawdziwej równoległości procesów. Natura sekwencyjna. jednostka sterująca instrukcja procesor dane pamięć 26
27 Architektury komputerów: Multiple Instruction Single Data stream (MISD) (wiele instrukcji, pojedynczy strumień danych) Wiele operacji operujących na tych samych danych. W praktyce w większości niespotykane niepraktyczne ze względu na czasy dostępu do pamięci. instrukcja 1 procesor jednostka sterująca dane dane pamięć instrukcja 2 procesor 27
28 Architektury komputerów: Single Instruction Multiple Data stream (SIMD) (pojedyncze instrukcje, wiele strumieni danych) Wiele procesorów w ramach jednej instrukcji przetwarza wiele danych. Powszechnie stosowane, np. SSE, SEE2, AVX, w GPU. jednostka sterująca instrukcja procesor dane 1 dane 2 pamięć instrukcja procesor 28
29 Architektury komputerów: Multiple Instruction Multiple Data stream (MIMD) (wiele instrukcji, wiele strumieni danych) Wiele procesorów przetwarza wiele danych przy pomocy różnych instrukcji. Spotykane np. w popularnych PCtach wielordzeniowych. jednostka sterująca Instrukcja 1 procesor dane 1 dane 2 pamięć Instrukcja 2 procesor 29
30 Proces: Jest to program dla którego system przygotowuje oddzielny zestaw zasobów, w tym pamięć, licznik rozkazów. Rozpoczyna się wywołaniem głównego wątku procesu. Wątek: Proces może wywołać wątki, które dzielą ze sobą zasoby systemowe i pamięć wirtualną. Każdy wątek ma swój unikalny identyfikator. 30
31 Wielozadaniowość (multitasking) pozwala na wykonywanie wielu zadań jednocześnie. nie musi oznaczać przetwarzania równoległego! jeśli mamy więcej zadań niż procesorów, zwykle przyjmowana jest zasada timeslicing, czyli przydzielanie po krótkim okresie czasu procesora każdemu zadaniu na zmianę czasy powinny być na tyle małe, aby nawet na procesorze jednordzeniowym mieć wrażenie jednoczesnego wykonania wielu zadań. procesor do zadania przydziela planista (sheduler), zgodnie z priorytetami 31
32 Przykład (multitasking): Zadanie wyświetlania (W), złożona operacja Załóżmy jeden procesor i zadania W i L występujące zawsze po sobie (jeden proces) wolny komputer czas [ms] zadanie L(1) W(1) W(2) L(1) W(1) W(2) L(1) Zadanie kroku czasowego ligiki (L), szybka operacja szybki komputer czas [ms] zadanie L(1) W(1) W(2) L(1) W(1) W(2) L(1) W(1) W(2) L(1) 32
33 Przykład (multitasking): Zadanie wyświetlania (W), złożona operacja Załóżmy jeden procesor i zadania W i L występujące w oddzielnych wątkach wolny komputer czas [ms] zadanie L(1) W(1) L(1) W(2) L(1) W(1) L(1) Zadanie kroku czasowego ligiki (L), szybka operacja szybki komputer czas [ms] zadanie L(1) W(1) W(2) L(1) W(1) W(2) L(1) W(1) W(2) L(1) 33
34 Wieloprocesorowość (multiprocessing) pozwala na wykonywanie wielu zadań jednocześnie na osobnych procesorach. rzeczywiste przetwarzanie równoległe wymaga obecności więcej niż jednego procesora time-slicing w przypadku większej liczby zadań niż procesorów 34
35 Przykład (multiprocessing): Zadanie wyświetlania (W), złożona operacja Załóżmy dwa procesory i zadania W i L występujące w oddzielnych wątkach wolny komputer czas [ms] Procesor 1 L(1) L(1) L(1) L(1) Procesor 2 W(1) W(2) W(1) W(2) W(1) W(2) W(1) Zadanie kroku czasowego ligiki (L), szybka operacja szybki komputer czas [ms] Procesor 1 L(1) L(1) L(1) L(1) Procesor 2 W(1) W(2) W(1) W(2) W(1) W(2) W(1) W(2) W(1) W(2) W(1) W(2) W(1) W(2) 35
36 Ziarnistość zadań określa nam liczbę i wielkość przetwarzanych zadań: drobnoziarniste: duża liczba małych zadań Przykład: obrót obrazu o wysokości h, szerokości w, gdzie dla każdego piksela tworzymy oddzielny wątek, otrzymując w*h procesów. Każdy wątek odczytuje wartość jednego piksela, znajduje jego nową pozycję i wpisuje ją do nowej tablicy zawierającej obrócony obraz. jeden wątek Czy taki algorytm byłby efektywny czy może lepiej podzielić obraz na większe bloki? 36
37 Ziarnistość zadań określa nam liczbę i wielkość przetwarzanych zadań: gruboziarniste: mała liczba dużych zadań Przykład: obrót obrazu o wysokości h, szerokości w, gdzie dla każdego bloku pikseli tworzymy oddzielny wątek, otrzymując w*h/(powierzchnia bloku) procesów. Każdy wątek odczytuje wartość pikseli bloku, znajduje ich nową pozycję i wpisuje je do nowej tablicy zawierającej obrócony obraz. jeden wątek Który algorytm będzie efektywniejszy? Na to pytanie odpowiemy sobie później. 37
38 Ziarnistość zadań określa nam liczbę i wielkość przetwarzanych zadań: Często specyfika aplikacji wymusza ziarnistość zadań. Bywa, że w jednej aplikacji mamy wymuszoną mieszaną ziarnistość. [źródło: R.Gaster i inni: Heterogeneous Computing with OpenCL ] 38
39 Dekompozycję pojedynczych zadań na podzadania mogące być wywołane równolegle można przedstawić w postaci grafów zależności zadań. W grafie tym węzeł będzie oznaczał zadanie, natomiast połączenie zależność. Kolejne zadanie nie może zostać wykonane dopóki wszystkie wchodzące do niego zależności nie są spełnione. Przykład: rozwiązanie równania macierzowego Y ( AB CD EF ) G HI AB CD EF (AB +CD+EF)G HI (AB +CD+EF)G + HI 39
40 Inny przykład: detekcja twarzy od szczegółu do ogółu 1 1. Pozyskanie obrazu wejściowego. 2. Detekcja konturów. 3. Detekcja punktów szczególnych w konturach. 4. Wybranie z wybranych punktów tych, które odpowiadają określonej części twarzy (oko, oko, nos, usta). 5. Wybranie kombinacji części twarzy tworzących całą twarz
41 Ścieżka krytyczna jest to określona ścieżka w grafie zadań, której opóźnienie będzie oznaczać opóźnienie całego systemu. jest to najdłuższa ważona ścieżka grafu niewielkie opóźnienie pozostałych elementów nie wpłynie na długość wykonania procesu AB (8) CD (8) EF (10) (AB +CD+EF)G (40) HI (10) (AB +CD+EF)G + HI (10) 41
42 Zdarzenie synchroniczne Będziemy tutaj rozumieli jako funkcję, która po wywołaniu zwraca sterowanie do wywołującego wątku dopiero w momencie wykonania pełnej operacji. Zdarzenie asynchroniczne Będziemy tutaj rozumieli jako funkcję, która po wywołaniu zwraca sterowanie do wywołującego wątku natychmiast. Zakończenie zadania jest zwykle sygnalizowane przez określone zdarzenie. 42
43 Architektury heterogeniczne architektury komputerów przystosowane do rozwiązywania zadań o różnej naturze, np. o różnej ziarnistości. złożone z różnych podsystemów przykładem może być połączenie CPU z FPGA bądź CPU z GPGPU (General Purpose computing on Graphical Processing Unit). Współczesne komputery pozwalają na równoległe wykonywanie zadań GPU i CPU CPU zadania sekwencyjne GPU zadania silnie równoległe 43
44 Architektury heterogeniczne Cel naukowy stworzyć taką obsługę systemową, która dla zaprojektowanych zadań sama wybierze które urządzenie jest najlepsze dla danego zadania. CPU zadania sekwencyjne GPU zadania silnie równoległe 44
45 Problem pisarz/czytelnik Metody tworzenia wątków i synchronizacji między nimi. 45
Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.
Wstęp Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system. Przedstawienie architektur sprzętu wykorzystywanych do
Architektura komputerów
Architektura komputerów Wykład 13 Jan Kazimirski 1 KOMPUTERY RÓWNOLEGŁE 2 Klasyfikacja systemów komputerowych SISD Single Instruction, Single Data stream SIMD Single Instruction, Multiple Data stream MISD
Algorytmy i Struktury Danych
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 12: Wstęp
Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................
PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK
1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Część teoretyczna Informacje i wstępne wymagania Cel przedmiotu i zakres materiału Zasady wydajnego
Podstawy Informatyki Systemy sterowane przepływem argumentów
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Komputer i jego architektura Taksonomia Flynna 2 Komputer i jego architektura Taksonomia Flynna Komputer Komputer
Nowoczesne technologie przetwarzania informacji
Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego
i3: internet - infrastruktury - innowacje
i3: internet - infrastruktury - innowacje Wykorzystanie procesorów graficznych do akceleracji obliczeń w modelu geofizycznym EULAG Roman Wyrzykowski Krzysztof Rojek Łukasz Szustak [roman, krojek, lszustak]@icis.pcz.pl
Architektura mikroprocesorów TEO 2009/2010
Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:
16. Taksonomia Flynn'a.
16. Taksonomia Flynn'a. Taksonomia systemów komputerowych według Flynna jest klasyfikacją architektur komputerowych, zaproponowaną w latach sześćdziesiątych XX wieku przez Michaela Flynna, opierająca się
Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
Architektura komputerów
Architektura komputerów Tydzień 14 Procesory równoległe Klasyfikacja systemów wieloprocesorowych Luźno powiązane systemy wieloprocesorowe Każdy procesor ma własną pamięć główną i kanały wejścia-wyjścia.
Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Numeryczna algebra liniowa
Numeryczna algebra liniowa Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak podstawowe operacje na wektorach i macierzach, a także rozwiązywanie układów
Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Obliczenia równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 15 czerwca 2001 Spis treści Przedmowa............................................
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Programowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1
Programowanie procesorów graficznych GPGPU Krzysztof Banaś Obliczenia równoległe 1 OpenCL projektowanie kerneli Przypomnienie: kernel program realizowany przez urządzenie OpenCL wątek (work item) rdzeń
Budowa Mikrokomputera
Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.
Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1
Literatura 1. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010, 2013 2. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 3. Designing
Programowanie procesorów graficznych GPGPU
Programowanie procesorów graficznych GPGPU 1 GPGPU Historia: lata 80 te popularyzacja systemów i programów z graficznym interfejsem specjalistyczne układy do przetwarzania grafiki 2D lata 90 te standaryzacja
Programowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1
Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1 Organizacja przedmiotu Dr inż. Robert Banasiak Dr inż. Paweł Kapusta 1 2 Nasze kompetencje R n D Tomografia 3D To nie tylko statyczny obraz!
Obliczenia Wysokiej Wydajności
Obliczenia wysokiej wydajności 1 Wydajność obliczeń Wydajność jest (obok poprawności, niezawodności, bezpieczeństwa, ergonomiczności i łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk
Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie
Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie
Architektura Komputerów
1/3 Architektura Komputerów dr inż. Robert Jacek Tomczak Uniwersytet Przyrodniczy w Poznaniu Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne dla programisty, atrybuty
Architektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: PROGRAMOWANIE WSPÓŁBIEŻNE I ROZPROSZONE I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Uzyskanie przez studentów wiedzy na temat architektur systemów równoległych i rozproszonych,
PROBLEMATYKA OBLICZEŃ MASOWYCH W NAUKACH O ZIEMI. Satelitarny monitoring środowiska
Satelitarny monitoring środowiska Dane satelitarne to obecnie bardzo ważne źródło informacji o powierzchni Ziemi i procesach na niej zachodzących. Obliczono, że na początku roku 2014 na orbitach okołoziemskich
10/14/2013 Przetwarzanie równoległe - wstęp 1. Zakres przedmiotu
Literatura 1. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 2. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010. 3. Designing
Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych
Systemy wbudowane Wykład 11: Metody kosyntezy systemów wbudowanych Uproszczone metody kosyntezy Założenia: Jeden procesor o znanych parametrach Znane parametry akceleratora sprzętowego Vulcan Początkowo
Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami
Larrabee GPGPU Zastosowanie, wydajność i porównanie z innymi układami Larrabee a inne GPU Różnią się w trzech podstawowych aspektach: Larrabee a inne GPU Różnią się w trzech podstawowych aspektach: Larrabee
Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy
Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa
3.Przeglądarchitektur
Materiały do wykładu 3.Przeglądarchitektur Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 24 stycznia 2009 Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne
Budowa komputera Komputer computer computare
11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału
Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych
Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie
Analiza ilościowa w przetwarzaniu równoległym
Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2
PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI
ZESZYTY NAUKOWE 105-114 Dariusz CHAŁADYNIAK 1 PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI Streszczenie W artykule poruszono wybrane podstawowe zagadnienia związane z przetwarzaniem równoległym. Przedstawiono
Wprowadzenie do systemów operacyjnych
SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny
Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012
Projektowanie algorytmów równoległych Zbigniew Koza Wrocław 2012 Spis reści Zadniowo-kanałowy (task-channel) model algorytmów równoległych Projektowanie algorytmów równoległych metodą PACM Task-channel
3.Przeglądarchitektur
Materiały do wykładu 3.Przeglądarchitektur Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 17 marca 2014 Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne
Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W E, 2L PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: PROGRAMOWANIE ROZPROSZONE I RÓWNOLEGŁE Distributed and parallel programming Kierunek: Forma studiów: Informatyka Stacjonarne Rodzaj przedmiotu: moduł specjalności obowiązkowy: Sieci komputerowe
Architektury komputerów Architektury i wydajność. Tomasz Dziubich
Architektury komputerów Architektury i wydajność Tomasz Dziubich Przetwarzanie potokowe Przetwarzanie sekwencyjne Przetwarzanie potokowe Architektura superpotokowa W przetwarzaniu potokowym podczas niektórych
Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie
Welcome to the waitless world. Inteligentna infrastruktura systemów Power S812LC i S822LC
Inteligentna infrastruktura systemów Power S812LC i S822LC Przedstawiamy nową linię serwerów dla Linux Clouds & Clasters IBM Power Systems LC Kluczowa wartość dla klienta Specyfikacje S822LC Technical
Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1
Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1 Wprowadzenie Procesory graficzne GPU (Graphics Processing Units) stosowane są w kartach graficznych do przetwarzania grafiki komputerowej
Moc płynąca z kart graficznych
Moc płynąca z kart graficznych Cuda za darmo! Czyli programowanie generalnego przeznaczenia na kartach graficznych (GPGPU) 22 października 2013 Paweł Napieracz /20 Poruszane aspekty Przetwarzanie równoległe
Architektura systemów komputerowych. Przetwarzanie potokowe I
Architektura systemów komputerowych Plan wykładu. Praca potokowa. 2. Projekt P koncepcja potoku: 2.. model ścieżki danych 2.2. rejestry w potoku, 2.3. wykonanie instrukcji, 2.3. program w potoku. Cele
Dr inż. hab. Siergiej Fialko, IF-PK,
Dr inż. hab. Siergiej Fialko, IF-PK, http://torus.uck.pk.edu.pl/~fialko sfialko@riad.pk.edu.pl 1 Osobliwości przedmiotu W podanym kursie główna uwaga będzie przydzielona osobliwościom symulacji komputerowych
Przetwarzanie Równoległe i Rozproszone
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI I TECHNOLOGII INFORMACYJNYCH Przetwarzanie Równoległe i Rozproszone www.pk.edu.pl/~zk/prir_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl
Literatura. 3/26/2018 Przetwarzanie równoległe - wstęp 1
Literatura 1. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010, 2013 2. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 3. Designing
Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor
Plan wykładu 1. Pojęcie podsystemu graficznego i karty graficznej 2. Typy kart graficznych 3. Budowa karty graficznej: procesor graficzny (GPU), pamięć podręczna RAM, konwerter cyfrowo-analogowy (DAC),
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Algorytmy dla maszyny PRAM
Instytut Informatyki 21 listopada 2015 PRAM Podstawowym modelem służącym do badań algorytmów równoległych jest maszyna typu PRAM. Jej głównymi składnikami są globalna pamięć oraz zbiór procesorów. Do rozważań
LEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,
Przetwarzanie równoległe PROJEKT OMP i CUDA Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego przy użyciu komputera równoległego z procesorem wielordzeniowym z pamięcią
PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK
1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Trendy rozwoju współczesnych procesorów Budowa procesora CPU na przykładzie Intel Kaby Lake
Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.
Procesory wielordzeniowe (multiprocessor on a chip) 1 Procesory wielordzeniowe 2 Procesory wielordzeniowe 3 Konsekwencje prawa Moore'a 4 Procesory wielordzeniowe 5 Intel Nehalem 6 Architektura Intel Nehalem
Programowanie współbieżne Wykład 1. Rafał Skinderowicz
Programowanie współbieżne Wykład 1 Rafał Skinderowicz Wprowadzenie Plan wykładu Historia, znaczenie i cele współbieżności w informatyce. Podstawowe pojęcia, prawo Moore a i bariery technologiczne. Sposoby
GRIDY OBLICZENIOWE. Piotr Majkowski
GRIDY OBLICZENIOWE Piotr Majkowski Wstęp Podział komputerów Co to jest grid? Różne sposoby patrzenia na grid Jak zmierzyć moc? Troszkę dokładniej o gridach Projekt EGEE Klasyfikacja Flynn a (1972) Instrukcje
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK
Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone
Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego 1 Historia i pojęcia wstępne Przetwarzanie współbieżne realizacja wielu programów (procesów) w taki sposób, że ich
Wstęp. Przetwarzanie współbieżne, równoległe i rozproszone
Wstęp. 1 Cel zajęć Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów równoległych Przedstawienie sprzętu wykorzystywanego do obliczeń równoległych Nauczenie sposobów
Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)
Zał nr 4 do ZW WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU Nazwa w języku polskim : Architektura Komputerów i Systemy Operacyjne Nazwa w języku angielskim : Computer Architecture and Operating
Grafika komputerowa i wizualizacja
Grafika komputerowa i wizualizacja Radosław Mantiuk ( rmantiuk@wi.zut.edu.pl, p. 315 WI2) http://rmantiuk.zut.edu.pl Katedra Systemów Multimedialnych Wydział Informatyki, Zachodniopomorski Uniwersytet
Architektura komputerów
Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń
Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu
Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu Informacje ogólne Nazwa przedmiotu Podstawy techniki cyfrowej i mikroprocesorowej Kod przedmiotu 06.5-WE-AiRP-PTCiM Wydział Kierunek Wydział
Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia
Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Wydział Matematyki i Informatyki Instytut Informatyki i
Wykorzystanie architektury Intel MIC w obliczeniach typu stencil
Wykorzystanie architektury Intel MIC w obliczeniach typu stencil Kamil Halbiniak Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok IV Instytut Informatyki Teoretycznej i Stosowanej
Przetwarzanie Rozproszone i Równoległe
WYDZIAŁ INŻYNIERII ELEKTRYCZNEJ I KOMPUTEROWEJ KATEDRA AUTOMATYKI I TECHNIK INFORMACYJNYCH Przetwarzanie Rozproszone i Równoległe www.pk.edu.pl/~zk/prir_hp.html Wykładowca: dr inż. Zbigniew Kokosiński
PROGRAMOWALNE STEROWNIKI LOGICZNE
PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu
Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW)
Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW) Maciej Cytowski, Maciej Filocha, Maciej E. Marchwiany, Maciej Szpindler Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego
dr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2011/2012 Wykład nr 6 (27.04.2012) dr inż. Jarosław Forenc Rok akademicki
Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.
Rok akademicki 2011/2012, Wykład nr 6 2/46 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2011/2012
Obliczenia Wysokiej Wydajności
Obliczenia wysokiej wydajności 1 Wydajność obliczeń Wydajność jest (obok poprawności, niezawodności, bezpieczeństwa, ergonomiczności oraz łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:
Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1
Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1 Przedmiot PSCR Przedmiot PSCR Wykład do połowy semestru Laboratorium od połowy semestru Projekt Zaliczenie
Programowanie współbieżne. Iwona Kochańska
1 Programowanie współbieżne Iwona Kochańska 2 Organizacja przedmiotu Wykład: 1 godzina tygodniowo (piątek, 10:15) 2 kolokwia w trakcie semestru Ocena końcowa: 0.5*(średnia z kolokw.)+0.5*projekt Projekt:
Mikroprocesory rodziny INTEL 80x86
Mikroprocesory rodziny INTEL 80x86 Podstawowe wła ciwo ci procesora PENTIUM Rodzina procesorów INTEL 80x86 obejmuje mikroprocesory Intel 8086, 8088, 80286, 80386, 80486 oraz mikroprocesory PENTIUM. Wprowadzając
Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów
Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład I Podstawowe pojęcia 1, Cyfrowe dane 2 Wewnątrz komputera informacja ma postać fizycznych sygnałów dwuwartościowych (np. dwa poziomy napięcia,
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Jednostki obliczeniowe w zastosowaniach mechatronicznych Kierunek: Mechatronika Rodzaj przedmiotu: dla specjalności Systemy Sterowania Rodzaj zajęć: Wykład, laboratorium Computational
Architektura i administracja systemów operacyjnych
Architektura i administracja systemów operacyjnych Wykład 1 Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Informacje wstępne Prowadzący
Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.
Procesory wielordzeniowe (multiprocessor on a chip) 1 Procesory wielordzeniowe 2 Procesory wielordzeniowe 3 Intel Nehalem 4 5 NVIDIA Tesla 6 ATI FireStream 7 NVIDIA Fermi 8 Sprzętowa wielowątkowość 9 Architektury
System mikroprocesorowy i peryferia. Dariusz Chaberski
System mikroprocesorowy i peryferia Dariusz Chaberski System mikroprocesorowy mikroprocesor pamięć kontroler przerwań układy wejścia wyjścia kontroler DMA 2 Pamięć rodzaje (podział ze względu na sposób
Architektura von Neumanna
Architektura von Neumanna Klasyfikacja systemów komputerowych (Flynna) SISD - Single Instruction Single Data SIMD - Single Instruction Multiple Data MISD - Multiple Instruction Single Data MIMD - Multiple
USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS
USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM Juliusz Pukacki,PCSS Co to jest HPC (High Preformance Computing)? Agregowanie dużych zasobów obliczeniowych w sposób umożliwiający wykonywanie obliczeń
Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania
Systemy operacyjne Informatyka Stosowana, I rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@metal.agh.edu.pl Konsultacje: poniedziałek, 11.30-13; B-4, pok. 207 Systemy operacyjne Wykłady:
Budowa i zasada działania komputera. dr Artur Bartoszewski
Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu
Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu
Systemy Operacyjne wykład 1. Adam Kolany Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu dr.a.kolany@wp.pl Październik, 2007 Literatura DrAK (PWSZ) Systemy Operacyjne 11 Październik,
Informatyka. informatyka i nauki komputerowe (computer science)
Informatyka informacja i jej reprezentacje informatyka i nauki komputerowe (computer science) algorytmika efektywność algorytmów poprawność algorytmów złożoność obliczeniowa, problemy NP-trudne (NP-zupełne)
Systemy operacyjne III
Systemy operacyjne III Jan Kazimirski 1 Opis zajęć Prezentacja budowy i zasad działania współczesnego systemu operacyjnego Prezentacja podstawowych elementów systemów operacyjnych i zasad ich implementacji
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych
Tesla. Architektura Fermi
Tesla Architektura Fermi Tesla Tesla jest to General Purpose GPU (GPGPU), GPU ogólnego przeznaczenia Obliczenia dotychczas wykonywane na CPU przenoszone są na GPU Możliwości jakie daje GPU dla grafiki
Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,