Training Python Academy

Training goals

code: PA-FNPPC

The course targets medium level to experienced Python programmers who want to break through the limits of Python performance. A basic understanding of the C language is helpful but not required. Basic understanding of Cython and NumPy as provided in the courses Fast Code with the Cython Compiler and Numerical Calculations with NumPy is necessary.

NumPy and SciPy come with a broad set of high-level functionality that allows to express complex computational algorithms concisely and efficiently. However, in many cases, sequential operations on NumPy arrays introduce a considerable overhead. This can happen when arrays are unnecessarily being copied during an operation that does not work in-place, but also due to lacking CPU cache locality when large arrays are being traversed multiple times in a row. In both cases, Cython can provide a substantial speed-up by expressing algorithms more efficiently.

The main features that make Cython so attractive for NumPy users are its ability to access and process the arrays directly at the C level, and the native support for parallel loops based on the OpenMP compiler infrastructure. To work efficiently with arrays and other memory buffers, Cython has native syntax support for the Python buffer protocol, which allows C extensions (like NumPy or image processing libraries) to grant foreign code direct access to their internal data buffers.

Conspect Show list

  1. 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.
  2. 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.
  3. 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.
Download conspect training as PDF

Additional information

Prerequisites
  • Knowledge of Python language.
  • Basic understanding of NumPy and Cython language.
Difficulty level
Duration 1 day
Certificate

The participants will obtain certificates signed by Python Academy.

Trainer

Authorized Python Academy Trainer.

Other training Python Academy | On Demand

Training thematically related

Programming

Python

Contact form

Please fill form below to obtain more info about this training.







* Fields marked with (*) are required !!!

Information on data processing by Compendium - Centrum Edukacyjne Spółka z o.o.

PRICE 400 EUR

FORM OF TRAINING ?

 

TRAINING MATERIALS ?

 

SELECT TRAINING DATE

  • hybrid training: HYBRID
    • General information
    • Guaranteed dates
    • Last minute (-10%)
    • Language of the training
    • English
  • hybrid training: HYBRID
    • General information
    • Guaranteed dates
    • Last minute (-10%)
    • Language of the training
    • English
Book a training appointment
close

Traditional training

Sessions organised at Compendium CE are usually held in our locations in Kraków and Warsaw, but also in venues designated by the client. The group participating in training meets at a specific place and specific time with a coach and actively participates in laboratory sessions.

Dlearning training

You may participate from at any place in the world. It is sufficient to have a computer (or, actually a tablet, or smartphone) connected to the Internet. Compendium CE provides each Distance Learning training participant with adequate software enabling connection to the Data Center. For more information, please visit dlearning.eu site

close

Paper materials

Traditional materials: The price includes standard materials issued in the form of paper books, printed or other, depending on the arrangements with the manufacturer.

Electronic materials

Electronic materials: These are electronic training materials that are available to you based on your specific application: Skillpipe, eVantage, etc., or as PDF documents.

Ctab materials

Ctab materials: the price includes ctab tablet and electronic training materials or traditional training materials and supplies provided electronically according to manufacturer's specifications (in PDF or EPUB form). The materials provided are adapted for display on ctab tablets. For more information, check out the ctab website.

Upcoming Python Academy training

Training schedule
Python Academy