[pypy-svn] r66609 - pypy/extradoc/talk/euroscipy2009
fijal at codespeak.net
fijal at codespeak.net
Fri Jul 24 19:35:18 CEST 2009
Author: fijal
Date: Fri Jul 24 19:35:17 2009
New Revision: 66609
Added:
pypy/extradoc/talk/euroscipy2009/author.latex
pypy/extradoc/talk/euroscipy2009/beamerdefs.txt (contents, props changed)
pypy/extradoc/talk/euroscipy2009/clouds.png (contents, props changed)
pypy/extradoc/talk/euroscipy2009/dump.png (contents, props changed)
pypy/extradoc/talk/euroscipy2009/earth.png (contents, props changed)
pypy/extradoc/talk/euroscipy2009/flow.png (contents, props changed)
pypy/extradoc/talk/euroscipy2009/makepdf (contents, props changed)
pypy/extradoc/talk/euroscipy2009/output.png (contents, props changed)
pypy/extradoc/talk/euroscipy2009/pypy-logo.png (contents, props changed)
pypy/extradoc/talk/euroscipy2009/stylesheet.latex
pypy/extradoc/talk/euroscipy2009/world.png (contents, props changed)
Modified:
pypy/extradoc/talk/euroscipy2009/talk.txt
Log:
Update on talk
Added: pypy/extradoc/talk/euroscipy2009/author.latex
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/euroscipy2009/author.latex Fri Jul 24 19:35:17 2009
@@ -0,0 +1,7 @@
+\definecolor{rrblitbackground}{rgb}{0.0, 0.0, 0.0}
+
+\title[PyPy status talk]{PyPy status talk}
+\author[Maciej Fijalkowski, Dorota Jarecka]{Maciej Fijalkowski \and
+Dorota Jarecka}
+\institute[EuroSciPy 2009]{EuroSciPy 2009}
+\date{July 25, 2009}
Added: pypy/extradoc/talk/euroscipy2009/beamerdefs.txt
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/euroscipy2009/beamerdefs.txt Fri Jul 24 19:35:17 2009
@@ -0,0 +1,77 @@
+.. colors
+.. ===========================
+
+.. role:: green
+.. role:: red
+
+
+.. general useful commands
+.. ===========================
+
+.. |pause| raw:: latex
+
+ \pause
+
+.. |small| raw:: latex
+
+ {\small
+
+.. |end_small| raw:: latex
+
+ }
+
+
+.. closed bracket
+.. ===========================
+
+.. |>| raw:: latex
+
+ }
+
+
+.. example block
+.. ===========================
+
+.. |example<| raw:: latex
+
+ \begin{exampleblock}{
+
+
+.. |end_example| raw:: latex
+
+ \end{exampleblock}
+
+
+
+.. alert block
+.. ===========================
+
+.. |alert<| raw:: latex
+
+ \begin{alertblock}{
+
+
+.. |end_alert| raw:: latex
+
+ \end{alertblock}
+
+
+
+.. columns
+.. ===========================
+
+.. |column1| raw:: latex
+
+ \begin{columns}
+ \begin{column}{0\textwidth}
+
+.. |column2| raw:: latex
+
+ \end{column}
+ \begin{column}{0\textwidth}
+
+
+.. |end_columns| raw:: latex
+
+ \end{column}
+ \end{columns}
Added: pypy/extradoc/talk/euroscipy2009/clouds.png
==============================================================================
Binary file. No diff available.
Added: pypy/extradoc/talk/euroscipy2009/dump.png
==============================================================================
Binary file. No diff available.
Added: pypy/extradoc/talk/euroscipy2009/earth.png
==============================================================================
Binary file. No diff available.
Added: pypy/extradoc/talk/euroscipy2009/flow.png
==============================================================================
Binary file. No diff available.
Added: pypy/extradoc/talk/euroscipy2009/makepdf
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/euroscipy2009/makepdf Fri Jul 24 19:35:17 2009
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# WARNING: to work, it needs this patch for docutils
+# https://sourceforge.net/tracker/?func=detail&atid=422032&aid=1459707&group_id=38414
+
+rst2beamer.py --stylesheet=stylesheet.latex --documentoptions=14pt talk.txt talk.latex || exit
+sed 's/\\date{}/\\input{author.latex}/' -i talk.latex || exit
+pdflatex talk.latex || exit
+
Added: pypy/extradoc/talk/euroscipy2009/output.png
==============================================================================
Binary file. No diff available.
Added: pypy/extradoc/talk/euroscipy2009/pypy-logo.png
==============================================================================
Binary file. No diff available.
Added: pypy/extradoc/talk/euroscipy2009/stylesheet.latex
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/euroscipy2009/stylesheet.latex Fri Jul 24 19:35:17 2009
@@ -0,0 +1,10 @@
+\usetheme{Boadilla}
+\setbeamercovered{transparent}
+\setbeamertemplate{navigation symbols}{}
+
+\definecolor{darkgreen}{rgb}{0, 0.5, 0.0}
+\newcommand{\docutilsrolegreen}[1]{\color{darkgreen}#1\normalcolor}
+\newcommand{\docutilsrolered}[1]{\color{red}#1\normalcolor}
+
+\newcommand{\green}[1]{\color{darkgreen}#1\normalcolor}
+\newcommand{\red}[1]{\color{red}#1\normalcolor}
Modified: pypy/extradoc/talk/euroscipy2009/talk.txt
==============================================================================
--- pypy/extradoc/talk/euroscipy2009/talk.txt (original)
+++ pypy/extradoc/talk/euroscipy2009/talk.txt Fri Jul 24 19:35:17 2009
@@ -1,3 +1,4 @@
+.. include:: beamerdefs.txt
=============================================
PyPy's JIT for scientific python computations
@@ -10,7 +11,7 @@
* Introduction to JIT
-* A bit about EULAG model
+* A bit about cloud modelling & EULAG
* JIT & numpy integration
@@ -19,6 +20,10 @@
PyPy - what's that?
===================
+.. image:: pypy-logo.png
+ :width: 50px
+ :align: right
+
* A Python interpreter written in Python
* A flexible compiler compiling restricted version
@@ -37,6 +42,8 @@
* Psyco/stackless hard to maintain/extend
+|pause|
+
* "Psyco consumes one brain per inch of progress"
Motivation - user perspective
@@ -44,6 +51,10 @@
* Noone should be ever forced to write in C for performance
+|pause|
+
+* ... with maybe some exceptions
+
Status of PyPy today
====================
@@ -75,6 +86,8 @@
* We want to generate JIT out of interpreter's description
+|pause|
+
* ... instead of writing it by hand
JIT details
@@ -84,25 +97,27 @@
* Tracing JIT (a-la tracemonkey)
-* XXX
+* Written in a high-level language
JIT - status
============
* Simple numeric stuff - 20-30x performance boost
-* C-like speed for simple stuff
+|pause|
-* only x86 backend so far
+* ... which is similar to unoptimized C (gcc -O0)
-* More work needed
+|pause|
-xxx
+* only x86 backend so far (ie no x87)
-xxx
+* More work needed
-EULAG
-=====
+* Only about 2 man-year put so far
+
+Cloud modelling
+===============
Cloud processes cover tremendous range of scales, from thousands of
kilometers to a fraction of a cm...
@@ -112,10 +127,74 @@
| :width: 90px | :width: 100px | :width: 100px |
+----------------------+------------------------+---------------------+
+Global climate model
+====================
+
+Horizontal grid size of Global Climate Models is ~ 100km
+
+.. image:: world.png
+ :width: 300px
+ :align: center
+
+Clouds have to be parametrized
+
+XXX
+===
+
+Large Eddy Simulation (LES) Models
+==================================
+
+* processes, which scales are range of 100m could be calculated explicitly
+
+* processes of smaller spatial scale, (e.g. turbulent mixing)
+ have to be still parametrized
+
+.. image:: dump.png
+ :width: 300px
+ :align: center
+
EULAG
=====
-XXX
+* developed in National Center for Atmospheric Science (NCAR),
+ Boulder, Colorado, since '80
+
+* written in Fortran 77
+
+* many different developers and users
+
+* lack of version control, good documentation and bug tracking system
+
+EULAG - data size
+=================
+
+* model time step - 3s, total time of simulations - 6h
+
+* horizontal/vertical grid size 25m/25m
+ number of horizontal/vertical points - 128/121
+
+Analyzing model data
+====================
+
+.. image:: output.png
+ :width: 200px
+
+* checkin amount of liquid water in each box
+
+* checkin for each "dry" box, distance to the cloud edge
+
+* calculating relative humidity in each "dry"
+
+Data used for analyzis
+======================
+
+* written every 4 minutes
+
+* last 4 hours of the simulation
+
+* around 8 basic variables, e.g. velocities, temperature
+
+* For each variable: 60*121*128*128 values
Data postprocessing
===================
@@ -137,28 +216,88 @@
* Implement minimal version of numeric for PyPy
-* Reuse the JIT for speedups
+* Use the JIT for speedups
-* ~10x speedups over CPython version
+Results
+=======
+
+* ~10x speedups over pure-python version on top of CPython
* Still about 4x slower than C or matrix operations
+|pause|
+
+* ... but not everything can be expressed using matrix operations
+
+* Due to limitations, programs needs to be carefully crafted
+
JIT & Numpy
===========
* Just started really
-* Specifically tailored programs see good speedups
+* 138 LOC
+
+* only ints and simple operations
+
+JIT & Numpy status
+==================
+
+* No support from JIT **at all**
+
+* General JIT progress gives speedups with numpy
+
+* More work on numpy needed, but it's all very simple
+
+JIT & Numpy - future
+====================
+
+* Possible to optimize beyond C implementation
+
+* Matrix operations like: a + b + c should not allocate immediate results
-* Ongoing jit refactoring XXX
+* Use of SSE operations can yield even bigger speedups
+ (or whatever architecture permits)
-* More work needed XXX
+* Make sure that unmodified programs run faster
+
+* Future looking pretty good
Future directions
=================
-xxx
+* Work more on JIT in general (inlining, x86_64 backend, etc.)
+
+* Produce a release by the end of the year
+
+* Release should speed up real-world program
+
+* Work on numpy as time permits
+
+* Seek more funding
+
+How you can help?
+=================
+
+* PyPy is open source after all
+
+* Very friendly to newcomers
+
+* A lot of promising fields to work on
+
+* We also seek funding or research grants
Thank you! Questions?
=====================
+* **PyPy**:
+
+http://codespeak.net/pypy
+
+http://morepypy.blogspot.com
+
+pypy-dev at codespeak.net
+
+* **Cloud modelling**:
+
+XXX
Added: pypy/extradoc/talk/euroscipy2009/world.png
==============================================================================
Binary file. No diff available.
More information about the Pypy-commit
mailing list