nCore logo and header

NCT-450 MCAPI Programming


This course covers concepts and approaches related to the design and implementation of multicore software using MCAPI, a standard lightweight communications API created by the Multicore Association and defined for closely distributed (multiple cores on a chip and/or chips on a board) embedded systems. MCAPI captures the basic elements of communication and synchronization that are required for such systems, simplifying the migration of applications from a single core to multicore. Ultimately, MCAPI provides a simple, efficient, and consistent multicore programming model across different types and numbers of cores, operating systems, and physical transports.


Length: 2 Days Cost: $1895


Download PDF Brochure | Register Now | Contact nCore | FAQ
Pre-Assessment | Testimonials


Who Should Attend

System and software architects, developers, team leaders and managers seeking to understand and implement software using MCAPI.

You Should Already Know

Knowledge of the C/C++ programming language and intermediate C/C++ software development experience is a pre-requisite for this course.


  • Experience a comprehensive training workshop: NCT-450 offers an in-depth overview of fundamental concepts, while offering advanced training and practical advice on developing MCAPI software using C/C++.
  • Gain critical insights on how to improve your software's performance: Students will learn to more easily analyze applications, create topology maps, implement MCAPI communications, and reconfigure applications by using specialized tools to better manage the migration to multicore deployment. Students also will learn to correctly architect, design, and develop efficient parallel applications for multicore processors.
  • Enjoy additional hands-on learning: NCT-450 provides laboratory sessions in writing MCAPI programs and exercises on practical parallelization of legacy software. It also includes walk-through laboratory exercises designed to increase your understanding of multicore processors and communications.
  • Master PolyCore Software's MCAPI tools to achieve further time savings for multicore developers: Students will gain an understanding of load balancing, learn to minimize communication overheard to optimize performance, and experience simplified code generation.

What You'll Learn

  • Introduce multicore standardization issues and why MCAPI benefits system developers (e.g., API for source level portability, small footprint, scalable to one or many cores, allows for more complex functionality on top).
  • Learn to leverage open standards and produce programs that take advantage of multicore processors on heterogeneous and homogenous systems.
  • Provide in-depth overview of MCAPI fundamentals and operations.
  • Explain the functional areas of MCAPI: topology management, modes of communication (connectionless messages, connected channels, packet channels, and scalar channels), non-blocking management, and error handling.
  • Analyze MCAPI case studies to better understand the MCAPI programming model.
  • Examine programming methods that rely on message passing and shared memory and understand the key API features.
  • Discuss strategies that make the most of MCAPI during the migration process, including load balancing, minimizing communication overhead, and shared memory communication versus computation.
  • Understand and use MCAPI code templates to further simplify communication between cores on one or more chips when migrating applications.
  • Provide hands-on experience with PolyCore Software MCAPI tools to learn how to remap and reconfigure without changing the application's source code.
  • Conduct labs that allow students to try many configurations in a short period of time, a highlight of the PolyCore MCAPI tools.



What Clients Say

“As always, the instructor’s knowledge level and material presented were great. The instructor truly is an expert and it shows in every presentation.”

More Testimonials

The Multicore Association