FPGAs differ from CPUs and GPUs in some ways. One important difference when compared to CPU or GPU is generating a device binary for FPGA hardware that is a computationally intensive and time-consuming process. It is normal for an FPGA compile to take several hours to complete. For this reason, only ahead-of-time (or
) kernel compilation mode is supported for FPGA. The long compile time for FPGA hardware makes just-in-time (or
) compilation impractical.
Longer compile times are detrimental to developer productivity. The
provides several mechanisms that enable you to target FPGA and iterate quickly on your designs. By circumventing the time-consuming process of full FPGA compilation wherever possible, you can benefit from the faster compile times that you are familiar with for CPU and GPU development.