Que signifie l'adoption de Python par NVIDIA pour GPGPU pour GIS?

25

NVIDIA a annoncé aujourd'hui la prise en charge du langage Python sur sa version GPGPU ( CUDA ).

Manifold GIS utilise CUDA pour permettre certaines opérations de trame accélérées, mais ce n'est pas un environnement programmable et est limité aux fonctions fournies par son développeur.

Avec Python, utilisé dans de nombreux packages SIG, y compris ArcGIS et QGIS (ainsi que les packages numpy et sciypy), pris en charge en tant que langage CUDA de première classe, quelles sont les perspectives pour pouvoir tirer parti de GPGPU dans ces packages SIG traditionnels?

blah238
la source
2
Quelqu'un a-t-il essayé d'utiliser la distribution Anaconda Python avec ArcGIS / QGIS?
blah238
2
cet article traite des avantages des opérations de géotraitement basées sur GPU blogs.esri.com/esri/apl/2010/03/30/…
geogeek
Une bonne lecture, mais il est quelque peu décevant de voir que cet article a 3 ans - je ne m'attends pas à voir quelque chose comme ça avec 10.2, mais peut-être à la conférence des développeurs la semaine prochaine, ils auront quelques surprises.
blah238
Je me demandais simplement si le titre et la balise à ce sujet devraient être Desktop GIS et ArcGIS-desktop. De plus, il peut s'agir de quelque chose qui arrive dans ArcGIS Pro. Je pensais avoir lu ce dernier quelque part mais je n'ai pas trouvé de lien pour l'instant.
PolyGeo
Je ne pense pas. Python est également utilisé sur les serveurs. OMI générique la mieux conservée.
blah238

Réponses:

2

Je pense que la licence va être la balle qui pourrait arrêter (probablement QGIS) ce rêve devenu réalité. D'après le communiqué de presse, NVIDIA vient de mettre son sceau d'approbation sur la capacité NumbraPro propriétaire de Continuum Analytics d'accéder à NVIDIA CUDA. Nvidia lui-même ne fournit pas d'accès natif pour les Pythoners à l'environnement CUDA.

Si je comprends bien: le compilateur NumbraPro prend le script Python, crée un code C / C ++ optimisé qui se compile ensuite sous le compilateur de LLVM qui prend en charge les GPU de NVIDIA. Cela permet au langage Python de fonctionner aux performances des langages de niveau inférieur, bien que le temps de compilation soit plus long en raison de l'étape supplémentaire, qu'il ne l'aurait mis en œuvre en C / C ++ simple.


Cependant, en jetant un rapide coup d'œil sur le Web, il existe déjà un support pour les liaisons Python à LLVM. Je ne connais pas les liaisons Python dans LLVM mais si cela ressemble à une programmation parallèle en Python simple ... Je vais laisser quelqu'un d'autre se débattre avec plus de 800 threads et comment partager leurs états.

Il pourrait donc simplement s'agir de trouver quelqu'un prêt à travailler sur ce projet pour obtenir Python LLVM en GPU en SIG. Le côté obscur de cela nécessiterait un composant supplémentaire, à savoir le compilateur LLVM à inclure dans n'importe quel plugin ou suite SIG. Ballonnement supplémentaire.

RomaH
la source