ZASTOSOWANIE TECHNOLOGII GPGPU DO PRZYSPIESZENIA OBLICZEŃ W ZAGADNIENIACH BRZEGOWYCH ROZWIĄZYWANYCH ZA POMOCĄ PURC

Wielkość: px
Rozpocząć pokaz od strony:

Download "ZASTOSOWANIE TECHNOLOGII GPGPU DO PRZYSPIESZENIA OBLICZEŃ W ZAGADNIENIACH BRZEGOWYCH ROZWIĄZYWANYCH ZA POMOCĄ PURC"

Transkrypt

1 MODELOWANIE INŻYNIERSKIE nr 48, ISSN X ZASTOSOWANIE TECHNOLOGII GPGPU DO PRZYSPIESZENIA OBLICZEŃ W ZAGADNIENIACH BRZEGOWYCH ROZWIĄZYWANYCH ZA POMOCĄ PURC Andrzej Kużelewski 1a, Eugeniusz Zieniuk 1b 1 Zakład Metod Numerycznych, Wydział Matematyki i Informatyki, Uniwersytet w Białymstoku a akuzel@ii.uwb.edu.pl, b ezieniuk@ii.uwb.edu.pl Streszczenie Celem niniejszej pracy jest zbadanie możliwości zastosowania nowoczesnych rozwiązań równoległego przetwarzania danych w celu przyspieszenia procesu obliczeniowego pojawiającego się w trakcie numerycznego rozwiązywania PURC. Autorzy wzięli pod uwagę możliwość wykorzystania procesorów kart graficznych do obliczeń numerycznych w zastosowaniach ogólnych (general-purpose GPU GPGPU), a w szczególności technologię CUDA (ComputeUnified Device Architecture) firmy NVidia. Słowa kluczowe: PURC, CUDA, zagadnienia brzegowe APPLICATION OF GPGPU FOR ACCELERATION OF CALCULATIONS IN BOUNDARY VALUE PROBLEMS SOLVING USING PIES Summary The main purpose of this paper is examination of an application of modern parallel computing solutions to speed up the calculation in the numerical solution of parametric integral equations systems (PIES). The authors considered use of graphics cards programming in general-purpose applications (GPGPU), particularly NVidia CUDA(Compute Unified Device Architecture). Keywords: PIES, CUDA, boundary value problems 1. WSTĘP Autorzy pracy od wielu lat stosują parametryczne układy równań całkowych (PURC) do rozwiązywania zagadnień brzegowych. Dotychczas PURC wykorzystywane były do rozwiązywania zagadnień brzegowych 2D i 3D modelowanych równaniami różniczkowymi cząstkowymi takimi jak: Laplace a, Poissona, Helmholtza czy Naviera-Lamego [6-12]. PURC, stosowane do numerycznego rozwiązywania wspomnianych równań, w swoim formalizmie matematycznym uwzględniają kształt brzegu rozpatrywanego zagadnienia brzegowego. W celu uwzględnienia brzegu w PURC wykorzystano krzywe (np. Béziera, B-spline i inne) i płaty powierzchni (np. płaty Coonsa, Béziera i inne) stosowane w grafice komputerowej. Do praktycznego zdefiniowania kształtu brzegu zadawano niewielką liczbę punktów kontrolnych. Dotychczas autorzy w swoich pracach skupiali się na badaniu dokładności wyników uzyskiwanych za pomocą PURC w porównaniu z klasycznymi już metodami takimi jak MES czy MEB lub metodami analitycznymi. Jednakże należy zwrócić także uwagę na inny problem dotyczący każdego algorytmu numerycznego - jego czasochłonność obliczeniową. Zwiększanie liczby danych wejściowych skutkuje wydłużeniem czasu pracy algorytmu. Także w przypadku PURC zostało to zaobser- 86

