SlideShare a Scribd company logo
1 of 53
Python at Warp Speed
Andreas Schreiber
Department for Intelligent and Distributed Systems
German Aerospace Center (DLR), Cologne/Berlin
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 1
Introduction
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 2
Scientist,
Head of department
Co-Founder, Data
Scientist, and Patient
Communities
Python at Warp Speed
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 3
High-
Performance
Computing
Distributed
Computing
Quantum
Computing
Algorithmic View
Input x – Algorithm A – Output y
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 4
High-Perf.
Computing
•
Compute
Distributed
Computing
•
Learn
Quantum
Computing
•
Optimize
High-Performance
Computing
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 5
High raw computing power for large science applications
• Huge performance on a single / multi-core processors
• Huge machines with up to millions of cores
High-Performance Computing
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 6
Images: DLR & https://sciencenode.org
Sunway TaihuLight
10.649.600 Cores, 93 PetaFLOPS
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 7
Tianhe-2 (天河二号)
3.120.000 Cores, 33,8 PetaFLOPS
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 8
Titan
560.640 Cores, 17,5 PetaFLOPS
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 9
Programming HPC
Technologies
• MPI (Message Passing Interface)
• OpenMP (Open Multi-Processing)
• OpenACC (Open Accelerators)
• Global Arrays Toolkit
• CUDA (GPGPUs)
• OpenCL (GPGPUs)
Languages
• Fortran
• Fortran
• C/C++
• Python
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 10
Performance Fortran vs. Python
Helicopter Simulation
Fortran Code
• Developed 1994-1996
• parallelized with MPI
• Performance optimization
2013/14 with MPI und
OpenACC
Performance Comparison
• Multi-core CPUs
• Cython mit OpenMP
• Python bindings for Global
Array Toolkit
• GPGPUs
• NumbaPro
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 11
Core Computation Loops in Pure Python
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 12
for iblades in range(numberOfBlades):
for iradial in range(1, dimensionInRadialDirection):
for iazimutal in range(dimensionInAzimualDirectionTotal):
for i1 in range(len(vx[0])):
for i2 in range(len(vx[0][0])):
for i3 in range(len(vx[0][0][0])):
# wilin-Aufruf 1
for iblades in range(numberOfBlades):
for iradial in range(dimensionInRadialDirection):
for iazimutal in range(1, dimensionInAzimualDirectionTotal):
for i1 in range(len(vx[0])):
for i2 in range(len(vx[0][0])):
for i3 in range(len(vx[0][0][0])):
# wilin-Aufruf 2
for iDir in range(3):
for i in range(numberOfBlades):
for j in range(dimensionInRadialDirection):
for k in range(dimensionInAzimualDirectionTotal):
x[iDir][i][j][k] = x[iDir][i][j][k] +
dt * vx[iDir][i][j][k]
Performance Fortran vs. Python
Single Core (Xeon E5645, 6 Cores)
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 13
2.51
1.09
0.27
0.46
0.01
0
0.5
1
1.5
2
2.5
3
Fortran Cython Numba Numpy Python
GFlops
Performance Fortran vs. Python
Multi-Core (Xeon E5645, 6 Cores)
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 14
13.64
5.78
1.38
0
2
4
6
8
10
12
14
16
Fortran Cython Global Arrays
GFlops
Performance Fortran vs. Python
GPGPU (NVIDIA Tesla C2075, 448 CUDA-Cores)
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 15
69.77
7.79
0
10
20
30
40
50
60
70
80
Fortran Numba
GFlops
Performance-Productivity-Space
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 16
C++ /
FORTRAN
Cython
NumPy /
Numba
Pure
Python
Performance
Productivity/Simplicity
Python’s productivity is great
• Allows to write code quickly
• Wide range of applications
Python’s performance still needs improvements
• Code optimization with tools for profiling, code examination, …
• Optimized libraries for parallel processing with MPI etc.
Excited to see advancements by community and companies
Productivity vs. Performance of Python
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 17
Annual scientific workshop, in conjunction
with Supercomputing conference
State-of-the-art in
• Hybrid programming
• Comparison with other languages for HPC
• Interactive parallel computing
• High-performance computing applications
• Performance analysis, profiling, and debugging
PyHPC 2016
• 6th edition, Nov 14, 2016, Salt Lake City
• http://www.dlr.de/sc/pyhpc2016
Workshop „Python for High-Performance and
Scientific Computing“ (PyHPC)
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 18
Tools Example
Intel® VTune™ Amplifier for Profiling
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 19
https://software.intel.com/en-us/intel-vtune-amplifier-xe/
Tools Example
mpi4py with Intel MPI Library and Cython
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 20
from mpi4py import MPI
comm = MPI.COMM_WORLD
size = comm.Get_size()
rank = comm.Get_rank()
name = MPI.Get_processor_name()
if rank == 0:
print "Rank %d of %d running on %s"
% (rank, size, name)
for i in xrange(1, size):
rank, size, name = comm.recv(source=i, tag=1)
print “Rank %d of %d running on %s"
% (rank, size, name)
else:
comm.send((rank, size, name), dest=0, tag=1)
http://pythonhosted.org/mpi4py/
https://software.intel.com/en-us/intel-mpi-library
mpi4py
Cython
Intel MPI
Library
Distributed Computing
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 21
Distributed Computing
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 22
Paul Baran. On Distributed Communication Networks. IEEE Transactions on Communications, 12(1):1–9, March 1964
Driven by data science, machine learning, predictive analytics, …
• Tabular data
• Time Series
• Stream data
• Connected data
Scaling up with increased data size
from from laptops to clusters
• Many-Task-Computing
• Distributed scheduling
• Peer-to-peer data sharing
Distributed Computing
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 23
Space Debris: Object Correlation from Sensor Data
and Real-Time Collision Detection
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 24
29,000 Objects Larger than 10 cm
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 25
750,000 Objects Larger than 1 cm
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 26
150M Objects Larger than 1 mm
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 27
Space Debris: Graph of Computations
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 28
Directed Acyclic Graph (DAG)
Python has great tools to execute graphs on distributed resources
Graphs
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 29
A
B
E F
G
D
C
PySpark
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 30
https://spark.apache.org/
https://spark.apache.org/docs/0.9.0/python-programming-guide.html
from pyspark import SparkContext
logFile = “myfile.txt“
sc = SparkContext("local", "Simple App")
logData = sc.textFile(logFile).cache()
numAs = logData.filter(lambda s: 'a' in s).count()
numBs = logData.filter(lambda s: 'b' in s).count()
print("Lines with a: %i, lines with b: %i" % (numAs, numBs))
Dask
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 31
http://dask.pydata.org/
import dask.dataframe as dd
df = dd.read_csv('2015-*-*.csv')
df.groupby(df.user_id).value.mean().compute()
d = {'x': 1,
'y': (inc, 'x'),
'z': (add, 'y', 10)}
TensorFlow
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 32
import tensorflow as tf
with tf.Session() as sess:
with tf.device("/gpu:1"):
matrix1 = tf.constant([[3., 3.]])
matrix2 = tf.constant([[2.],[2.]])
product = tf.matmul(matrix1, matrix2)
https://www.tensorflow.org/
Quantum Computing
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 33
Design optimization and robust design
• Space systems and air transportation systems
• Design and evaluation of systems with consideration of
uncertainties
Optimization Problems in Aeronautics & Space
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 34
Machine Learning
• Deep learning, pattern recognition, clustering, images recognition,
stream reasoning
Anomaly detection
• Monitoring of space systems
Mission planning
• Optimization in relation to time, resource allocation, energy
consumption, costs etc.
Verification and validation
• Software, embedded systems
Optimization Problems in Aeronautics & Space
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 35
Discrete optimization is basis for many kinds of problems
 Packaging
 Partitioning
 Mapping
 Scheduling
