Multi-Core Programming with C++

The Multi-Core Programming with C++ training course is designed to create a baseline level awareness of multi-core programming. The course begins with a look at multi-core architecture. It then moves into an examination of how to create multi-core C++ applications. Finally, the course concludes by diving into the implementation of multi-core C++ applications.

Course Summary

Purpose: 
To create a baseline level of experience with multi-core programming
Audience: 
Developers that are new to or have minimal experience with embedded programming
Skill Level: 
Learning Style: 

Workshops are instructor-led lab-intensives focused on the practical application of technologies through the facilitation of a project-related lab. Workshops are just the opposite of Seminars. They deliver the highest level of knowledge transfer of any format. Think wide (breadth) and deep (depth).

Workshop help
Duration: 
4 Days
Productivity Objectives: 
  • Design multi-core solutions
  • Write multi-core production code
  • Create a baseline level of multi-core experience

What You'll Learn

In the Multi-Core Programming with C++ training course you’ll learn:

  • Working with multi-core architecture
    • Understanding multi-core architectures
    • Advantages and disadvantages
    • How to port single core solutions to multi-core solutions
    • Considerations and impacts
    • Determining if a solution would be beneficial on multi-core platform
    • VxWorks and Green Hills capabilities
    • Software lifecycle and workflow changes in a multi-core world
    • ARM, Intel, and other multi-core platforms
  • Creating Multi-core C++ applications
    • Overview of Parallel programming concepts
    • Overview of Threading concepts
    • Thread management in the RTOS
    • Threads and Cores – how do they work together
    • Threading considerations (race conditions, deadlock, priorities, etc.)
    • Synchronization solutions: (semaphores, spinlocks, RCU etc)
    • Embedded: cache alignment
    • Threading frameworks
  • Implementing Multi-core C++ applications
    • Choice of threading libraries
    • Pthreads (Posix Threads)
    • OpenMP
    • Multithreading in C++/11
    • GUI: Qt and Qthreads
    • CPU scheduling
    • Memory Management in multithreading
    • Multicore/multithread: troubleshooting and debugging
    • Multicore/multithread: performance analysis
    • Common pitfalls and their fixes
      • Parallelization opportunities and blockers
      • Data corrupters
      • Parallelization and (anti-)patterns
    • Examples: number crunching.
    • Examples: consumer/producer
    • Examples: image filtering using multithreading

Get Custom Training Quote

We'll work with you to design a custom Multi-Core Programming with C++ training program that meets your specific needs. A 100% guaranteed plan that works for you, your team, and your budget.

Learn More

Chat with one of our Program Managers from our Boulder, Colorado office to discuss various training options.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients
Need help finding the right learning solution?   Call us: 877-629-5631