Tiffany Trader, HPC Wire, Practical Advice for Knights Landing, here.
When it comes to manycore systems, some codes work better than others. Issues occur when codes do not offer sufficient fine-grained parallelism to keep all the cores busy or there is too much data going from the host processor to the accelerator. The benefit of accelerated computing has to outweigh the penalty of moving the data. Getting codes to run well requires a lot of effort.