Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałPrzemysł Domalewski Został zmieniony 11 lat temu
1
Zadanie do wykonania Przepływ ciepła na kwadratowej płytce – Muscle
Zaproponować algorytm oparty na metodzie różnicowej do rozwiązywania równania dyfuzji: δ2T/δx2 + δ2T/δy2 + f(x,y,t) – δT/δt = 0 Założyć ustalona wartość temperatury na brzegu.
2
Jak to ugryźć? Interesował nas nie tylko sam algorytm różnicowy, ale także możliwość rozdzielenia obliczeń na kilka równoległych wątków. Osiągnęliśmy kilka wariantów: Użycie 1 wątku – podstawowa wersja (bez Muscle) Użycie 2 wątków – podział aplikacji na 2 okna rozkładu temperatury. Użycie więcej wątków – podział aplikacji na 4 okna z rozkładami temperatur.
3
Kolejne etapy przepływu ciepła.
Wariant 1)
4
Wariant 2) Kolejne etapy przepływu ciepła. Warunki brzegowe: [ 1 0 ]
[ 1 0 ] [ 0 1 ] Wariant 2)
5
Wariant 3) Warunki brzegowe: [ 1 -1 ] [ -1 -1 ]
[ ] [ ] Kolejne etapy przepływu ciepła. Wariant 3)
6
Synchronizacja Na komputerach wykorzystywanych do implementacji czasy uzyskane dla 2 wątków nie różnią się od czasów uzyskanych dla większej ilości. Nie udało się nam zmusić platformy Gridspace2 do współpracy z aplikacją w wersji wielowątkowej. W efekcie, wykorzystaliśmy dla porównania czasów domowy PC z procesorem Core2Quad.
7
Próba nr 1 Płytka 200x200 2000 kroków Uzyskane czasy:
2 płytki 4 płytki real s real s user s user s sys s sys s
8
Próba nr 2 Płytka 200x200 4000 kroków Uzyskane czasy:
2 płytki 4 płytki real s real s user s user s sys s sys s
9
Wnioski Wynikowy zysk przy zastosowanej metodzie zależy nie tylko ściśle od implementacji, ale także od możliwości sprzętowych procesora. Najprawdopodobniej przy większej liczbie wątków, przy użyciu klastrów z platformy Gridspace2 uzyskalibyśmy proporcjonalnie mniejsze pomiary.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.