Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Chapel for Python Programmers

Lightning Talk for Chapel BoF and PyHPC BoF at SuperComputing 2014.
by

Simon Andreas Frimann Lund

on 23 March 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Chapel for Python Programmers

How to stop worrying and start to love the curly bracket
Chapel for Python Programmers
The Python/Chapel integration module
pyChapel
.. for now but
there is more ...
Thats it...
chapel-for-python-programmers.readthedocs.org



pychapel.readthedocs.org



PyHPC @ SC14 proceedings
Coming from Python...
Get to know Chapel
Chapel for Python Programmers - Guide



pyChapel - Python / Chapel interoperability module



NumPy Backend - Transparent Mapping of Array Operations




To be continued...
chapel-for-python-programmers.readthedocs.org
pychapel.readthedocs.org
Simon A. F. Lund from Niels Bohr Institute @ University of Copenhagen, Denmark
FFI
Module Compiler
Example
Rewrite
Python/Chapel interoperability module
pyChapel
pychapel.rtfd.org
FFI
Module Compiler
Usage Examples
Science
Finance
Rosen
Chapel
Python/NumPy
Python/NumPy + pyChapel
Python/NumPy
Python/NumPy + pyChapel
Python/NumPy
Python/NumPy + pyChapel
Take some market data
Run some analytics / modeling on the data
Visualize the results

Setup simulation from dataset
Run simulation
Reduce data and analyze results
Rosen-filter, kernel-function from NumPy/SciPy software stack.
Behind the scenes
Arguments are cast or converted to equivalent types
Scalar arguments are passed by value
Array-metadata is copied
Array-data is passed by reference

Extern decorators
@Chapel ( Chapel code )
@FromC ( C code )
@FromC ( Third-party libraries )
Observations when running the above
A constant compilation overhead of ~3 seconds per module plus a varying amount of time depending of the compiled code.
Overhead is amortized with speedups ranging from 1.8x to 15.0x
Call overhead was not measurable when comparing the pyChapel and Chapel implementations of the rosen-kernel. Indicating sufficiently low call overhead.
Full transcript