Hope: Quantum Computers solve those problems faster than classical
computers
New Research Field: Quantum Computing
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 36
NP-hard problems!
Bits and Qubits
Classical Bits Quantum bits (Qubits)
• “0” or “1”
• Electric voltage
• Superposition of complex base
states
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 37
1
0
Quantum Computer
To date, one Quantum Computer
is available commercially
• D-Wave Systems, Inc.,
Canada
• System with ~2000 Qubits
(„D-Wave 2X“)
• Adiabatic QC
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 38
Images: © D-Wave Systems, Inc.
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 39
Image: © D-Wave Systems, Inc.
Inside D-Wave 2
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 40
Images: © D-Wave Systems, Inc.
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 41
Image: © D-Wave Systems, Inc.
D-Wave Qubit Topology – Chimera Graph
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 42
Rewrite the problem as discrete optimization problem
• QUBO: Quadratic unconstrained binary optimization
“Programming” a Quantum Computer – Step 1
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 43
𝐸 𝑞1, … , 𝑞 𝑛 = 𝑔𝑖
𝑛
𝑖=1
𝑞𝑖 + 𝑠𝑖𝑗 𝑞𝑖 𝑞𝑗
𝑛
𝑖,𝑗=1
𝑖>𝑗
Mapping to hardware
topology
 Chimera-QUBO
“Programming” a Quantum Computer – Step 2
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 44
Bringing the problem to the QC
• Copy weights and coupling
strengths to physical Qubits
“Programming” a Quantum Computer – Step 3
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 45
Starting the actual “computation”:
• Adiabatic process from start energy level to target energy level,
which represents solution of the optimization problem
• Result are the voltages after this process
“Programming” a Quantum Computer – Step 4
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 46
Energy
Start System End System
Time
Energy Level
Adiabatic Change
Defines
runtime
D-Wave Software Environment
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 47
Programming with Python
Import API and Connect to Machine
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 48
import dwave_sapi2.remote as remote
import dwave_sapi2.embedding as embedding
import dwave_sapi2.util as util
import dwave_sapi2.core as core
# print "Connect to DWave machine ...”
# create a remote connection
try:
conn = remote.RemoteConnection(myToken.myUrl,
myToken.myToken)
# get the solver
solver = conn.get_solver('C12')
except:
print 'Unable to establish connection'
exit(1)
Programming with Python
Prepare the Problem (“Embedding”)
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 49
hwa = get_hardware_adjacency(solver)
embeddings[eIndex] = embedding.find_embedding(J, hwa)
h_embedded[eIndex], j0, jc, new_embed =
embedding.embed_problem(h, J, embeddings[eIndex], hwa)
J_embedded[eIndex] = jc
J_embedded[eIndex].update(j0)
embeddings[eIndex] = new_embed
Programming with Python
Solve the Problem (“Ising”)
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 50
getEmbeddedIsing(eIndex)
# print "Annealing ...”
result = core.solve_ising(solver,
h_embedded[eIndex],
J_embedded[eIndex],
annealing_time=20,
num_reads=1000)
unembedded_result = embedding.unembed_answer(
result['solutions'],
embeddings[eIndex],
'minimize_energy', h, J)
# take the lowest energy solution
rawsolution_phys = (np.array(result['solutions']) + 1)/2
rawsolution_log = (np.array(unembedded_result) + 1)/2
Result Distribution
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 51
Summary
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 52
High
Performance
Data Science
Future
Architectures
Python is or will become standard in programming for...
> PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 53
Thank You!
Questions?
Andreas.Schreiber@dlr.de
www.DLR.de/sc | @onyame

