FCUDA: Enabling Efficient Compilation of CUDA Kernels onto FPGAs