  In this paper, we present an early version of a SYCL-based FFT library,
capable of running on all major vendor hardware, including CPUs and GPUs from
AMD, ARM, Intel and NVIDIA. Although preliminary, the aim of this work is to
seed further developments for a rich set of features for calculating FFTs. It
has the advantage over existing portable FFT libraries in that it is
single-source, and therefore removes the complexities that arise due to
abundant use of pre-process macros and auto-generated kernels to target
different architectures. We exercise two SYCL-enabled compilers, Codeplay
ComputeCpp and Intel's open-source LLVM project, to evaluate performance
portability of our SYCL-based FFT on various heterogeneous architectures. The
current limitations of our library is it supports single-dimension FFTs up to
$2^{11}$ in length and base-2 input sequences. We compare our results with
highly optimized vendor specific FFT libraries and provide a detailed analysis
to demonstrate a fair level of performance, as well as potential sources of
performance bottlenecks.