More Related Content

What's hot

RDM 2020: Python, Numpy, and Pandas
RDM 2020: Python, Numpy, and PandasRDM 2020: Python, Numpy, and Pandas
RDM 2020: Python, Numpy, and PandasHenry Schreiner
 
SchemEX - Creating the Yellow Pages for the Linked Open Data Cloud
SchemEX - Creating the Yellow Pages for the Linked Open Data CloudSchemEX - Creating the Yellow Pages for the Linked Open Data Cloud
SchemEX - Creating the Yellow Pages for the Linked Open Data CloudAnsgar Scherp
 
Statsd introduction
Statsd introductionStatsd introduction
Statsd introductionRick Chang
 
Formalization and Preliminary Evaluation of a Pipeline for Text Extraction Fr...
Formalization and Preliminary Evaluation of a Pipeline for Text Extraction Fr...Formalization and Preliminary Evaluation of a Pipeline for Text Extraction Fr...
Formalization and Preliminary Evaluation of a Pipeline for Text Extraction Fr...Ansgar Scherp
 
Signals from outer space
Signals from outer spaceSignals from outer space
Signals from outer spaceGraphAware
 
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...EuroIoTa
 
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...NETWAYS
 
Managing data workflows with Luigi
Managing data workflows with LuigiManaging data workflows with Luigi
Managing data workflows with LuigiTeemu Kurppa
 
A Comparison of Different Strategies for Automated Semantic Document Annotation
A Comparison of Different Strategies for Automated Semantic Document AnnotationA Comparison of Different Strategies for Automated Semantic Document Annotation
A Comparison of Different Strategies for Automated Semantic Document AnnotationAnsgar Scherp
 
Mining Big Data Streams with APACHE SAMOA
Mining Big Data Streams with APACHE SAMOAMining Big Data Streams with APACHE SAMOA
Mining Big Data Streams with APACHE SAMOAAlbert Bifet
 
Case Studies in advanced analytics with R
Case Studies in advanced analytics with RCase Studies in advanced analytics with R
Case Studies in advanced analytics with RWit Jakuczun
 
ETW - Monitor Anything, Anytime, Anywhere (NDC Oslo 2017)
ETW - Monitor Anything, Anytime, Anywhere (NDC Oslo 2017)ETW - Monitor Anything, Anytime, Anywhere (NDC Oslo 2017)
ETW - Monitor Anything, Anytime, Anywhere (NDC Oslo 2017)Dina Goldshtein
 
Luigi presentation NYC Data Science
Luigi presentation NYC Data ScienceLuigi presentation NYC Data Science
Luigi presentation NYC Data ScienceErik Bernhardsson
 
Realtime Data Analysis Patterns
Realtime Data Analysis PatternsRealtime Data Analysis Patterns
Realtime Data Analysis PatternsMikio L. Braun
 
DPF 2017: GPUs in LHCb for Analysis
DPF 2017: GPUs in LHCb for AnalysisDPF 2017: GPUs in LHCb for Analysis
DPF 2017: GPUs in LHCb for AnalysisHenry Schreiner
 
Q4 2016 GeoTrellis Presentation
Q4 2016 GeoTrellis PresentationQ4 2016 GeoTrellis Presentation
Q4 2016 GeoTrellis PresentationRob Emanuele
 
Analyzing Larger RasterData in a Jupyter Notebook with GeoPySpark on AWS - FO...
Analyzing Larger RasterData in a Jupyter Notebook with GeoPySpark on AWS - FO...Analyzing Larger RasterData in a Jupyter Notebook with GeoPySpark on AWS - FO...
Analyzing Larger RasterData in a Jupyter Notebook with GeoPySpark on AWS - FO...Rob Emanuele
 
Efficient and Fast Time Series Storage - The missing link in dynamic software...
Efficient and Fast Time Series Storage - The missing link in dynamic software...Efficient and Fast Time Series Storage - The missing link in dynamic software...
Efficient and Fast Time Series Storage - The missing link in dynamic software...Florian Lautenschlager
 

What's hot (20)

RDM 2020: Python, Numpy, and Pandas
RDM 2020: Python, Numpy, and PandasRDM 2020: Python, Numpy, and Pandas
RDM 2020: Python, Numpy, and Pandas
 
SchemEX - Creating the Yellow Pages for the Linked Open Data Cloud
SchemEX - Creating the Yellow Pages for the Linked Open Data CloudSchemEX - Creating the Yellow Pages for the Linked Open Data Cloud
SchemEX - Creating the Yellow Pages for the Linked Open Data Cloud
 
Statsd introduction
Statsd introductionStatsd introduction
Statsd introduction
 
Formalization and Preliminary Evaluation of a Pipeline for Text Extraction Fr...
Formalization and Preliminary Evaluation of a Pipeline for Text Extraction Fr...Formalization and Preliminary Evaluation of a Pipeline for Text Extraction Fr...
Formalization and Preliminary Evaluation of a Pipeline for Text Extraction Fr...
 
Signals from outer space
Signals from outer spaceSignals from outer space
Signals from outer space
 
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...
OpenML.org: Networked Science and IoT Data Streams by Jan van Rijn, Universit...
 
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...
OSDC 2016 - Chronix - A fast and efficient time series storage based on Apach...
 
Managing data workflows with Luigi
Managing data workflows with LuigiManaging data workflows with Luigi
Managing data workflows with Luigi
 
