python for matlab users - csdms · python for matlab users ... python snakes its way into hpc andy...
TRANSCRIPT
CU Research Computing: University of Colorado Boulder
Python for Matlab UsersThomas Hauser Director of Research Computing [email protected]
Monte Lunacek HPC Application Specialist [email protected]
What is Python?
CU Research Computing: University of Colorado Boulder
Flexible, powerful programming language
Easy, clean syntaxVery readable codeBalanced high level programming with lowlevel optimization
Large community of support
Free as in free beerFree as in free speech
·Object orientedRuns everywhereTesting framework
···
Pyrex, CythonF2py
·Modular system, large number of libraries
··
4/30
Minimum packages for computationalscience
CU Research Computing: University of Colorado Boulder
python: the base languagenumpy: arrays, fast operations on arraysscipy: higher level computational routinesmatplotlib: plottingipython: notebooks, flexible shell, and parallelpandas: data analysis
······
5/30
What can you do with Python?
CU Research Computing: University of Colorado Boulder
OS support: manage files and directoriesGlue existing applicationsLAPACK and BLAS: access powerful C and Fortran librariesParallelData AnalysisVisualizationGUI programmingScrape websitesBuild websitesAnything!
··········
6/30
OutlinePart One
Part Two
CU Research Computing: University of Colorado Boulder
Python Overview (30 minutes)
Lab (10 minutes)Break (10 minutes)
·IPython and NotebookFunctions, lists, and Dictionaries
··
Numpy (20 minutes)Plotting with Matplotlib (10 minutes)Lab (10 minutes)Data Analysis (20 minutes)
····
7/30
Hello World
What do you notice about this code?
CU Research Computing: University of Colorado Boulder
#!/Users/mlunacek/anaconda/bin/python
def say_hello(): print 'hello world'
say_hello()
PYTHON
9/30
Terminal
CU Research Computing: University of Colorado Boulder
$ ls hello_world.py hello_world.py$ python hello_world.py hello world$ ./hello_world.py hello worldbash-mac$
BASH
11/30
IPython shell
CU Research Computing: University of Colorado Boulder
OS supportFormatted printTab Completion%run
HistoryIntrospection (?,??)%paste and %cpaste
····
Persistence···
12/30
Quick Introduction to Python
How
CU Research Computing: University of Colorado Boulder
FunctionsListsDictionaries
···
IPython terminalNotebook
··
13/30
/Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab
data_analysis
dictionary_and_lab
functions_and_lists
matplotlib
numpyTutorial
python4matlab
To import a notebook, drag the file onto the listing below or click here.
CU Research Computing: University of Colorado Boulder 14/30
Endthought
http://www.enthought.com/
CU Research Computing: University of Colorado Boulder 16/30
Anaconda
https://store.continuum.io/cshop/anaconda
CU Research Computing: University of Colorado Boulder 17/30
Github
https://github.com/ResearchComputing/python_hpc
CU Research Computing: University of Colorado Boulder 18/30
Lab
CU Research Computing: University of Colorado Boulder
Go to the directory where you dowloaded the codeunzip the fileNavigate to Python4MatlabLaunch IPython Notebook
····
ipython notebook
dictionary_and_lab
19/30
/Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab
data_analysis
dictionary_and_lab
functions_and_lists
matplotlib
numpyTutorial
python4matlab
To import a notebook, drag the file onto the listing below or click here.
CU Research Computing: University of Colorado Boulder 20/30
/Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab
data_analysis
dictionary_and_lab
functions_and_lists
matplotlib
numpyTutorial
python4matlab
To import a notebook, drag the file onto the listing below or click here.
CU Research Computing: University of Colorado Boulder 22/30
/Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab
data_analysis
dictionary_and_lab
functions_and_lists
matplotlib
numpyTutorial
python4matlab
To import a notebook, drag the file onto the listing below or click here.
CU Research Computing: University of Colorado Boulder 24/30
/Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab
data_analysis
dictionary_and_lab
functions_and_lists
matplotlib
numpyTutorial
python4matlab
To import a notebook, drag the file onto the listing below or click here.
CU Research Computing: University of Colorado Boulder 26/30
What did we learn?
CU Research Computing: University of Colorado Boulder
Python's syntax is cleanNotebook, IPython terminalData structures
Ways to act on these containersPlotting with matplotlib
···
Lists, dictionaries,numpy arrayspandas DataFrame
··
27/30
Links
CU Research Computing: University of Colorado Boulder
Scientific Programming: scipyParallel Computing
Performance
Templates: jinja2SQL database: sqlalchemyWebsites: djangoHardware Raspbery Pi
··
IPython Parallelmpi4py
·profilingf2pycythonctypes
····
29/30
References
Thank you!
CU Research Computing: University of Colorado Boulder
Python Scripting for Computational SciencePython Snakes Its Way Into HPCAndy Terrel: Getting Started with Python in HPCPython TutorialThink PythonEnthoughtAnacondaData Analysis with Python
········
30/30