•  

Compiling Python Modules to Native Parallel Modules Using Pythran and OpenMP Annotations

A session at Python for High Performance and Scientific Computing (PyHPC 2013)

  • Pierrick Brunet
  • Mehdi Amini

Monday 18th November, 2013

4:10pm to 4:50pm (MST)

High Performance Computing users traditionally rely on low-level, compiled language such as C or FORTRAN to perform compute-intensive tasks. As a consequence, it is a common situation to have High Performance Computing application written in a high-level language such as Python, calling native routines for compute-intensive tasks. To improve development speed and reduce maintenance costs, using a higher-level language like Python seems attractive. While it is usually associated with low performance, several solutions such as Cython, Numba, Parakeet or Pythran offer to automatically or semi-automatically turn Python functions into native ones.

One of the key points required to match the performance of native applications is the ability to write parallel applications. This paper studies the addition of OpenMP directives, a popular model to describe parallelism in C/C++/FORTRAN applications, to Pythran, an automatic compiler from a subset of Python to C++. It shows that scientific Python applications annotated with OpenMP directives can be turned by an automatic compiler into native applications that run within the same order of magnitude than manually-written ones.

About the speakers

This person is speaking at this event.
Serge Guelton

Student at ENST Bretagne bio from LinkedIn

This person is speaking at this event.
Pierrick Brunet

Télécom Bretagne

This person is speaking at this event.
Mehdi Amini

SILKAN Inc.

Next session in 505

4:50pm Discussion & Closing by William Scullin and Andreas Schreiber

Coverage of this session

Sign in to add slides, notes or videos to this session

Tell your friends!

When

Time 4:10pm4:50pm MST

Date Mon 18th November 2013

Session Hash Tag

#SC13

Short URL

lanyrd.com/sctbgz

Official event site

www.dlr.de/sc/pyhpc2013

View the schedule

Share

See something wrong?

Report an issue with this session