14

It seems like it would help a great deal to store as much of the image as possible on the GPU for panning and zooming, etc.

We deal with a lot of very large images. Many range from 8 GB to hundreds of GBs in size. At home I've got a 40" 4k monitor and a GTX Titan with 12 GB of video memory, and it performs amazingly well for everything I throw at it. It also looks great when viewing imagery. Is that setup overkill for GIS image processing work?

Would QGIS, ArcMap and PCI Geomatica be able to take advantage of abundant graphics memory when dealing with multi gigabyte images and image mosaics in the range of hundreds of gigabytes?

What GIS applications would see the most benefit from an abundance of GPU memory when dealing with large images?

  • 4
    For a program like ArcMap, having a high-end GPU is not critically important for working with large rasters. Rather, it is advisable to have large amounts of RAM to deal with raster processing such as mosaicing. Unfortunately, ArcGIS has very limited GPU processing capabilities. I cannot speak for QGIS or PCI. It may be worth looking into image processing with Matlab due to excellent GPU processor support. – Aaron Oct 20 '15 at 22:33
  • 3
    The GIS software I'm aware of that makes the most of GPU horsepower is Manifold GIS. I believe it supports up to four GPUs using Nvidia CUDA cores. It's also native 64 bit and will take advantage of both multi-core and multi-cpu configurations. Set up right, a Manifold machine can be a beast. Unfortunately, ArcGIS and QGIS are way behind in that regard. I don't know about PCI Geomatics. – Baltok Oct 20 '15 at 22:42
  • 1
    As @Aaron said ArcGis likes more RAM on board and a faster HDD (or SSD)... it has to do with the way it renders as caches in RAM and essentially throws the compiled bitmap to the graphics card for display - all the work is done by a single thread in mainboard memory. As for being behind the times, Esri is still a single thread application despite multiple cores being available since the late 90's; a lot of us are hoping the start from scratch approach of ArcGis Pro will allow multi thread support. – Michael Stimson Oct 20 '15 at 23:20
  • 1
    Some specific tools are being enhanced to specifically take advantage of high end GPU, like Viewshed2 A number of tools, mosaic processing ones for example can take advantage of multiple cores in ArcGIS 10.2+ – KHibma Oct 29 '15 at 1:50
16

Esri has released ArcGIS Pro, which makes use of the GPU for rendering and some processing:

In ArcGIS Pro, the graphics engine limits drawing based on the abilities of your graphics processing unit (GPU).

Spatial Analyst now offers enhanced performance with the use of Graphics Processing Unit (GPU) processing for some tools. This technology takes advantage of the computing power of the graphics card in modern computers to improve the performance of certain operations.

3

The only GIS that utilize GPU power for processing data is called MapD. Harvard Tweetmap data are processed through this software.

Harvard Tweetmap Powered by MapD

MapD Project -- Massive Spatial Data Computing

Another way is to install ArcGIS background processing for 64-bit processor.

That will absolutely decrease the raster image calculation time as they are all in the background process.

ArcGIS Background Geoprocessing

3

For image processing, there are currently two projects that deal with this:

Those projects are dealing directly with parallel systems (as GPU processing and High Performance Computing), but not limited to it , and being able to implement on distributed systems. GIS Tools for Hadoop was initially designed to work on a Hadoop environment, but now they are movimg to Spark. Geotrellis was directly involved with Spark.

One issue to consider when dealing with parallel/distributed computing on image processing/remote sensing, is that the majority of algorithms have implementation that serializes the data while processing, so the big effort on projects nowadays is moving those legacy algorithms to work on distrubuted data structures, which is quite challenging.

2

I wouldn't overgeneralize and say "GIS software doesn't use GPU for processing" when talking just about ArcMap. Anything that uses OpenGL or DirectX with shaders will take advantage of GPU memory: Google Earth, ArcScene/ArcGlobe, ENVI, OpenSceneGraph, AmigoCloud, CesiumJS, etc.

  • Rendering is not the same as porting algorithms to the GPU, which particularly for vectors, is much more challenging. – John Powell Feb 9 at 13:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.