Authors: Kurt Smith, Robert Grant, and Lauren Johnson
We attended SuperComputing 2013, held November 17-22 in Denver, and saw huge interest around Python. There were several Python related events, including the “Python in HPC” tutorial (Monday), the Python BoF (Tuesday), and a “Python for HPC” workshop held in parallel with the tutorial on Monday. But we had some of our best conversations on the trade show floor.
Python Buzz on the Floor
The Enthought booth had a prominent “Python for HPC: High Productivity Computing” headline, and we looped videos of our parallelized 2D Julia set rendering GUI (video below). The parallelization used Cython’s OpenMP functionality, came in at around 200 lines of code, and generated lots of discussions. We also used a laptop to display an animated 3D Julia set rendered in Mayavi and to demo Canopy.
Many people came up to us after seeing our banner and video and asked “I use Python a little bit, but never in HPC – what can you tell me?” We spoke with hundreds of people and had lots of good conversations.
It really seems like Python has reached an inflection point in HPC.
Python in HPC Tutorial, Monday
Kurt Smith presented a 1/4 day section on Cython, which was a shortened version of what he presented at SciPy 2013. In addition, Andy Terrel presented “Introduction to Python”; Aron Ahmadia presented “Scaling Python with MPI”; and Travis Oliphant presented “Python and Big Data”. You can find all the material on the PyHPC.org website.
The tutorial was generally well attended: about 100–130 people. A strong majority of attendees were already programming in Python, with about half using Python in a performance-critical area and perhaps 10% running Python on supercomputers or clusters directly.
In the Cython section of the tutorial, Kurt went into more detail on how to use OpenMP with Cython, which was of interest to many based on questions during the presentation. For the exercises, students were given temporary accounts on Stampede (TACC’s latest state-of-the-art supercomputer) to help ensure everyone was able to get their exercise environment working.
Andy’s section of the day went well, covering the basics of using Python. Aron’s section was good for establishing that Python+MPI4Py can scale to ~65,000 nodes on massive supercomputers, and also for adressing people’s concerns regarding the import challenge.
Python in HPC workshop, Monday
There was a day-long workshop of presentations on “Python in HPC” which ran in parallel with the “Python for HPC” tutorial. Of particular interest were the talks on “Doubling the performance of NumPy” and “Bohrium: Unmodified NumPy code on CPU, GPU, and Cluster“.
Python for High Performance and Scientific Computing BoF, Tuesday
Andy Terrel, William Scullin, and Andreas Schreiber organized a Birds-of-a-Feather session on Python, which had about 150 attendees (many thanks to all three for organizing a great session!). Kurt gave a lightning talk on Enthought’s SBIR work. The other talks focused on applications of Python in HPC settings, as well as IPython notebooks on the basics of the Navier-Stokes equations.
It was great to see so much interest in Python for HPC!