Migrating and old vector code to modern vector machines

A legacy code means an important code for its application area and, because of the importance, it has been maintained for a long time. This paper presents a case study of migrating a legacy code to two modern vector systems, NEC SX-ACE and Intel Xeon Phi (Knights Landing, KNL). We first demonstrate that the legacy code written for old vector systems might not be appropriate for modern vector systems, and discusses how to maintain multiple code variants while keeping the application code as clean as possible.