2 Andrzej Kużelewski, Eugeniusz Zieniuk wowane, szczególnie przy bardziej złożonych równaniach (np. Naviera-Lamego) i zwiększeniu wymiarowości problemu z 2D na 3D. Zwiększenie szybkości działania algorytmu może być uzyskane na różne sposoby: wykorzystanie najwydajniejszych dostępnych maszyn, wykorzystanie maszyn wieloprocesorowych i klastrów lub procesorów graficznych. W ostatnich latach szczególnie zauważalny jest wzrost zainteresowania naukowców możliwością wykorzystania procesorów kart graficznych do obliczeń numerycznych w zastosowaniach ogólnych (GPGPU), ze względu na możliwość uzyskania bardzo dużych przyrostów wydajności aplikacji [3-5]. Jest to związane z architekturą kart graficznych (wieloprocesorowa i wielowątkowa), bardzo szybkimi zmiennoprzecinkowymi jednostkami arytmetycznymi oraz wykorzystaniem szybkich pamięci. Dlatego autorzy postanowili przyjrzeć się możliwości zastosowania nowoczesnych rozwiązań równoległego przetwarzania danych w celu przyspieszenia procesu obliczeniowego pojawiającego się w trakcie numerycznego rozwiązywania PURC. Wzięto pod uwagę technologię CUDA (ComputeUnified Device Architecture) firmy NVidia [1]. Celem niniejszej pracy jest przedstawienie możliwości przyspieszenia obliczeń numerycznych, niezbędnych do rozwiązywania zagadnień brzegowych 3D, modelowanych równaniami Naviera-Lamego i rozwiązywanych za pomocą PURC z wykorzystaniem technologii CUDA. 2. PURC DLA TRÓJWYMIAROWYCH RÓWNAŃ NAVIERA-LAMEGO PURC dla trójwymiarowych równań Naviera- Lamego jest wynikiem analitycznej modyfikacji klasycznych BRC. Szczegółowy opis metodologii takiej modyfikacji dla zagadnień 2D modelowanych różnymi równaniami różniczkowymi przedstawiono w pracach [6-9]. Uogólniając wspomnianą metodologię na zagadnienia 3D, uzyskano następującą postać PURC [7]: 1 2,,,,,,,,,,!! (1) przy czym: " # #, " # #, " # #, " # #, %&,'( 1,2,,*,gdzie n jest liczbą płatów powierzchniowych tworzących zamknięty trójwymiarowy obszar. Funkcje podcałkowe,,,,,,, w (1) są przedstawiane w następującej postaci macierzowej [7]: ,,, 0 1 +,"-./ (2) ,,, gdzie: 8 9 2: ,"-/ , (3) Jawną postać elementów macierzy (2) i (3) można odnaleźć w [7]. Funkcja, jest jakobianem, natomiast jądra (2) i (3) uwzględniają w sposób analityczny w swoim formalizmie matematycznym zamknięty kształt brzegu. Jest on kreowany za pomocą odpowiednich zależności pomiędzy płatami &,' 1,2,...,* zdefiniowanymi we współrzędnych kartezjańskich za pomocą następujących zależności [7]: < 7, 7,, < 2 7 2, 7 2,, < 3 7 3, 7 3,, < =< > < 2 > < 3, (4) gdzie 7,, 7 2,, 7 3, są skalarnymi składowymi wektorowego płata powierzchni,?7, 7 2, 7 3,@ A, zależnego od parametrów v, w. Powyższy zapis jest też słuszny dla płata oznaczonego indeksem l z parametrami v1, w1, tzn. dla j = l oraz dla parametrów v = v1 i w = w1. W zagadnieniach przestrzennych modelowanych z wykorzystaniem PURC, wektorowe cje,przyjmują postać znanych z grafiki komputerowej parametrycznych płatów powierzchni. Możliwość uwzględnienia opisu brzegu bezpośrednio w formule matematycznej jest podstawową zaletą metody obliczeniowej PURC w porównaniu z tradycyjnymi brzegowymi równaniami całkowymi (BRC). W klasycznych BRC opis brzegu nie jest uwzględniony w formalizmie matematycznym tego równania, lecz zdefiniowany bardzo ogólnie za pomocą całki brzegowej. Powstaje konieczność podziału brzegu na elementy, jak to ma miejsce w klasycznej MEB. Zalety modelowania brzegu bezpośrednio w równaniach matematycznych (PURC) były przedstawiane na zagadnieniach dwuwymiarowych [6-9] oraz trójwymiarowych [7,11,12]. Zastosowanie PURC do rozwiązywania zagadnień płaskich oraz przestrzennych pozwoliło na wyeliminowanie konieczności przeprowadzenia dyskretyzacji na poziomie zarówno wspomnianej już deklaracji brzegu, a także funkcji brzegowych. W ramach dotychczasowych prac badawczych funkcje brzegowe zarówno zadawane jako warunki brzegowe, jak również poszukiwane w wyniku rozwiązania PURC przyjmowały postać szeregów aproksymujących z funkcjami bazowymi Czebyszewa [6,7]. W odróżnieniu od zagadnień dwuwymiarowych (modelowanych równaniem Laplace a) problemy opisywane równaniem Naviera-Lamego wymagają uwzględnienia funkcji brzegowych w postaci wektorowej. W związku z tym uogólnione zostały wykorzystywane 87

