This methodology matches what we advocate at Vector Fabrics. At Vector Fabrics, we encourage developers to use their current expertise on sequential programming to develop their applications. Then, they gradually transform their applications to a parallel implementation. These transformations are guided by powerful tools that ensure a correct and efficient implementation on the target hardware. This flow is much cheaper and lower risk than the alternative of working directly with low-level parallel programming.
Intel’s and Vector Fabrics’ technologies leverage existing sequential development methodologies and infrastructure. In addition, the technologies complement each other. A developer uses powerful analysis tools (for example our vfEmbedded tool) to find the parallel sections in the application and then to identify the sections that yield the most speedup with least effort. Then, the developer can use a parallel programming API that allows incremental, cheap parallelization of code such as Cilk++ or OpenMP.
Agreed, not all parallel algorithms can be developed using this methodology. Nevertheless, a project that uses tools to exploit parallelism present in sequential code can free up resources to tackle the more challenging parallelization problems.