Do celów „wynajmu” muszę określić zasoby komputerowe, których potrzebuję z centrum komputerowego na moim uniwersytecie. Nie mam pojęcia, o co prosić.
Biorąc pod uwagę poniższe informacje, możesz coś zasugerować?
Oto klaster obliczeniowy: „Serwer z dziesięcioma serwerami kasetowymi na każdy serwer kasetowy składający się z 2 czterordzeniowych procesorów Intel Xeon 2,33 GHz z 16 GB pamięci dla łącznie 80 procesorów i 160 GB pamięci. Konta w systemie dyskowym 2 TB. 64-bitowy system Linux ”
Dzięki kompresji bezstratnej oryginalne dane to jeden plik tiff 50 GB. W pewnym momencie będę pracować z kilkoma (do dziesięciu) plikami o rozmiarze 50 GB.
Korzystałbym ze skryptów GDAL, Python i może C ++. Jeśli pozwolę, korzystam z oprogramowania takiego jak Grass GIS i Saga GIS. Ponadto język R z bibliotekami przestrzennymi. Będę wyprowadzać zwykłe parametry terenu, próbując zastosować algorytmy obiektowe do wydobywania określonych cech (form terenu) i wykorzystywać analizę statystyczną do celów opisowych i modelowania.
Odpowiedzi:
Jak stwierdził DavidF w komentarzach, ważniejsza jest strategia, nie wspominając o maszynie, nie można uruchomić (lub nie jest dobrym pomysłem uruchomienie) algebry macierzy 50 GB z całą macierzą naraz, ponieważ koncepcyjnie oznacza to, że cała macierz musi być zapisany w pamięci.
Dobrą strategią, szybką, bardzo łatwą i wydajną jest użycie gdal_calc , odczytuje i zapisuje raster w porcjach , dzięki czemu jest bardzo wydajny pod względem pamięci.
Na przykład: gdal_calc.py -A input.tif -B input2.tif --outfile = result.tif --calc = "(A + B) / 2"
Wypróbuj, jest bardzo prawdopodobne, że możesz uruchomić przetwarzanie na pulpicie, a wtedy możesz potrzebować lepszej maszyny, aby przyspieszyć proces lub nie.
Obs: Musisz spamować wiele procesów gdal_calc, aby skorzystać z procesorów wielordzeniowych.
źródło