3 ZASTOSOWANIE TECHNOLOGII GPGPU DO PRZYSPIESZENIA OBLICZEŃ dotychczas szeregi aproksymujące tak, aby reprezentowały one skalarne składowe wektora czeń,oraz naprężeń, [7]. Dla każdego płata powierzchni modelujących segment brzegu j zostały one przedstawione w następującej postaci:, H F CD E C E D CG DG, (5), H F I CD E C E D CG DG, (6) gdzie CD, I CD są poszukiwanymi współczynnikami, zaśe C,E D to funkcje bazowe, które mają postać wielomianów interpolacyjnych Lagrange a: E J K L"L M L"L L"L N L"L NO L"L P QL "L M RQL "L R QL "L N RQL "L NO R QL "L P R, (7) gdzie k={p, r}, l={m, N}, x={v, w}. Po podstawieniu (5) i (6) do PURC (1) i po zapisaniu go w tzw. punktach kolokacji [2] otrzymuje się układ równań algebraicznych względem niewiadomych współczynników, po rozwiązaniu którego otrzymamy współczynniki CD (5) lubi CD (6). Należy mieć na uwadze też to, że zawsze jedne z tych współczynników na poszczególnych segmentach będą otrzymywane w wyniku aproksymacji zadanych warunków brzegowych za pomocą szeregów aproksymujących (5) lub (6). Po rozwiązaniu PURC otrzymano rozwiązanie zagadnienia brzegowego tylko na jego brzegu, reprezentowane w postaci szeregów (5) lub (6). W celu znalezienia rozwiązań w obszarze klasyczna tożsamość całkowa znanaz BRC została analitycznie zmodyfikowana i przekształcona analogicznie jak w przypadku zagadnień dwuwymiarowych [6,7].Otrzymana została tożsamość całkowa, która wykorzystuje rozwiązania na brzegu (5) i (6), uzyskane uprzednio w wyniku rozwiązania PURC. Zmodyfikowana tożsamość całkowa przyjmuje następująca postać [7]: S TU S,,, U S,,,V,!! (8) Funkcje podcałkowe w tożsamości (8) przedstawiane są w następującej postaci: gdzie U S,, 1U 1U 2 1U 3 X 1U +,"-.DW 2 1U 22 1U 23 1U 3 1U 32 1U 33 Y, (9) 7Z 7Z 2 7Z 3 U " S,, X 7Z 5,"-DW 6 2 7Z 22 7Z 23 Y, (10) 7Z 3 7Z 32 7Z 33 [W 7, K, [W 2 7 2, K 2, [W 3 7 3, K 3, [W =[W > [W 2 > [W 3. Jawna postać elementów macierzy (9) i (10) jest przedstawiona w [7]. Funkcje podcałkowe w tożsamości całkowej (8) są wizualnie bardzo podobne do funkcji (2) i (3). Różnica polega na tym, że w funkcjach (9) i (10) poza płatami powierzchni definiującymi kształt brzegu występują współrzędne punktów w obszarze w którym interesuje nas rozwiązanie. 3. PROGRAMOWANIE KART GRAFICZNYCH W OGÓLNYCH ZASTOSOWANIACH TECHNOLOGIA CUDA Architektura procesorów graficznych (GPU) zdecydowanie odbiega od klasycznych procesorów (CPU). GPU składa się z wielu jednostek zmiennoprzecinkowych (FPU) i układów arytmetyczno-logicznych (ALU). Związane jest to z charakterem wykonywanych operacji te same operacje wykonywane są równolegle na dużej ilości danych (w grafice typowo: pikselach, tekselach lub wierzchołkach), stąd GPU są klasyfikowane jako SIMD (single instruction, multiple data). Technologia CUDA firmy Nvidia [1] jest dużo prostsza i bardziej intuicyjna w programowaniu w porównaniu do tradycyjnych metod programowania GPGPU. Jest rozszerzeniem klasycznego języka C posiadającym łatwe do przyswojenia odniesienia do paradygmatów programowania równoległego. Kod programu dzielony jest na dwie, mogące się przeplatać, części: obliczenia równoległe wykonywane na jednostce GPU (nazywanym device) oraz pozostałe operacje wykonywane na CPU (nazywanym host). Schemat blokowy działania technologii CUDA przedstawia rys. 1. Procedurę obliczeń można podzielić na cztery podstawowe kroki: 1. inicjacja programu (host), 2. skopiowanie danych z hosta na device, 3. wykonywanie obliczeń na GPU, 4. skopiowanie danych z device na host. Technologia CUDA opiera się na wykorzystaniu skalowalnej tablicy wielowątkowych procesorów strumieniowych (Streaming Multiprocessor SM). Najpopularniejsze podejście do programowania odbywa się na zasadzie podziału problemu na mniejsze zagadnienia, których instrukcje skupione są w funkcjach nazywanych jądrami (z ang. kernels). Jądra są wykonywane na pewnej części wątków (z ang. threads) podzielonych na bloki (z ang. blocks). Każde 32 wątki w bloku stanowią tzw. warp. Wszystkie wątki w obrębie bloku mogą komunikować się ze sobą i być synchronizowane za pomocą funkcji synchronizujących. W celu wykorzystania większej liczby wątków w ramach jednego jądra, bloki wątków grupowane są w kraty (z ang. grids). Wątki mogą pobierać dane z różnych rodzajów pamięci GPU. Każdy wątek ma dostęp do pamięci globalnej GPU (globalmemory), która ma dużą pojemność, ale niską przepustowość. Wątki w ramach jednego bloku mogą korzystać z pamięci współdzielonej (sharedmemo- 88

4 Andrzej Kużelewski, Eugeniusz Zieniuk ry) umieszczonej na mikroprocesorze (z ang. on-chip memory). Jest ona wspólna dla wszystkich wątków w ramach jednego bloku i ma rozmiar 16 kb. Jest nawet do 100 razy szybsza od pamięci globalnej. Kolejnym typem jest pamięć lokalna prywatna dla każdego wątku. Ma rozmiar 8192 bajty na multiprocesor. Istnieją jeszcze pamięć stała (constantmemory) oraz pamięć tekstur. Jeszcze jednym, ważnym z punktu widzenia obliczeń naukowych, problemem jest precyzja arytmetyki zmiennoprzecinkowej. Najnowsze karty graficzne pozwalają na operacje zmiennoprzecinkowe podwójnej precyzji, starsze tylko na pojedynczą precyzję. Decydując się na zastosowanie technologii CUDA, należy mieć ten fakt na uwadze, szczególnie w przypadku obliczeń wymagających bardzo wysokiej dokładności. 4. PRZYKŁAD NUMERYCZNY W celu zbadania przyspieszenia zrównoleglonego PURC w stosunku do jego niezrównoleglonej wersji wzięto pod uwagę kształt obszaru przedstawiony na rys. 2a, ale matematycznie modelowany równaniami Naviera-Lamego z warunkami brzegowymi zadanymi za pomocą funkcji analitycznych będących dokładnym rozwiązaniem równania: (11) W obliczeniach przyjęto moduł Younga E=1MPa oraz stałą Poissona ν=0.25. Wykonano testy porównawcze dla różnej liczby punktów kolokacji na płatach. Kształt brzegu zdefiniowany został za pomocą 24 prostokątnych oraz 6 trójkątnych płatów Béziera i 6 prostokątnych płatów Coonsa (rys. 2b). Pełna deklaracja brzegu złożonego w sumie z 36 płatów wymagała 236 punktów (kontrolnych dla płatów Béziera i narożnych dla Coonsa). W badaniach użyto karty NVidiaQuadro FX 580 z 512 MB pamięci, 4 multiprocesorami (SM) po 8 rdzeni CUDA każdy. Dopuszczalny typ operacji zmiennoprzecinkowych pojedynczej precyzji. Rys. 1. Schemat przepływu danych w CUDA. Pomimo że CUDA jest bardzo wygodnym narzędziem do zrównoleglenia obliczeń z wykorzystaniem mocy obliczeniowej kart graficznych, jednak optymalizacja wydajności programów jest dość trudna. Przede wszystkim należało skupić się na trzech zasadniczych problemach: optymalizacja dostępu do pamięci, konfiguracja parametrów uruchamiania jąder i optymalizacja kodu (instrukcji). Rys. 2. a) Kształt rozważanej geometrii brzegu, b) widok z podziałem na płaty 89

