uni.lu hpc school 2020 - ps08: advanced distributed computing … · 2021. 1. 29. · uni.lu hpc...

13
Uni.lu HPC School 2020 PS08: Advanced Distributed Computing with Python Uni.lu High Performance Computing (HPC) Team E. Kieffer University of Luxembourg (UL), Luxembourg http://hpc.uni.lu 1 / 13 E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08 N

Upload: others

Post on 15-Mar-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Uni.lu HPC School 2020PS08: Advanced Distributed Computing with Python

Uni.lu High Performance Computing (HPC) TeamE. Kieffer

University of Luxembourg (UL), Luxembourghttp://hpc.uni.lu

1 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 2: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Latest versions available on Github:

UL HPC tutorials: https://github.com/ULHPC/tutorials

UL HPC School: http://hpc.uni.lu/hpc-school/

PS08 tutorial sources: ulhpc-tutorials.rtfd.io/en/latest/python/advanced/

2 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 3: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Introduction

Summary

1 Introduction

2 Parallel machine learning with ipyparallel

3 Parallel evolutionary computing with scoop

3 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 4: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Introduction

Main Objectives

11 How to parallelise your python code ?

22 Hereafter, we are going to see two alternatives :↪→ High-level approach with ipyparallel for scikit-learn↪→ Low-level approach with scoop

4 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 5: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Parallel machine learning with ipyparallel

Summary

1 Introduction

2 Parallel machine learning with ipyparallel

3 Parallel evolutionary computing with scoop

5 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 6: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Parallel machine learning with ipyparallel

Scikit-learn + ipyparallel

Scikit-learn is a well-known python scientific package:↪→ Machine learning algorithms (e.g. SVM)↪→ Data analysis approaches (e.g. PCA)↪→ Data mining techniques (e.g. Clustering)

Scikit-learn algorithms can be parallelised

Especially useful for Hyper-parameters search

Scikit-learn relies on ipyparallel and joblib libraries to parallelism algortihms

6 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 7: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Parallel machine learning with ipyparallel

Ipyparallel

Originally designed under Ipython

IPython’s architecture for parallel and distributed computing

Support many different styles of parallelism:↪→ Single program, multiple data (SPMD) parallelism↪→ Multiple program, multiple data (MPMD) parallelism↪→ Message passing using MPI↪→ Task farming↪→ Hybrid approaches combined the above ones

Ipyparallel can detect a job scheduler (e.g. Slurm) when started on a HPC platform

7 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 8: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Parallel machine learning with ipyparallel

Practical session

Please go to https://ulhpc-tutorials.readthedocs.io/en/latest/python/advanced/scikit-learn/

8 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 9: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Parallel evolutionary computing with scoop

Summary

1 Introduction

2 Parallel machine learning with ipyparallel

3 Parallel evolutionary computing with scoop

9 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 10: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Parallel evolutionary computing with scoop

Scoop + deap

Deap

Python evolutionary computing library:↪→ Genetic algorithms↪→ Particle swarm algorithms↪→ Evolutionary strategies↪→ Estimation of Distribution algorithms

Deap relies on scoop

10 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 11: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Parallel evolutionary computing with scoop

Scoop

SCOOP => Scalable COncurrent Operations in Python

Applications of SCOOP:↪→ Evolutionary algorithms↪→ Monte Carlo simulations↪→ Data mining↪→ Data processing↪→ Graph traversam

Very simple to use

Override default map (reduce) function

11 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 12: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Parallel evolutionary computing with scoop

Practical session

Please go to https://ulhpc-tutorials.readthedocs.io/en/latest/python/advanced/scoop-deap/

12 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

Page 13: Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing … · 2021. 1. 29. · Uni.lu HPC School 2020 - PS08: Advanced Distributed Computing with Python Author: Uni.lu High

Thank you for your attention...

Questions?High Performance Computing @ Uni.lu

Prof. Stephane Pallage

Rector

Prof. Pascal Bouvry

Head Uni.lu HPC** Temporary mandate: Half-time CEO LuxProvide

Uni.lu HPC Team

Dr. Sebastien Varrette

Research Scientist,Deputy Head, Uni.lu HPC

HPC Research & Trainings* Acting Deputy Head during mandate: Dr. F. Pinel

Research Computing & HPC Operations* Acting Head during mandate: Dr. S. Varrette

Strategic DevelopmentsPartnership

Administration &Information

Dr. Frederic Pinel

Research Scientist,Coordinator NVidia Joint AI Lab

Dr. Emmanuel Kieffer

Research Scientist

Dr. Ezhilmathi Krishnasamy

Postdoctoral Researcher,Coordinator H2020 PRACE-6IP

Dr. Loizos Koutsantonis

Postdoctoral Researcher, EuroCC

N/A

Postdoctoral Researcher, EuroCC

Arlyne Vandeventer

Project ManagerEuroHPC Comp. Center (EuroCC)

Hyacinthe Cartiaux

Infrastructure andHPC Architecture Engineer

Abatcha Olloh

Infrastructure andHPC Architecture Engineer

Teddy Valette

Infrastructure andHPC Architecture Engineer

Sarah Peter

Infrastructure & Architecture EngineerLCSB BioCore sysadmins manager

University of Luxembourg, Belval CampusMaison du Nombre, 4th floor2, avenue de l’UniversitéL-4365 Esch-sur-Alzette

mail: [email protected]

1 Introduction

2 Parallel machine learning with ipyparallel

3 Parallel evolutionary computing with scoop

13 / 13E. Kieffer & Uni.lu HPC Team (University of Luxembourg) Uni.lu HPC School 2020/ PS08

N

https://hpc.uni.lu