Для «сдачи в аренду» я должен указать необходимые вычислительные ресурсы в вычислительном центре моего университета. Я очень мало представляю, о чем просить.
Учитывая приведенную ниже информацию, можете ли вы что-то предложить?
Это вычислительный кластер: «Десять блейд-сервер с каждым блейдом, состоящим из 2 четырехъядерных процессоров Intel Xeon 2,33 ГГц с 16 ГБ памяти для общего количества 80 ЦП и 160 ГБ памяти. Учетные записи в дисковой системе объемом 2 ТБ. Работает 64-битный Linux "
При сжатии без потерь исходные данные представляют собой один файл формата TIF 50 ГБ. В какой-то момент я буду работать с несколькими (до десяти) файлами размером 50 ГБ.
Я бы использовал GDAL, скрипты на Python и, возможно, скрипты на C ++. Если бы позволили, я бы использовал такие программы, как Grass GIS и Saga GIS. Также R язык с пространственными библиотеками. Я буду выводить обычные параметры рельефа, пытаться применять объектно-ориентированные алгоритмы для извлечения специфических объектов (рельефов) и использовать статистический анализ для целей описания и моделирования.
Ответы:
Как сказал DavidF в комментариях, более важной является государственность, не говоря уже о машине, вы не можете запустить (или это не очень хорошая идея) матрицу алгебры 50 ГБ со всей матрицей сразу, поскольку концептуально это означает, что вся матрица должен быть записан в память.
Хорошая стратегия, быстрая, очень легкая и эффективная - это использовать gdal_calc , он читает и записывает растр порциями, поэтому он очень эффективно использует память.
Например: gdal_calc.py -A input.tif -B input2.tif --outfile = result.tif --calc = "(A + B) / 2"
Попробуйте, вполне вероятно, что вы можете запустить обработку на своем рабочем столе, и тогда вам может понадобиться более совершенная машина для ускорения процесса или нет.
Obs: вам нужно спамить несколько процессов gdal_calc, чтобы использовать преимущества многоядерных процессоров.
источник