GPUs vs FPGAs
The answer depends on what exactly you're trying to accelerate.
GPU is really a "software acceleration" that can accelerate certain class of compute-intensive applications. The only interface to the GPU (nVidia or AMD) is PCI Express.
FPGA, on the other hand, can be used for a broader range of accelerations. It has customizable IOs, so it can interface with any chip (with compatible signal levels, speed, number of IOs).
Examples: TCP/IP checksum offload, ecryption/decryption, audio codec, applications that requre very low and predictable latency.
But it's not only technical factors constraining your design decision. It requires developers with very specific skills and experience. And those are hard to get...