5 ZASTOSOWANIE TECHNOLOGII GPGPU DO PRZYSPIESZENIA OBLICZEŃ Autorzy w niniejszej pracy przedstawiają wyniki wstępnych badań nad problemem przyspieszenia obliczeń numerycznych w PURC za pomocą GPGPU i technologii CUDA. W celu oceny przydatności tej technologii zdecydowano się na przyspieszenie najbardziej czasochłonnej operacji jaką jest numeryczne obliczania całek w PURC. Nie dokonano optymalizacji obliczeń na GPU dane przechowywane są w pamięci globalnej. W związku z tym problem badawczy podzielono na dwie części: przyspieszenie generowania układu równań w PURC (wyniki zestawiono w tabeli 1) oraz przyspieszenie generowania rozwiązań (wyniki zestawiono w tabeli 2). Liczba punktów kolokacji ma wpływ na dokładność uzyskiwanych rozwiązań, a także na czas obliczeniowy. Więcej informacji na ten temat można odnaleźć w pracy [7]. Uzyskane przyspieszenie działania procedury generowania układu równań w PURC z wykorzystaniem CUDA w stosunku do wersji niezrównoleglonej jest niezależne od stosowanej liczby punktów kolokacji i bliskie 4. Liczba punktów kolokacji* Tabela 1. Przyspieszenie generowania układu równań Czas realizacji obliczeń [s] niezrównoleglona (C++) zrównoleglona (CUDA) Przyspieszenie *w dziedzinie płata Badania przyspieszenia generowania rozwiązań wykonano na podstawie obliczeń w 24 punktach we wnętrzu rozmieszczonych jak na rys 3. Liczba punktów kolokacji* Tabela 2. Przyspieszenie generowania rozwiązań Czas realizacji obliczeń [s] niezrównoleglona (C++) zrównoleglona (CUDA) Przyspieszenie *w dziedzinie płata Podobnie jak w przypadku generowania układu równań, uzyskane przyspieszenie działania procedury generowania rozwiązań z wykorzystaniem CUDA w stosunku do wersji niezrównoleglonej jest niezależne od stosowanej liczby punktów kolokacji i bliskie WNIOSKI W pracy przedstawiono możliwości przyspieszenia obliczeń numerycznych pojawiających się przy rozwiązywaniu zagadnień brzegowych 3D modelowanych równaniami Naviera-Lamego i rozwiązywanych za pomocą metody obliczeniowej PURC z jednoczesnym wykorzystaniem technologii CUDA. Zrównoleglenie aplikacji służącej do rozwiązywania zagadnień brzegowych za pomocą metody PURC i wykorzystaniu procesorów kart graficznych pozwala na uzyskanie blisko czterokrotnego przyspieszenia szybkości generowania układu równań oraz blisko sześciokrotnego przyspieszenia generowania rozwiązań. Rys. 3. Rozmieszczenie punktów wewnętrznych wykorzystanych w badaniach przyspieszenia generowania rozwiązań 90

6 Andrzej Kużelewski, Eugeniusz Zieniuk Należy przy tym mieć na uwadze fakt, że nie wykonano praktycznie żadnej optymalizacji wykorzystania pamięci GPU. Niniejsza praca stanowi jedną z pierwszych prób zmierzenia się autorów z zastosowaniem technologii CUDA w celu skrócenia czasu obliczeniowego aplikacji metody obliczeniowej PURC.W kolejnych badaniach autorzy zamierzają wykorzystać szybką pamięć współdzieloną (shared memory) oraz zoptymalizować dostęp do pamięci globalnej. Kolejnym kierunkiem rozwoju równoległej aplikacji PURC jest zrównoleglenie procedury rozwiązywania układu równań algebraicznych. Praca finansowana ze środków na naukę w latach jako projekt badawczy. Literatura 1. CUDA C Programming Guide. [dostęp ]. 2. Gottlieb D., Orszag S.A.: Numerical analysis of spectral methods: theory and applications. Philadelphia: SIAM, Kiss I., Gyimóthy S., Badics Z., Pávó J.: Parallel realization of the element-by-element FEM technique by CUDA. IEEE Transactions on Magnetics 2012, Vol. 48,p Owens J. D., Luebke D., Govindaraju N., Harris M., Kruger J., Lefohn A. E., Purcell T. J.: A survey of generalpurpose computation on graphics hardware. Eurographics 2005 State of the Art Reports, Dublin, 2005, p Takahashi T., Hamada T.: GPU-accelerated boundary element method for Helmholtz equation in three dimensions. International Journal of Numerical Methods in Engineering 2009, Vol. 80, p Zieniuk E.: Bézier curves in the modification of boundary integral equations (BIE) for potential boundary-values problems. International Journal of Solids and Structures 2003, Vol. 40, p Zieniuk E.: Metoda obliczeniowa PURC w rozwiązywaniu zagadnień brzegowych. Warszawa: PWN, Zieniuk E., Bołtuć A.: Bézier curves in the modeling of boundary geometries for 2D boundary problems defined by Helmholtz equation. Journal of Computational Acoustics 2006, Vol. 14, p Zieniuk E., Bołtuć A.: Non-element method of solving 2D boundary problems defined on polygonal domains modeled by Navier equation. International Journal of Solids and Structures 2006, Vol. 43, p Zieniuk E., Szerszeń K., Bołtuć A.: Globalne obliczanie całek po obszarze w PURCdla dwuwymiarowych zagadnień brzegowych modelowanych równaniem Naviera-Lamego i Poissona. Modelowanie Inżynierskie 2007,nr 33,s Zieniuk E., Szerszeń K., Bołtuć A.: PURC w rozwiązywaniu trójwymiarowych zagadnień brzegowych modelowanych równaniami Naviera-Lamego w obszarach wielokątnych. ModelowanieInżynierskie 2011,nr 42,s Zieniuk E., Szerszeń K.: Triangular Bézier patches in modelling smooth boundary surface in exterior Helmholtz problems solved by PIES. Archives of Acoustics 2009, Vol. 34,p

