# Multiplatform Programming with Python

- Institution: CERN
- Department: Inverted CSC
- Speaker: Peter Kicsiny
- Year: 2023
- Language: English
- Subjects: Computer science
- Source: [CERN](https://videos.cern.ch/record/3000337)
- Licence: [CERN](http://copyright.web.cern.ch)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

In this course the students can learn how to write platform agnostic code using Python (and some C). Some knowledge (~1 year experience) of these two languages is recommended.

The lecture will focus on how Python can easily be combined with C for CPU and GPU programming, by exploiting the advantages of both languages. The goal is to introduce 3 Python libraries that are used at CERN (e.g. in modern multiparticle simulation frameworks): CFFI, CuPy and PyOpenCL. CFFI is a library for Python-C interfacing and CPU kernel execution. CuPy and PyOpenCL are libraries for kernel execution compatible with GPUs. Additionally, there will be a short review of heterogeneous programming and a comparison of the CUDA and OpenCL programming models.

In a subsequent tutorial session the students will be able to play around with these Python libraries..

0:00:00 Slide 1

0:04:48 Slide 2

0:06:44 Slide 3

0:08:14 Slide 4

0:09:36 Slide 5

0:10:54 Slide 6

0:17:36 Slide 7

0:18:52 Slide 8

0:20:13 Slide 9

0:23:09 Slide 10

0:24:41 Slide 11

0:26:26 Slide 12

0:29:00 Slide 13

0:30:18 Slide 14

0:31:58 Slide 15

0:33:20 Slide 16

0:36:12 Slide 17

0:37:39 Slide 18

0:39:19 Slide 19

0:40:22 Slide 20

0:41:25 Slide 21

0:42:29 Slide 22

0:43:47 Slide 23

0:45:10 Slide 24

0:46:30 Slide 25

0:47:53 Slide 26

0:50:16 Slide 27

0:54:59 Slide 28

## Lectures

1. [Multiplatform Programming with Python](https://invisiblenetwork.ai/learn/cern/3000337/98b88d884523), 57 min (CERN's player)
