À des fins de «location», je dois spécifier les ressources informatiques dont j'ai besoin depuis le centre de calcul de mon université. J'ai très peu d'idée de quoi demander.
Compte tenu des informations ci-dessous, pourriez-vous suggérer quelque chose?
Il s'agit du cluster de calcul: "Un serveur à dix lames avec chaque lame composée de 2 processeurs Intel Core Xeon 2,33 GHz à 16 Go avec 16 Go de mémoire pour un total de 80 processeurs et 160 Go de mémoire. Comptes sur un système de disque de 2 To. Linux 64 bits "
Avec la compression sans perte, les données d'origine sont un fichier tiff de 50 Go. À un moment donné, je travaillerai avec plusieurs (jusqu'à dix) fichiers de 50 Go.
J'utiliserais GDAL, les scripts Python et peut-être les scripts C ++. Si cela était autorisé, j'utiliserais des logiciels comme Grass GIS et Saga GIS. Aussi, langage R avec bibliothèques spatiales. Je vais dériver les paramètres de terrain habituels, essayer d'appliquer des algorithmes orientés objet pour l'extraction de caractéristiques spécifiques (reliefs) et utiliser l'analyse statistique à des fins descriptives et de modélisation.
Réponses:
Comme DavidF l'a déclaré dans les commentaires, la stratégie est la plus importante, peu importe la machine, vous ne pouvez pas exécuter (ou ce n'est pas une bonne idée d'exécuter) une algèbre matricielle de 50 Go avec la matrice entière à la fois, car cela implique conceptuellement que la matrice entière doit être écrit en mémoire.
Une bonne stratégie, rapide, très simple et efficace consiste à utiliser gdal_calc , à lire et à écrire le raster en morceaux donc il est très efficace en mémoire.
Par exemple: gdal_calc.py -A input.tif -B input2.tif --outfile = result.tif --calc = "(A + B) / 2"
Essayez-le, il est très probable que vous puissiez exécuter le traitement sur votre bureau, puis vous aurez peut-être juste besoin d'une meilleure machine pour accélérer le processus ou non.
Obs: vous devez spammer plusieurs processus gdal_calc pour tirer parti des processeurs multicœurs.
la source