Best GPU for Photogrammetry – OpenCL vs. CUDA

Pixpro Team Lukas Zmejevskis
Aug 18, 2022

Photogrammetry project creation is a heavy task for any computer. Hundreds of thousands of photos must be put through dozens of algorithms crunching gigabytes of data in real-time. Energy and time consumption – a price you must pay to turn 2D photos into 3D models. Let us look deeper into the technology and explain the most used tech jargon in photogrammetric computation.

GPU – Photogrammetry Workhorse

GPU does most of the heavy lifting in photogrammetric processing. Primary GPU function in a PC is to output the display and graphics to a screen – hence the name Graphics Processing Unit. However, the processing part is helpful in many other applications besides visual output.
The graphics card in your computer comes with technology that, in specific applications, performs much more efficiently than the CPU. It includes photogrammetric computation. GPUs are exceedingly good at parallel operations – running many similar tasks simultaneously. GPUs can also “go through” a lot of data due to the massive data throughput capability enabled by fast video memory (VRAM) onboard. On the other hand, CPUs can handle fewer but more challenging tasks and usually have more, slower RAM available.

Different Types of GPUs

GPU units fundamentally are the same, containing the same technological parts and features. Still, we can classify graphics cards and chips following practical use cases and dispel some myths along the way:

Workstation graphics cards – are the most capable consumer products for computation. For workstations, GPU computation is the primary purpose. They usually are costly and feature a lot of VRAM. Good fit for photogrammetry but not the most cost-effective.

Desktop graphics cards – this segment contains the most variation, from low-end cards just for a display output to large and powerful cards made for high-end gaming and work applications. Any card containing 8 gigabytes or more of VRAM will probably be suitable for photogrammetric processing. The more powerful the card is – the better. Still, the most cost-effective options are probably medium to medium-high-end graphics cards.

Note: most manufacturers market high-end consumer graphics cards as gaming cards. It does not mean that these products are unsuitable for photogrammetric processing. On the contrary – the better the card is for gaming, the better it will be for photogrammetry or other work. Gaming is as heavy a task as any other.

Laptop graphics cards are essentially the same units as desktop computers but less potent due to power consumption restrictions in the portable form factor. The more powerful the GPU and the more the VRAM it has, the better it will be for photogrammetric processing. Remember that you can take full advantage of powerful laptop hardware only if the laptop is adequately cooled and plugged in. 

Integrated GPUs – these units are chips integrated with CPUs. Integrated graphics are always less powerful than dedicated standalone cards; still, you can use good ones for lighter photogrammetric processing tasks. Integrated GPUs use RAM as VRAM. If you plan on using integrated graphics for your photogrammetric processing tasks, keep in mind that you will not be able to process thousands of photos.

Mobile Device GPUs – all mobile devices contain GPUs that are getting more powerful. It means that local photogrammetric processing on mobile devices is coming soon, but we are not quite there yet.

OpenCL vs. CUDA Differences

GPUs utilize specific GPU frameworks. For computation tasks, there are two well-known systems for using a GPU that you might have heard of – Nvidia CUDA and OpenCL.

CUDA – short for Compute Unified Device Architecture – is a proprietary NVIDIA API made specifically to use with NVIDIA GPUs containing CUDA cores.

OpenCL – Open Computing Language – is more of a programming language made for any processing unit.

The main difference between these two is that the CUDA API works with Nvidia GPUs only. If your photogrammetry software only supports CUDA-based processing, you must be in the Nvidia GPU ecosystem. Whereas OpenCL can work with everything.

Pixpro photogrammetry software uses OpenCL programming for the heaviest tasks. Therefore you can use any GPU that supports OpenCL 1.2 or later. It includes Nvidia, Intel, and AMD GPUs, both integrated and dedicated ones.

Balance With Other Hardware

One thing we cannot forget is that not only the GPU is responsible for overall software usage. You cannot have a powerful GPU with everything else being subpar. The CPU, RAM, and storage are vital parts of a competent local processing machine. To read more about recommended hardware for photogrammetry – check out our earlier blog post here:

PC For Photogrammetry – What Hardware Do You Need?

Your GPU for Photogrammetry

With the hardware basics of computers down, you can now make an educated decision about the Photogrammetry software you need for your PC. Inversely you can choose a PC for your favorite software as well. You might be limited to a single manufacturer GPU choice with some photogrammetry software. With Pixpro, you do not have that limitation. Pixpro can utilize any competent machine for local processing. And if you rely on our cloud processing service, you can still use a lesser device.

About the author
Lukas Zmejevskis

Photographer - Drone Pilot - Photogrammetrist. Years of experience in gathering data for photogrammetry projects, client support and consultations, software testing, and working with development and marketing teams. Feel free to contact me via Pixpro Discord or email (l.zmejevskis@pix-pro.com) if you have any questions about our blog.

Ready to get started with your project?

You can choose from our three different plans or ask for a custom solution where you can process as many photos as you can!

Free 14-day trial. Cancel any time.

Welcome to Pixpro

Sign in

And access your account.

Do not have an account? Sign Up

There were errors with your submission