i3: internet - infrastruktury - innowacje

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

Bardziej szczegółowo

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 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.

Bardziej szczegółowo

Numeryczna algebra liniowa

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

Bardziej szczegółowo

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a TEMATYKA: Krzywe Bézier a Ćwiczenia nr 7 DEFINICJE: Interpolacja: przybliżanie funkcji za pomocą innej funkcji, zwykle wielomianu, tak aby były sobie równe w zadanych punktach. Poniżej przykład interpolacji

Bardziej szczegółowo

składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność:

składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność: TEMATYKA: Krzywe typu Splajn (Krzywe B sklejane) Ćwiczenia nr 8 Krzywe Bezier a mają istotne ograniczenie. Aby uzyskać kształt zawierający wiele punktów przegięcia niezbędna jest krzywa wysokiego stopnia.

Bardziej szczegółowo

Metoda elementów skończonych

Metoda elementów skończonych Metoda elementów skończonych Wraz z rozwojem elektronicznych maszyn obliczeniowych jakimi są komputery zaczęły pojawiać się różne numeryczne metody do obliczeń wytrzymałości różnych konstrukcji. Jedną

Bardziej szczegółowo

Rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych - wprowadzenie

Rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych - wprowadzenie Rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych - wprowadzenie Wprowadzenie Metoda Elementów Skończonych (MES) należy do numerycznych metod otrzymywania przybliżonych rozwiązań

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

MODELOWANIE ZA POMOCĄ MES Analiza statyczna ustrojów powierzchniowych

MODELOWANIE ZA POMOCĄ MES Analiza statyczna ustrojów powierzchniowych MODELOWANIE ZA POMOCĄ MES Analiza statyczna ustrojów powierzchniowych PODSTAWY KOMPUTEROWEGO MODELOWANIA USTROJÓW POWIERZCHNIOWYCH Budownictwo, studia I stopnia, semestr VI przedmiot fakultatywny rok akademicki

Bardziej szczegółowo

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki

Bardziej szczegółowo

Programowanie procesorów graficznych GPGPU

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

Bardziej szczegółowo

Podstawy Informatyki Systemy sterowane przepływem argumentów

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

Bardziej szczegółowo

Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Numeryczna algebra liniowa Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Numeryczna algebra liniowa Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak

Bardziej szczegółowo

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 Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................

Bardziej szczegółowo

Dr inż. hab. Siergiej Fialko, IF-PK,

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

Bardziej szczegółowo

27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE

27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE 27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE 27.1. Wiadomości wstępne Równaniem różniczkowym cząstkowym nazywamy związek w którym występuje funkcja niewiadoma u dwóch lub większej liczby zmiennych niezależnych i

Bardziej szczegółowo

Matematyka stosowana i metody numeryczne

Matematyka stosowana i metody numeryczne Ewa Pabisek Adam Wosatko Piotr Pluciński Matematyka stosowana i metody numeryczne Konspekt z wykładu 8 Interpolacja Interpolacja polega na budowaniu tzw. funkcji interpolujących ϕ(x) na podstawie zadanych

Bardziej szczegółowo

Zastosowanie MES do rozwiązania problemu ustalonego przepływu ciepła w obszarze 2D

Zastosowanie MES do rozwiązania problemu ustalonego przepływu ciepła w obszarze 2D Równanie konstytutywne opisujące sposób w jaki ciepło przepływa w materiale o danych właściwościach, prawo Fouriera Macierz konstytutywna (właściwości) materiału Wektor gradientu temperatury Wektor strumienia

Bardziej szczegółowo

1. PODSTAWY TEORETYCZNE

1. PODSTAWY TEORETYCZNE 1. PODSTAWY TEORETYCZNE 1 1. 1. PODSTAWY TEORETYCZNE 1.1. Wprowadzenie W pierwszym wykładzie przypomnimy podstawowe działania na macierzach. Niektóre z nich zostały opisane bardziej szczegółowo w innych

Bardziej szczegółowo

Przetwarzanie Równoległe i Rozproszone

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

Bardziej szczegółowo

Wprowadzenie do Metody Elementu Skończonego

Wprowadzenie do Metody Elementu Skończonego Wprowadzenie do Metody Elementu Skończonego Krzysztof Balonek, Sławomir Gozdur Wydział Fizyki i Informatyki Stosowanej, AGH, Kraków, Poland email: kbalonek@g10.pl, slagozd@gmail.com Praca dostępna w internecie:

Bardziej szczegółowo

Tesla. Architektura Fermi

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

Bardziej szczegółowo

Grafika komputerowa Wykład 8 Modelowanie obiektów graficznych cz. II

Grafika komputerowa Wykład 8 Modelowanie obiektów graficznych cz. II Grafika komputerowa Wykład 8 Modelowanie obiektów graficznych cz. II Instytut Informatyki i Automatyki Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży 2 0 0 9 Spis treści Spis treści 1

Bardziej szczegółowo