A Comparison of Different Strategies for Automated Semantic Document Annotation
A Comparison of Different Strategies for Automated Semantic Document AnnotationA Comparison of Different Strategies for Automated Semantic Document Annotation
A Comparison of Different Strategies for Automated Semantic Document Annotation
 
What's new in Spark 2.0?
What's new in Spark 2.0?What's new in Spark 2.0?
What's new in Spark 2.0?
 
Mining Big Data Streams with APACHE SAMOA
Mining Big Data Streams with APACHE SAMOAMining Big Data Streams with APACHE SAMOA
Mining Big Data Streams with APACHE SAMOA
 
Case Studies in advanced analytics with R
Case Studies in advanced analytics with RCase Studies in advanced analytics with R
Case Studies in advanced analytics with R
 
ETW - Monitor Anything, Anytime, Anywhere (NDC Oslo 2017)
ETW - Monitor Anything, Anytime, Anywhere (NDC Oslo 2017)ETW - Monitor Anything, Anytime, Anywhere (NDC Oslo 2017)
ETW - Monitor Anything, Anytime, Anywhere (NDC Oslo 2017)
 
Luigi presentation NYC Data Science
Luigi presentation NYC Data ScienceLuigi presentation NYC Data Science
Luigi presentation NYC Data Science
 
Realtime Data Analysis Patterns
Realtime Data Analysis PatternsRealtime Data Analysis Patterns
Realtime Data Analysis Patterns
 
DPF 2017: GPUs in LHCb for Analysis
DPF 2017: GPUs in LHCb for AnalysisDPF 2017: GPUs in LHCb for Analysis
DPF 2017: GPUs in LHCb for Analysis
 
Q4 2016 GeoTrellis Presentation
Q4 2016 GeoTrellis PresentationQ4 2016 GeoTrellis Presentation
Q4 2016 GeoTrellis Presentation
 
Analyzing Larger RasterData in a Jupyter Notebook with GeoPySpark on AWS - FO...
Analyzing Larger RasterData in a Jupyter Notebook with GeoPySpark on AWS - FO...Analyzing Larger RasterData in a Jupyter Notebook with GeoPySpark on AWS - FO...
Analyzing Larger RasterData in a Jupyter Notebook with GeoPySpark on AWS - FO...
 
Efficient and Fast Time Series Storage - The missing link in dynamic software...
Efficient and Fast Time Series Storage - The missing link in dynamic software...Efficient and Fast Time Series Storage - The missing link in dynamic software...
Efficient and Fast Time Series Storage - The missing link in dynamic software...
 
Workflow Engines + Luigi
Workflow Engines + LuigiWorkflow Engines + Luigi
Workflow Engines + Luigi
 

Similar to Python Warp Speed Guide HPC Distributed Computing

What's New in Apache Spark 2.3 & Why Should You Care
What's New in Apache Spark 2.3 & Why Should You CareWhat's New in Apache Spark 2.3 & Why Should You Care
What's New in Apache Spark 2.3 & Why Should You CareDatabricks
 
Big Data with Modern R & Spark
Big Data with Modern R & SparkBig Data with Modern R & Spark
Big Data with Modern R & SparkXavier de Pedro
 
Streaming Auto-scaling in Google Cloud Dataflow
Streaming Auto-scaling in Google Cloud DataflowStreaming Auto-scaling in Google Cloud Dataflow
Streaming Auto-scaling in Google Cloud DataflowC4Media
 
A performance analysis of OpenStack Cloud vs Real System on Hadoop Clusters
A performance analysis of OpenStack Cloud vs Real System on Hadoop ClustersA performance analysis of OpenStack Cloud vs Real System on Hadoop Clusters
A performance analysis of OpenStack Cloud vs Real System on Hadoop ClustersKumari Surabhi
 
H2O at Berlin R Meetup
H2O at Berlin R MeetupH2O at Berlin R Meetup
H2O at Berlin R MeetupJo-fai Chow
 
Berlin R Meetup
Berlin R MeetupBerlin R Meetup
Berlin R MeetupSri Ambati
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixC4Media
 
Spark Meetup TensorFrames
Spark Meetup TensorFramesSpark Meetup TensorFrames
Spark Meetup TensorFramesJen Aman
 
Spark Meetup TensorFrames
Spark Meetup TensorFramesSpark Meetup TensorFrames
Spark Meetup TensorFramesJen Aman
 
Track A-2 基於 Spark 的數據分析
Track A-2 基於 Spark 的數據分析Track A-2 基於 Spark 的數據分析
Track A-2 基於 Spark 的數據分析Etu Solution
 
Be cps-18 cps13or23-module1
Be cps-18 cps13or23-module1Be cps-18 cps13or23-module1
Be cps-18 cps13or23-module1kavya R
 
Engineering C-programing module1 ppt (18CPS13/23)
Engineering C-programing module1 ppt (18CPS13/23)Engineering C-programing module1 ppt (18CPS13/23)
Engineering C-programing module1 ppt (18CPS13/23)kavya R
 
Scaling Python to CPUs and GPUs
Scaling Python to CPUs and GPUsScaling Python to CPUs and GPUs
Scaling Python to CPUs and GPUsTravis Oliphant
 
Spark Summit EU talk by Tim Hunter
Spark Summit EU talk by Tim HunterSpark Summit EU talk by Tim Hunter
Spark Summit EU talk by Tim HunterSpark Summit
 
Connecting Python To The Spark Ecosystem
Connecting Python To The Spark EcosystemConnecting Python To The Spark Ecosystem
Connecting Python To The Spark EcosystemSpark Summit
 
