Nasze symulacje dynamiki plazmy często generują zbyt wiele informacji. Podczas symulacji rejestrujemy różne właściwości fizyczne na siatce (x, y, z, t), która jest tak duża jak (8192x1024x1024x1500), dla co najmniej 10 właściwości. Informacje te są przetwarzane po zakończeniu symulacji. Dzięki temu my
- robić filmy o nieruchomościach,
- wykonać analizę Fouriera,
- obliczyć średnie właściwości.
Ten prosty zrzut jak największej ilości informacji działał dobrze, gdy badaliśmy mniejsze systemy. To dało nam elastyczność w interakcji z wynikami i późniejszego decydowania, co chcemy z tym zrobić. Pozwoliło nam to również przeznaczyć nasze zasoby obliczeniowe (czas procesora) na proste uruchomienie symulacji.
Rozpoczęliśmy proces wykonywania analizy Fouriera w locie i filtrowania tylko dla wybranego zakresu skal długości. Z powodów numerycznych czasami musimy rozwiązać skale długości, które są mniejsze niż jesteśmy w rzeczywistości zainteresowani, więc w takich przypadkach ten filtr bardzo pomaga. Badamy również różne równoległe biblioteki we / wy , np. Opcje równoległych we / wy, w szczególności równoległe HDF5 .
Jakie strategie są dostępne, aby zmaksymalizować wydajność przetwarzania danych?
Czy jest jakaś korzyść z przeprowadzania wszystkich analiz (bez przetwarzania końcowego, np. Filmów i fabuł) na bieżąco?
Mogę sobie wyobrazić ten problem pojawiający się w innych obszarach badań. Na przykład możesz mieć symulację dynamiki molekularnej, która musi ewoluować przez długi czas, ale interesuje Cię krótki moment, w którym dzieje się coś interesującego. Lub w CFD, wczesny rozwój może być powolny, ale gdy pojawią się turbulencje, może być potrzebna wyższa rozdzielczość czasowa do monitorowania dynamiki.
Czy są dostępne bezpłatnie przykłady wyrafinowanego zbioru wyników z symulacji?