High Performance Scientific Computing with C [Video]

More Information
  • Use the C programming language to write numerical code
  • Get to know Core algorithms used in scientific computing
  • See how CPU design limits program performance
  • Control the speed and accuracy of your programs 
  • Know the limitations of inaccuracy and performance and tradeoffs between them
  • Use modern parallel architectures, distributed systems, and GPGPU accelerators to speed up your programs
  • Optimize and extend your code to use multiple cores with OpenMP and across multiple networked machines using MPI

In this course, you’ll learn to develop scientific and numerical programs that solve problems. It’s ideal for scientists, engineers, and programmers who need to model mathematical or physical systems. You’ll get a core toolkit of algorithms that can be used in a wide variety of applications, using the low-level capabilities of the C programming language.

The close-to-the-metal approach means you’ll learn to optimize our programs to get the absolute best performance that our hardware can provide. You’ll see how the design of algorithms affects their performance and accuracy, the tools that can be used to optimize your code and develop your intuition about numerical problems. Finally, you’ll examine the growing array of parallel solutions that enable you to take advantage of multi-core CPUs, distributed compute clusters and GPU accelerators.

By the end of this course, you’ll know how to write fast, accurate code that can run on many different platforms and solve many different scientific problems.

The code bundle for this video course is available at- https://github.com/PacktPublishing/High-Performance-Scientific-Computing-With-C

Style and Approach

A hands-on step-by-step approach that will take you through the important concepts of scientific and numerical computing with C.

  • Practical examples to understand scientific and mathematical coding in C
  • Get basic, general programming knowledge of the tools and techniques needed to write scientific codes from scratch
  • Explore key concepts of how numerical algorithms work and their optimization using parallel architectures, distributed systems, and GPGPU accelerators
Course Length 2 hours 16 minutes
ISBN 9781789137842
Date Of Publication 19 Aug 2018


Benjamin Walter Keller

Benjamin Walter Keller is currently a PhD candidate at McMaster University and gained his BSc in physics with a minor in computer science from the University of Calgary in 2011. His current research involves numerical modeling of galaxy evolution over cosmological timescales. As an undergraduate at the U of C, he worked on stacking radio polarization to examine faint extragalactic sources. He also worked in the POSSUM Working Group 2 to determine the requirements for stacking applications for the Australian SKA Pathfinder (ASKAP) radio telescope. He is particularly interested in questions involving stellar feedback (supernovae, stellar winds, and so on) and its impact on galaxies and their surrounding intergalactic medium.