Inżynierskie metody numeryczne II. Konsultacje: wtorek 8-9:30. Wykład

Inżynierskie metody numeryczne II. Konsultacje: wtorek 8-9:30. Wykład Inżynierskie metody numeryczne II Konsultacje: wtorek 8-9:30 Wykład Metody numeryczne dla równań hiperbolicznych Równanie przewodnictwa cieplnego. Prawo Fouriera i Newtona. Rozwiązania problemów 1D metodą

Bardziej szczegółowo

Moc płynąca z kart graficznych

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

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

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. 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 : Obliczenia Naukowe Nazwa w języku angielskim : Scientific Computing. Kierunek studiów : Informatyka Specjalność

Bardziej szczegółowo

GLOBALNE OBLICZANIE CAŁEK PO OBSZARZE W PURC DLA DWUWYMIAROWYCH ZAGADNIEŃ BRZEGOWYCH MODELOWANYCH RÓWNANIEM NAVIERA-LAMEGO I POISSONA

GLOBALNE OBLICZANIE CAŁEK PO OBSZARZE W PURC DLA DWUWYMIAROWYCH ZAGADNIEŃ BRZEGOWYCH MODELOWANYCH RÓWNANIEM NAVIERA-LAMEGO I POISSONA MODELOWANIE INŻYNIERSKIE ISSN 896-77X 33, s.8-86, Gliwice 007 GLOBALNE OBLICZANIE CAŁEK PO OBSZARZE W PURC DLA DWUWYMIAROWYCH ZAGADNIEŃ BRZEGOWYCH MODELOWANYCH RÓWNANIEM NAVIERA-LAMEGO I POISSONA EUGENIUSZ

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: PODSTAWY MODELOWANIA PROCESÓW WYTWARZANIA Fundamentals of manufacturing processes modeling Kierunek: Mechanika i Budowa Maszyn Rodzaj przedmiotu: obowiązkowy na specjalności APWiR Rodzaj

Bardziej szczegółowo

Rozkład temperatury na powierzchni grzejnika podłogowego przy wykorzystaniu MEB

Rozkład temperatury na powierzchni grzejnika podłogowego przy wykorzystaniu MEB Rozkład temperatury na powierzchni grzejnika podłogowego przy wykorzystaniu MEB W artykule przedstawiono wyniki eksperymentu numerycznego - pola temperatury na powierzchni płyty grzejnej dla wybranych

Bardziej szczegółowo

Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych.

Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych. Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych. Jedną z metod symulacji dynamiki cieczy jest zastosowanie metody siatkowej Boltzmanna.

Bardziej szczegółowo

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

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ą

Bardziej szczegółowo

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A Egzamin z Metod Numerycznych ZSI, 06.2007. Egzamin, Gr. A Imię i nazwisko: Nr indeksu: Section 1. Test wyboru, max 33 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa odpowiedź

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

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

Bardziej szczegółowo

1 Symulacja procesów cieplnych 1. 2 Algorytm MES 2. 3 Implementacja rozwiązania 2. 4 Całkowanie numeryczne w MES 3. k z (t) t ) k y (t) t )

1 Symulacja procesów cieplnych 1. 2 Algorytm MES 2. 3 Implementacja rozwiązania 2. 4 Całkowanie numeryczne w MES 3. k z (t) t ) k y (t) t ) pis treści ymulacja procesów cieplnych Algorytm ME 3 Implementacja rozwiązania 4 Całkowanie numeryczne w ME 3 ymulacja procesów cieplnych Procesy cieplne opisuje równanie różniczkowe w postaci: ( k x (t)

Bardziej szczegółowo

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor

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),

Bardziej szczegółowo

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1

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!

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

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

Bardziej szczegółowo

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW)

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

Bardziej szczegółowo

Architektura mikroprocesorów TEO 2009/2010

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

Bardziej szczegółowo

Julia 4D - raytracing

Julia 4D - raytracing i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja

Bardziej szczegółowo

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

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

Bardziej szczegółowo

Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera

Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera Adam Hrazdil Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok V hrazdil@op.pl

