With the current hybridization of treecodes and FMMs, combined with auto-tuning capabilities on heterogeneous architectures, the flexibility of fast N-body methods has been greatly enhanced. These features are a requirement to developing a black- box software library for fast N-body algorithms on heterogeneous systems, which is our immediate goal.