Spark Summit 2016: Connecting Python to the Spark Ecosystem
Spark Summit 2016: Connecting Python to the Spark EcosystemSpark Summit 2016: Connecting Python to the Spark Ecosystem
Spark Summit 2016: Connecting Python to the Spark EcosystemDaniel Rodriguez
 
Open Source Innovations in the MapR Ecosystem Pack 2.0
Open Source Innovations in the MapR Ecosystem Pack 2.0Open Source Innovations in the MapR Ecosystem Pack 2.0
Open Source Innovations in the MapR Ecosystem Pack 2.0MapR Technologies
 
A Hands-on Intro to Data Science and R Presentation.ppt
A Hands-on Intro to Data Science and R Presentation.pptA Hands-on Intro to Data Science and R Presentation.ppt
A Hands-on Intro to Data Science and R Presentation.pptSanket Shikhar
 
Building Modern Data Pipelines on GCP via a FREE online Bootcamp
Building Modern Data Pipelines on GCP via a FREE online BootcampBuilding Modern Data Pipelines on GCP via a FREE online Bootcamp
Building Modern Data Pipelines on GCP via a FREE online BootcampData Con LA
 

Similar to Python Warp Speed Guide HPC Distributed Computing (20)

What's New in Apache Spark 2.3 & Why Should You Care
What's New in Apache Spark 2.3 & Why Should You CareWhat's New in Apache Spark 2.3 & Why Should You Care
What's New in Apache Spark 2.3 & Why Should You Care
 
Big Data with Modern R & Spark
Big Data with Modern R & SparkBig Data with Modern R & Spark
Big Data with Modern R & Spark
 
Streaming Auto-scaling in Google Cloud Dataflow
Streaming Auto-scaling in Google Cloud DataflowStreaming Auto-scaling in Google Cloud Dataflow
Streaming Auto-scaling in Google Cloud Dataflow
 
A performance analysis of OpenStack Cloud vs Real System on Hadoop Clusters
A performance analysis of OpenStack Cloud vs Real System on Hadoop ClustersA performance analysis of OpenStack Cloud vs Real System on Hadoop Clusters
A performance analysis of OpenStack Cloud vs Real System on Hadoop Clusters
 
H2O at Berlin R Meetup
H2O at Berlin R MeetupH2O at Berlin R Meetup
H2O at Berlin R Meetup
 
Berlin R Meetup
Berlin R MeetupBerlin R Meetup
Berlin R Meetup
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 
Spark Meetup TensorFrames
Spark Meetup TensorFramesSpark Meetup TensorFrames
Spark Meetup TensorFrames
 
Spark Meetup TensorFrames
Spark Meetup TensorFramesSpark Meetup TensorFrames
Spark Meetup TensorFrames
 
Track A-2 基於 Spark 的數據分析
Track A-2 基於 Spark 的數據分析Track A-2 基於 Spark 的數據分析
Track A-2 基於 Spark 的數據分析
 
Be cps-18 cps13or23-module1
Be cps-18 cps13or23-module1Be cps-18 cps13or23-module1
Be cps-18 cps13or23-module1
 
Engineering C-programing module1 ppt (18CPS13/23)
Engineering C-programing module1 ppt (18CPS13/23)Engineering C-programing module1 ppt (18CPS13/23)
Engineering C-programing module1 ppt (18CPS13/23)
 
Scaling Python to CPUs and GPUs
Scaling Python to CPUs and GPUsScaling Python to CPUs and GPUs
Scaling Python to CPUs and GPUs
 
Spark Summit EU talk by Tim Hunter
Spark Summit EU talk by Tim HunterSpark Summit EU talk by Tim Hunter
Spark Summit EU talk by Tim Hunter
 
Connecting Python To The Spark Ecosystem
Connecting Python To The Spark EcosystemConnecting Python To The Spark Ecosystem
Connecting Python To The Spark Ecosystem
 
Spark Summit 2016: Connecting Python to the Spark Ecosystem
Spark Summit 2016: Connecting Python to the Spark EcosystemSpark Summit 2016: Connecting Python to the Spark Ecosystem
Spark Summit 2016: Connecting Python to the Spark Ecosystem
 
Data Science
Data ScienceData Science
Data Science
 
Open Source Innovations in the MapR Ecosystem Pack 2.0
Open Source Innovations in the MapR Ecosystem Pack 2.0Open Source Innovations in the MapR Ecosystem Pack 2.0
Open Source Innovations in the MapR Ecosystem Pack 2.0
 
A Hands-on Intro to Data Science and R Presentation.ppt
A Hands-on Intro to Data Science and R Presentation.pptA Hands-on Intro to Data Science and R Presentation.ppt
A Hands-on Intro to Data Science and R Presentation.ppt
 
Building Modern Data Pipelines on GCP via a FREE online Bootcamp
Building Modern Data Pipelines on GCP via a FREE online BootcampBuilding Modern Data Pipelines on GCP via a FREE online Bootcamp
Building Modern Data Pipelines on GCP via a FREE online Bootcamp
 

More from Andreas Schreiber

Provenance-based Security Audits and its Application to COVID-19 Contact Trac...
Provenance-based Security Audits and its Application to COVID-19 Contact Trac...Provenance-based Security Audits and its Application to COVID-19 Contact Trac...
Provenance-based Security Audits and its Application to COVID-19 Contact Trac...Andreas Schreiber
 
Visualization of Software Architectures in Virtual Reality and Augmented Reality
Visualization of Software Architectures in Virtual Reality and Augmented RealityVisualization of Software Architectures in Virtual Reality and Augmented Reality
Visualization of Software Architectures in Virtual Reality and Augmented RealityAndreas Schreiber
 
Provenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructureProvenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructureAndreas Schreiber
 
Raising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace CenterRaising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace CenterAndreas Schreiber
 
Open Source Licensing for Rocket Scientists
Open Source Licensing for Rocket ScientistsOpen Source Licensing for Rocket Scientists
Open Source Licensing for Rocket ScientistsAndreas Schreiber
 
Interactive Visualization of Software Components with Virtual Reality Headsets
Interactive Visualization of Software Components with Virtual Reality HeadsetsInteractive Visualization of Software Components with Virtual Reality Headsets
Interactive Visualization of Software Components with Virtual Reality HeadsetsAndreas Schreiber
 
Provenance for Reproducible Data Science
Provenance for Reproducible Data ScienceProvenance for Reproducible Data Science
Provenance for Reproducible Data ScienceAndreas Schreiber
 
Visualizing Provenance using Comics
Visualizing Provenance using ComicsVisualizing Provenance using Comics
Visualizing Provenance using ComicsAndreas Schreiber
 
Nachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-VerletzungenNachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-VerletzungenAndreas Schreiber
 
A Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self DataA Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self DataAndreas Schreiber
 
Tracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The RestTracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The RestAndreas Schreiber
 
High Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris DataHigh Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris DataAndreas Schreiber
 
Bericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & ExpositionBericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & ExpositionAndreas Schreiber
 
Telemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermannTelemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermannAndreas Schreiber
 
Quantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-SensorenQuantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-SensorenAndreas Schreiber
 
Example Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanionExample Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanionAndreas Schreiber
 
Beispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiterBeispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiterAndreas Schreiber
 

More from Andreas Schreiber (20)

Provenance-based Security Audits and its Application to COVID-19 Contact Trac...
Provenance-based Security Audits and its Application to COVID-19 Contact Trac...Provenance-based Security Audits and its Application to COVID-19 Contact Trac...
Provenance-based Security Audits and its Application to COVID-19 Contact Trac...
 
Visualization of Software Architectures in Virtual Reality and Augmented Reality
Visualization of Software Architectures in Virtual Reality and Augmented RealityVisualization of Software Architectures in Virtual Reality and Augmented Reality
Visualization of Software Architectures in Virtual Reality and Augmented Reality
 
Provenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructureProvenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructure
 
Raising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace CenterRaising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace Center
 
Open Source Licensing for Rocket Scientists
Open Source Licensing for Rocket ScientistsOpen Source Licensing for Rocket Scientists
Open Source Licensing for Rocket Scientists
 
Interactive Visualization of Software Components with Virtual Reality Headsets
Interactive Visualization of Software Components with Virtual Reality HeadsetsInteractive Visualization of Software Components with Virtual Reality Headsets
Interactive Visualization of Software Components with Virtual Reality Headsets
 
Provenance for Reproducible Data Science
Provenance for Reproducible Data ScienceProvenance for Reproducible Data Science
Provenance for Reproducible Data Science
 
Visualizing Provenance using Comics
Visualizing Provenance using ComicsVisualizing Provenance using Comics
Visualizing Provenance using Comics
 
Quantified Self Comics
Quantified Self ComicsQuantified Self Comics
Quantified Self Comics
 
Nachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-VerletzungenNachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
 
A Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self DataA Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self Data
 
Open Source im DLR
Open Source im DLROpen Source im DLR
Open Source im DLR
 
Tracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The RestTracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The Rest
 
High Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris DataHigh Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris Data
 
Bericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & ExpositionBericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & Exposition
 
Telemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermannTelemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermann
 
Big Python
Big PythonBig Python
Big Python
 
Quantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-SensorenQuantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-Sensoren
 
Example Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanionExample Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanion
 
Beispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiterBeispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiter
 

Recently uploaded

Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRDelhi Call girls
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
DIFFERENCE IN BACK CROSS AND TEST CROSS
DIFFERENCE IN  BACK CROSS AND TEST CROSSDIFFERENCE IN  BACK CROSS AND TEST CROSS
DIFFERENCE IN BACK CROSS AND TEST CROSSLeenakshiTyagi
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...ssifa0344
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfSumit Kumar yadav
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhousejana861314
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptxanandsmhk
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)Areesha Ahmad
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfSumit Kumar yadav
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Green chemistry and Sustainable development.pptx
Green chemistry  and Sustainable development.pptxGreen chemistry  and Sustainable development.pptx
Green chemistry and Sustainable development.pptxRajatChauhan518211
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPirithiRaju
 

Recently uploaded (20)

Engler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomyEngler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomy
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
DIFFERENCE IN BACK CROSS AND TEST CROSS
DIFFERENCE IN  BACK CROSS AND TEST CROSSDIFFERENCE IN  BACK CROSS AND TEST CROSS
DIFFERENCE IN BACK CROSS AND TEST CROSS
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhouse
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Green chemistry and Sustainable development.pptx
Green chemistry  and Sustainable development.pptxGreen chemistry  and Sustainable development.pptx
Green chemistry and Sustainable development.pptx
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 

