FAQ: Running GPU programs on systems with no GPU

Q. Can I run my program on a machine that doesn’t have a GPU accelerator, or do I have to manage two separate binaries?

A. Yes; PGI accelerator compilers support the PGI Unified Binary feature, which allows you to generate optimized code for multiple CPU types in a single executable, selecting at runtime, depending on the actual processor on which it is run, which code to run. We have extended this for accelerators to generate code that will run on the GPU or on the host, in the same executable. At run time, the program will test for presence of the GPU, and use it if it is available. It there is no GPU, the program will run the host-only code.