Bardziej szczegółowo

Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30 Zał. nr 4 do ZW WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU Nazwa w języku polskim PAKIETY MATEMATYCZNE Nazwa w języku angielskim Mathematical Programming Packages Kierunek studiów (jeśli

Bardziej szczegółowo

16. Taksonomia Flynn'a.

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ę

Bardziej szczegółowo

Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki

Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki dr inż. Marek Wojtyra Instytut Techniki Lotniczej

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych

Wysokowydajna implementacja kodów nadmiarowych typu erasure codes z wykorzystaniem architektur wielordzeniowych Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych Ł. Kuczyński, M. Woźniak, R. Wyrzykowski Instytut Informatyki Teoretycznej i Stosowanej

Bardziej szczegółowo

Tworzenie macierzy pełnych Generowanie macierzy pełnych Funkcje przekształcające macierze pełne

Tworzenie macierzy pełnych Generowanie macierzy pełnych Funkcje przekształcające macierze pełne SPIS TREŚCI 1. WSTĘP 7 2. ŚRODOWISKO MATLABA 10 2.1. Charakterystyka 10 2.2. Budowa pakietu 11 2.2.1. Okno poleceń, katalogów i pamięci roboczej 12 2.2.2. Podstawowe zasady poruszania się w obrębie środowiska

Bardziej szczegółowo

Wprowadzenie do programowania w środowisku CUDA. Środowisko CUDA

Wprowadzenie do programowania w środowisku CUDA. Środowisko CUDA Wprowadzenie do programowania w środowisku CUDA Środowisko CUDA 1 Budowa procesora CPU i GPU Architektura GPU wymaga większej ilości tranzystorów na przetwarzanie danych Control ALU ALU ALU ALU Cache DRAM

Bardziej szczegółowo

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński Obliczenia Naukowe Wykład 12: Zagadnienia na egzamin Bartek Wilczyński 6.6.2016 Tematy do powtórki Arytmetyka komputerów Jak wygląda reprezentacja liczb w arytmetyce komputerowej w zapisie cecha+mantysa

Bardziej szczegółowo

Zad. 3: Układ równań liniowych

Zad. 3: Układ równań liniowych 1 Cel ćwiczenia Zad. 3: Układ równań liniowych Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich

Bardziej szczegółowo

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań TABELA ODNIESIEŃ EFEKTÓW KSZTAŁCENIA OKREŚLONYCH DLA PROGRAMU KSZTAŁCENIA DO EFEKTÓW KSZTAŁCENIA OKREŚLONYCH DLA OBSZARU KSZTAŁCENIA I PROFILU STUDIÓW PROGRAM KSZTAŁCENIA: POZIOM KSZTAŁCENIA: PROFIL KSZTAŁCENIA:

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

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

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

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: MODELOWANIE PROCESÓW ENERGETYCZNYCH Kierunek: ENERGETYKA Rodzaj przedmiotu: specjalności obieralny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE

Bardziej szczegółowo

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

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

Bardziej szczegółowo

Programowanie kart graficznych

Programowanie kart graficznych CUDA Compute Unified Device Architecture Programowanie kart graficznych mgr inż. Kamil Szostek AGH, WGGIOŚ, KGIS Wykorzystano materiały z kursu Programowanie kart graficznych prostsze niż myślisz M. Makowski

Bardziej szczegółowo

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil

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

Bardziej szczegółowo

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII

Bardziej szczegółowo

Schemat programowania dynamicznego (ang. dynamic programming)

Schemat programowania dynamicznego (ang. dynamic programming) Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten

Bardziej szczegółowo

Programowanie kart graficznych. Sprzęt i obliczenia

Programowanie kart graficznych. Sprzęt i obliczenia Programowanie kart graficznych Sprzęt i obliczenia CUDA Szczegóły implementacji sprzętowej Architektura SIMT: podstawą konstrukcji urządzeń CUDA jest skalowalna macierz wielowątkowych multiprocesorów strumieniowych

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

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

Bardziej szczegółowo

Karta (sylabus) przedmiotu

Karta (sylabus) przedmiotu Karta (sylabus) przedmiotu [Budownictwo] Studia I stopnia Przedmiot: Metody obliczeniowe Rok: III Semestr: VI Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 15 16 Ćwiczenia

Bardziej szczegółowo

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności

Bardziej szczegółowo

Organizacja pamięci w procesorach graficznych

Organizacja pamięci w procesorach graficznych Organizacja pamięci w procesorach graficznych Pamięć w GPU przechowuje dane dla procesora graficznego, służące do wyświetlaniu obrazu na ekran. Pamięć przechowuje m.in. dane wektorów, pikseli, tekstury

Bardziej szczegółowo

PROGRAM STUDIÓW. Egzamin, kolokwium, projekt, aktywność na zajęciach.

PROGRAM STUDIÓW. Egzamin, kolokwium, projekt, aktywność na zajęciach. PROGRAM STUDIÓW I. INFORMACJE OGÓLNE 1. Nazwa jednostki prowadzącej kierunek: W y d z i a ł M a t e m a t y k i i I n f o r m a t y k i 2. Nazwa kierunku: I n f o r m a t y k a 3. Oferowane specjalności:

Bardziej szczegółowo

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.

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

Bardziej szczegółowo

VI. FIGURY GEOMETRYCZNE i MODELE

VI. FIGURY GEOMETRYCZNE i MODELE VI. FIGURY GEOMETRYCZNE i MODELE 6.1. Wprowadzenie Jednym z głównych zastosowań grafiki komputerowej jest modelowanie obiektów, czyli ich opis matematyczny, na podstawie którego na ekranie można stworzyć

Bardziej szczegółowo

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

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

Bardziej szczegółowo

Informatyka i komputerowe wspomaganie prac inżynierskich

Informatyka i komputerowe wspomaganie prac inżynierskich Informatyka i komputerowe wspomaganie prac inżynierskich Dr Zbigniew Kozioł - wykład Dr Grzegorz Górski - laboratorium Wykład III Numeryczne rozwiązywanie równań różniczkowych. MES, Metoda Elementów Skończonych

Bardziej szczegółowo

ZASTOSOWANIE RACHUNKU OPERATORÓW MIKUS- IŃSKIEGO W PEWNYCH ZAGADNIENIACH DYNAMIKI KONSTRUKCJI

ZASTOSOWANIE RACHUNKU OPERATORÓW MIKUS- IŃSKIEGO W PEWNYCH ZAGADNIENIACH DYNAMIKI KONSTRUKCJI Budownictwo 18 Mariusz Poński ZASTOSOWANIE RACHUNKU OPERATORÓW MIKUS- IŃSKIEGO W PEWNYCH ZAGADNIENIACH DYNAMIKI KONSTRUKCJI 1. Metody transformacji całkowych Najczęściej spotykaną metodą rozwiązywania

Bardziej szczegółowo

Obliczenia Wysokiej Wydajności

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

Bardziej szczegółowo

INTERPOLACJA I APROKSYMACJA FUNKCJI

INTERPOLACJA I APROKSYMACJA FUNKCJI Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Wprowadzenie Na czym polega interpolacja? Interpolacja polega

Bardziej szczegółowo

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI Wstęp ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI Problem podejmowania decyzji jest jednym z zagadnień sterowania nadrzędnego. Proces podejmowania decyzji

Bardziej szczegółowo

Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1

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

Bardziej szczegółowo

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne Metody numeryczne materiały do wykładu dla studentów 7. Całkowanie numeryczne 7.1. Całkowanie numeryczne 7.2. Metoda trapezów 7.3. Metoda Simpsona 7.4. Metoda 3/8 Newtona 7.5. Ogólna postać wzorów kwadratur

Bardziej szczegółowo

Algorytmy dla maszyny PRAM

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ń

Bardziej szczegółowo

Kryptografia na procesorach wielordzeniowych

Kryptografia na procesorach wielordzeniowych Kryptografia na procesorach wielordzeniowych Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Kryptografia na procesorach wielordzeniowych p. 1 Plan prezentacji

Bardziej szczegółowo

Obliczenia Wysokiej Wydajności

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

Bardziej szczegółowo

Całkowanie numeryczne

Całkowanie numeryczne Całkowanie numeryczne Poniżej omówione zostanie kilka metod przybliżania operacji całkowania i różniczkowania w szczególności uzależnieniu pochodnej od jej różnic skończonych gdy równanie różniczkowe mamy

Bardziej szczegółowo

Zadania badawcze prowadzone przez Zakład Technik Programowania:

Zadania badawcze prowadzone przez Zakład Technik Programowania: Zadania badawcze prowadzone przez Zakład Technik Programowania: - Opracowanie metod zrównoleglania programów sekwencyjnych o rozszerzonym zakresie stosowalności. - Opracowanie algorytmów obliczenia tranzytywnego

Bardziej szczegółowo

Modelowanie krzywych i powierzchni

Modelowanie krzywych i powierzchni 3 Modelowanie krzywych i powierzchni Modelowanie powierzchniowe jest kolejną metodą po modelowaniu bryłowym sposobem tworzenia części. Jest to też sposób budowy elementu bardziej skomplikowany i wymagający

Bardziej szczegółowo

Modelowanie niezawodności prostych struktur sprzętowych

Modelowanie niezawodności prostych struktur sprzętowych Modelowanie niezawodności prostych struktur sprzętowych W ćwiczeniu tym przedstawione zostaną proste struktury sprzętowe oraz sposób obliczania ich niezawodności przy założeniu, że funkcja niezawodności

Bardziej szczegółowo

Szybka wielobiegunowa metoda elementów brzegowych w analizie układów liniowosprężystych

Szybka wielobiegunowa metoda elementów brzegowych w analizie układów liniowosprężystych Katedra Wytrzymałości Materiałów i Metod Komputerowych Mechaniki Politechnika Śląska, Gliwice Szybka wielobiegunowa metoda elementów brzegowych w analizie układów liniowosprężystych Algorytm SWMEB. Część

Bardziej szczegółowo

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne Wydział: Matematyki Stosowanej Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne Specjalność: Matematyka w informatyce Rocznik: 2013/2014 Język wykładowy: Polski

Bardziej szczegółowo

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Obliczenia symboliczne Symbolic computations Kierunek: Rodzaj przedmiotu: obowiązkowy w ramach treści wspólnych z kierunkiem Informatyka Rodzaj zajęć: wykład,

Bardziej szczegółowo

Przedmioty/moduły. informatycznych. suma 4,0 3,0 4,0 2,0 0,0 0,0 0,0 0,0 0,0 0,0

Przedmioty/moduły. informatycznych. suma 4,0 3,0 4,0 2,0 0,0 0,0 0,0 0,0 0,0 0,0 Załącznik nr 2 do Uchwały nr 1647 Senatu Uniwersytetu w Białymstoku z dnia 17 grudnia 2014 r. PROGRAM STUDIÓW I INFORMACJE OGÓLNE 1. Nazwa jednostki prowadzącej kierunek: Wydział Matematyki i Informatyki

Bardziej szczegółowo

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne Wydział: Matematyki Stosowanej Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne Specjalność: Matematyka ubezpieczeniowa Rocznik: 2013/2014 Język wykładowy: Polski

Bardziej szczegółowo

Metody numeryczne Wykład 4

Metody numeryczne Wykład 4 Metody numeryczne Wykład 4 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Metody skończone rozwiązywania

Bardziej szczegółowo

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne Wydział: Matematyki Stosowanej Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne Specjalność: Matematyka finansowa Rocznik: 2013/2014 Język wykładowy: Polski Semestr

Bardziej szczegółowo

Szybka wielobiegunowa metoda elementów brzegowych w analizie układów liniowosprężystych

Szybka wielobiegunowa metoda elementów brzegowych w analizie układów liniowosprężystych Katedra Wytrzymałości Materiałów i Metod Komputerowych Mechaniki Politechnika Śląska, Gliwice Szybka wielobiegunowa metoda elementów brzegowych w analizie układów liniowosprężystych Algorytm SWMEB. Część

Bardziej szczegółowo

Definicje i przykłady

Definicje i przykłady Rozdział 1 Definicje i przykłady 1.1 Definicja równania różniczkowego 1.1 DEFINICJA. Równaniem różniczkowym zwyczajnym rzędu n nazywamy równanie F (t, x, ẋ, ẍ,..., x (n) ) = 0. (1.1) W równaniu tym t jest

Bardziej szczegółowo

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2016/2017

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2016/2017 Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Inżynierii Środowiska obowiązuje studentów rozpoczynających studia w roku akademickim 206/207 Kierunek studiów: Budownictwo Profil:

Bardziej szczegółowo

WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU

WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU Zał. nr 4 do ZW WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU Nazwa w języku polskim PAKIETY MATEMATYCZNE Nazwa w języku angielskim Mathematical Programming Packages Kierunek studiów (jeśli

Bardziej szczegółowo

Programowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1

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ń

Bardziej szczegółowo