Python Warp Speed Guide HPC Distributed Computing

  • 1. Python at Warp Speed Andreas Schreiber Department for Intelligent and Distributed Systems German Aerospace Center (DLR), Cologne/Berlin > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 1
  • 2. Introduction > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 2 Scientist, Head of department Co-Founder, Data Scientist, and Patient Communities
  • 3. Python at Warp Speed > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 3 High- Performance Computing Distributed Computing Quantum Computing
  • 4. Algorithmic View Input x – Algorithm A – Output y > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 4 High-Perf. Computing • Compute Distributed Computing • Learn Quantum Computing • Optimize
  • 5. High-Performance Computing > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 5
  • 6. High raw computing power for large science applications • Huge performance on a single / multi-core processors • Huge machines with up to millions of cores High-Performance Computing > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 6 Images: DLR & https://sciencenode.org
  • 7. Sunway TaihuLight 10.649.600 Cores, 93 PetaFLOPS > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 7
  • 8. Tianhe-2 (天河二号) 3.120.000 Cores, 33,8 PetaFLOPS > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 8
  • 9. Titan 560.640 Cores, 17,5 PetaFLOPS > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 9
  • 10. Programming HPC Technologies • MPI (Message Passing Interface) • OpenMP (Open Multi-Processing) • OpenACC (Open Accelerators) • Global Arrays Toolkit • CUDA (GPGPUs) • OpenCL (GPGPUs) Languages • Fortran • Fortran • C/C++ • Python > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 10
  • 11. Performance Fortran vs. Python Helicopter Simulation Fortran Code • Developed 1994-1996 • parallelized with MPI • Performance optimization 2013/14 with MPI und OpenACC Performance Comparison • Multi-core CPUs • Cython mit OpenMP • Python bindings for Global Array Toolkit • GPGPUs • NumbaPro > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 11
  • 12. Core Computation Loops in Pure Python > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 12 for iblades in range(numberOfBlades): for iradial in range(1, dimensionInRadialDirection): for iazimutal in range(dimensionInAzimualDirectionTotal): for i1 in range(len(vx[0])): for i2 in range(len(vx[0][0])): for i3 in range(len(vx[0][0][0])): # wilin-Aufruf 1 for iblades in range(numberOfBlades): for iradial in range(dimensionInRadialDirection): for iazimutal in range(1, dimensionInAzimualDirectionTotal): for i1 in range(len(vx[0])): for i2 in range(len(vx[0][0])): for i3 in range(len(vx[0][0][0])): # wilin-Aufruf 2 for iDir in range(3): for i in range(numberOfBlades): for j in range(dimensionInRadialDirection): for k in range(dimensionInAzimualDirectionTotal): x[iDir][i][j][k] = x[iDir][i][j][k] + dt * vx[iDir][i][j][k]
  • 13. Performance Fortran vs. Python Single Core (Xeon E5645, 6 Cores) > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 13 2.51 1.09 0.27 0.46 0.01 0 0.5 1 1.5 2 2.5 3 Fortran Cython Numba Numpy Python GFlops
  • 14. Performance Fortran vs. Python Multi-Core (Xeon E5645, 6 Cores) > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 14 13.64 5.78 1.38 0 2 4 6 8 10 12 14 16 Fortran Cython Global Arrays GFlops
  • 15. Performance Fortran vs. Python GPGPU (NVIDIA Tesla C2075, 448 CUDA-Cores) > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 15 69.77 7.79 0 10 20 30 40 50 60 70 80 Fortran Numba GFlops
  • 16. Performance-Productivity-Space > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 16 C++ / FORTRAN Cython NumPy / Numba Pure Python Performance Productivity/Simplicity
  • 17. Python’s productivity is great • Allows to write code quickly • Wide range of applications Python’s performance still needs improvements • Code optimization with tools for profiling, code examination, … • Optimized libraries for parallel processing with MPI etc. Excited to see advancements by community and companies Productivity vs. Performance of Python > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 17
  • 18. Annual scientific workshop, in conjunction with Supercomputing conference State-of-the-art in • Hybrid programming • Comparison with other languages for HPC • Interactive parallel computing • High-performance computing applications • Performance analysis, profiling, and debugging PyHPC 2016 • 6th edition, Nov 14, 2016, Salt Lake City • http://www.dlr.de/sc/pyhpc2016 Workshop „Python for High-Performance and Scientific Computing“ (PyHPC) > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 18
  • 19. Tools Example Intel® VTune™ Amplifier for Profiling > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 19 https://software.intel.com/en-us/intel-vtune-amplifier-xe/
  • 20. Tools Example mpi4py with Intel MPI Library and Cython > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 20 from mpi4py import MPI comm = MPI.COMM_WORLD size = comm.Get_size() rank = comm.Get_rank() name = MPI.Get_processor_name() if rank == 0: print "Rank %d of %d running on %s" % (rank, size, name) for i in xrange(1, size): rank, size, name = comm.recv(source=i, tag=1) print “Rank %d of %d running on %s" % (rank, size, name) else: comm.send((rank, size, name), dest=0, tag=1) http://pythonhosted.org/mpi4py/ https://software.intel.com/en-us/intel-mpi-library mpi4py Cython Intel MPI Library
  • 21. Distributed Computing > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 21
  • 22. Distributed Computing > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 22 Paul Baran. On Distributed Communication Networks. IEEE Transactions on Communications, 12(1):1–9, March 1964
  • 23. Driven by data science, machine learning, predictive analytics, … • Tabular data • Time Series • Stream data • Connected data Scaling up with increased data size from from laptops to clusters • Many-Task-Computing • Distributed scheduling • Peer-to-peer data sharing Distributed Computing > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 23
  • 24. Space Debris: Object Correlation from Sensor Data and Real-Time Collision Detection > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 24
  • 25. 29,000 Objects Larger than 10 cm > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 25
  • 26. 750,000 Objects Larger than 1 cm > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 26
  • 27. 150M Objects Larger than 1 mm > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 27
  • 28. Space Debris: Graph of Computations > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 28
  • 29. Directed Acyclic Graph (DAG) Python has great tools to execute graphs on distributed resources Graphs > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 29 A B E F G D C
  • 30. PySpark > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 30 https://spark.apache.org/ https://spark.apache.org/docs/0.9.0/python-programming-guide.html from pyspark import SparkContext logFile = “myfile.txt“ sc = SparkContext("local", "Simple App") logData = sc.textFile(logFile).cache() numAs = logData.filter(lambda s: 'a' in s).count() numBs = logData.filter(lambda s: 'b' in s).count() print("Lines with a: %i, lines with b: %i" % (numAs, numBs))
  • 31. Dask > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 31 http://dask.pydata.org/ import dask.dataframe as dd df = dd.read_csv('2015-*-*.csv') df.groupby(df.user_id).value.mean().compute() d = {'x': 1, 'y': (inc, 'x'), 'z': (add, 'y', 10)}
  • 32. TensorFlow > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 32 import tensorflow as tf with tf.Session() as sess: with tf.device("/gpu:1"): matrix1 = tf.constant([[3., 3.]]) matrix2 = tf.constant([[2.],[2.]]) product = tf.matmul(matrix1, matrix2) https://www.tensorflow.org/
  • 33. Quantum Computing > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 33
  • 34. Design optimization and robust design • Space systems and air transportation systems • Design and evaluation of systems with consideration of uncertainties Optimization Problems in Aeronautics & Space > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 34
  • 35. Machine Learning • Deep learning, pattern recognition, clustering, images recognition, stream reasoning Anomaly detection • Monitoring of space systems Mission planning • Optimization in relation to time, resource allocation, energy consumption, costs etc. Verification and validation • Software, embedded systems Optimization Problems in Aeronautics & Space > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 35
  • 36. Discrete optimization is basis for many kinds of problems  Packaging  Partitioning  Mapping  Scheduling Hope: Quantum Computers solve those problems faster than classical computers New Research Field: Quantum Computing > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 36 NP-hard problems!
  • 37. Bits and Qubits Classical Bits Quantum bits (Qubits) • “0” or “1” • Electric voltage • Superposition of complex base states > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 37 1 0
  • 38. Quantum Computer To date, one Quantum Computer is available commercially • D-Wave Systems, Inc., Canada • System with ~2000 Qubits („D-Wave 2X“) • Adiabatic QC > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 38 Images: © D-Wave Systems, Inc.
  • 39. > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 39 Image: © D-Wave Systems, Inc.
  • 40. Inside D-Wave 2 > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 40 Images: © D-Wave Systems, Inc.
  • 41. > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 41 Image: © D-Wave Systems, Inc.
  • 42. D-Wave Qubit Topology – Chimera Graph > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 42
  • 43. Rewrite the problem as discrete optimization problem • QUBO: Quadratic unconstrained binary optimization “Programming” a Quantum Computer – Step 1 > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 43 𝐸 𝑞1, … , 𝑞 𝑛 = 𝑔𝑖 𝑛 𝑖=1 𝑞𝑖 + 𝑠𝑖𝑗 𝑞𝑖 𝑞𝑗 𝑛 𝑖,𝑗=1 𝑖>𝑗
  • 44. Mapping to hardware topology  Chimera-QUBO “Programming” a Quantum Computer – Step 2 > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 44
  • 45. Bringing the problem to the QC • Copy weights and coupling strengths to physical Qubits “Programming” a Quantum Computer – Step 3 > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 45
  • 46. Starting the actual “computation”: • Adiabatic process from start energy level to target energy level, which represents solution of the optimization problem • Result are the voltages after this process “Programming” a Quantum Computer – Step 4 > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 46 Energy Start System End System Time Energy Level Adiabatic Change Defines runtime
  • 47. D-Wave Software Environment > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 47
  • 48. Programming with Python Import API and Connect to Machine > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 48 import dwave_sapi2.remote as remote import dwave_sapi2.embedding as embedding import dwave_sapi2.util as util import dwave_sapi2.core as core # print "Connect to DWave machine ...” # create a remote connection try: conn = remote.RemoteConnection(myToken.myUrl, myToken.myToken) # get the solver solver = conn.get_solver('C12') except: print 'Unable to establish connection' exit(1)
  • 49. Programming with Python Prepare the Problem (“Embedding”) > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 49 hwa = get_hardware_adjacency(solver) embeddings[eIndex] = embedding.find_embedding(J, hwa) h_embedded[eIndex], j0, jc, new_embed = embedding.embed_problem(h, J, embeddings[eIndex], hwa) J_embedded[eIndex] = jc J_embedded[eIndex].update(j0) embeddings[eIndex] = new_embed
  • 50. Programming with Python Solve the Problem (“Ising”) > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 50 getEmbeddedIsing(eIndex) # print "Annealing ...” result = core.solve_ising(solver, h_embedded[eIndex], J_embedded[eIndex], annealing_time=20, num_reads=1000) unembedded_result = embedding.unembed_answer( result['solutions'], embeddings[eIndex], 'minimize_energy', h, J) # take the lowest energy solution rawsolution_phys = (np.array(result['solutions']) + 1)/2 rawsolution_log = (np.array(unembedded_result) + 1)/2
  • 51. Result Distribution > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 51
  • 52. Summary > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 52 High Performance Data Science Future Architectures Python is or will become standard in programming for...
  • 53. > PyCon DE 2016 > Andreas Schreiber • Python at Warp Speed > 30.10.2016DLR.de • Chart 53 Thank You! Questions? Andreas.Schreiber@dlr.de www.DLR.de/sc | @onyame