The bar of semiconductor performance is being raised with the rapid proliferation of multicore & manycore technologies in the computing industry. While the era of a free performance boost that was gained by just migrating onto a chip with a higher frequency is coming to an end, architects and developers are poised with a new challenge at the dawn of multicore.

he parallel programming challenge that includes:

  • New parallel programming paradigms and frameworks
  • Scarcity of skills, steep learning curve
  • Protecting legacy software investments
  • Diversity in multicore architectures: homogenous, heterogeneous, shared & distributed memory.
  • Constraints on sequential to parallel speed-up potential - Amdahl’s law
  • Increased development time, efforts and cost
  • Debugging and Troubleshooting concurrency issues
  • Availability of Parallel programming tools
  • Ensuring parallel code reliability with respect to sequential legacy code
  • Ensuring portability and performance scalability on future architectures with increased core count

A multicore migration programme can also stretch the product’s time to market. In a competitive industry where every other vendor is engineering their product for enhanced performance and racing to put their product first in the market, then why be left behind?

In such a scenario, Intecore can assist your engineering teams in your multicore migration and performance boosting efforts, while you completely focus on innovation and creating product differentiation.

Intecore's POV on the four major aspects of Multicore adoption:

Intecore conceptualises four major aspects and concerns that typically influences an organisation's decision to venture into a multicore programme. These aspects are illustrated in the following figure:

Multicore services at Intecore are rightly tuned to address the parallel programming challenges and the adoption concerns. Our architects and programmers have skills in parallel programming models, multicore processor architectures and have good understanding of the Industry applications that benefits from multicore. We have skills in both compute bound and data bound problem space for both Embedded and HPC applications.

The following stack highlights our Multicore Software Services:

 

For Product / System vendors:

  • Legacy (Sequential) application performance profiling
  • Assessment of multicore migration project - performance potential, efforts & feasibility
  • Parallelization of the legacy applications
  • Algorithms refactoring or parallelization for concurrent execution
  • Incremental migration to multicore - shared memory architectures using OpenMP
  • Migration of Fortran based legacy applications to multicore platforms
  • Complete Porting to the new multicore system hardware - low level services
  • Interfacing to the virtualization environment
  • Parallel Performance profiling, analysis, tuning & optimization
  • Debugging & Troubleshooting common concurrency bugs/problems
  • Developing Benchmarking test scenarios/cases for performance measurements
  • Functional & Performance validation against legacy sequential program.
  • Development of new parallel applications that are multicore ready

For Semiconductor vendors:

  • Board / Processor Architecture level optimization services
  • OpenCL based Device abstraction layer development
  • Target specific high performance library migration - BLAS, FFTW, LAPACK

Our Approach:

Intecore's approach to ‘multicore migration’ leverages a process framework which employs a systematic methodology. The migration process framework is made up of three constituent model phases: "Assessment model", "Migration model" and the "Verification and Validation" model as shown below. Our customers can engage us in any combination of the model phases.

Multicore Migration Process Framework

Please click here to view the technologies supported in our multicore practice.