Workshop: Python binding for C/C++

Europe/Ljubljana
Predavalnica F2 - 1.nadstropje (Faculty of Mathematics and Physics)

Predavalnica F2 - 1.nadstropje

Faculty of Mathematics and Physics

Jadranska 19, 1000 Ljubljana
Luka Leskovec (IJS)
Description

Description: Scientific and math software is written in C/C++ which often requires longer development time when combining a larger set of such libraries. To better utilize such libraries it is often convenient to interface them to a modern interpreted language such as Python.

We will learn how to bind C/C++ code in Python 3, starting by creating a Python object that will utilize one of the standard C/C++ containers, the vector. Continuing we will then take an existing C/C++ library and prepare it to be called from Python. Finally we will demonstrate a workflow where two different libraries are combined in a single Python 3 script.

Difficulty: Basic

Language: English

Prerequisite knowledge: Basic knowledge of Linux, the Terminal, and Python

Target audience: The workshop is intended for beginners and more experienced people interested in utilizing C/C++ code from Python

Skills to be gained:

  • Identifying useful libraries, and how to combine them in a workflow
  • Basics of libraries for Python
  • Binding C/C++ libraries in Python

 

Maximum number of participants: 15

Workflow: The training is live, in the afternoon. The workshop will combine lecture and practical parts, where your own laptop suffices (however, if need be we users can also make use of the NSC Cluster at the Jožef Stefan Institute (as an educational member of SLING)).

Location: Faculty of Mathematics and Physics (soba F2 - 1.nadstropje), Jadranska 19, 1000 Ljubljana

Organizer:

Univerza v Ljubljani v leto 2024 ...

Lecturer:

Name:Luka Leskovec
Description:Scientist and educationalist involved in theoretical physics and supercomputing
E-mail:luka.leskovec@fmf.uni-lj.si

    • 13:00 15:15
      High-throughput computing, preparing your environment, first steps with SnakeMake
      Convener: Luka Leskovec (IJS)
    • 15:15 15:30
      Coffee break
    • 15:30 17:45
      Hands on with SnakeMake, cluster usage