Call : (+91) 968636 4243
Mail : info@EncartaLabs.com
EncartaLabs

High-Performance Computing with Python

( Duration: 5 Days )

The High-Performance Computing with Python training course provides an overview of some tools and libraries for fast computations in Python. It covers the most common tools and helps to get you started on HPC with Python

The High-Performance Computing with Python workshop is ideal for:

  • Programmers, scientists and engineers with basic to intermediate knowledge of Python.

COURSE AGENDA

1

PROFILING, ALGORITHMS AND PARALLEL COMPUTATION

  • Profiling
  • Algorithms
  • Multiprocessing
  • Pyro4
2

BEYOND PURE PYTHON

  • Numba
  • PyPy
  • f2py
3

NUMPY FOR FAST COMPUTATIONS

  • Introduction to NumPy
    • Array construction and array properties
    • Data types
    • Slicing and broadcasting
    • Universal functions
  • Advanced NumPy
    • Masked arrays
    • Customizing error handling
    • Testing NumPy programs
  • NumPy and C
    • A look into the implementation of ndarrays
    • Working with ndarrays from C
  • Numexpr
  • Algorithms and SciPy
4

CYTHON FOR SPEED

  • My first Cython extension
    • using pyximport to quickly (re-)build extension modules
    • using cython.inline() to compile code at runtime
    • building extension modules with distutils
  • Speeding up Python code with Cython
    • fast access to Python's builtin types
    • fast looping over Python iterables and C types
    • string processing
    • fast arithmetic
    • incrementally optimizing Cython code
    • multi-threading outside of the GIL (Global Interpreter Lock)
  • Interfacing with external C code
    • calling into external C libraries
    • building against C libraries
    • writing Python wrapper APIs
    • calling C functions across extension module boundaries
5

CYTHON AND NUMPY

  • Use of Python's buffer interface from Cython code
    • directly accessing data buffers of other Python extensions
    • retrieving meta data about the buffer layout
    • setting up efficient memory views on external buffers
  • Implementing fast Cython loops over NumPy arrays
    • looping over NumPy exported buffers
    • implementing a simple image processing algorithm
    • using "fused types" (simple templating) to implement an algorithm once and run it efficiently on different C data types
  • Use of parallel loops to make use of multiple processing cores
    • building modules with OpenMP
    • processing data in parallel
    • speeding up an existing loop using OpenMP threads

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 6,000 various courses on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting https://www.encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top
Notice
X