back Back to Jobs

Comparison of PyPy with other Scientific Computer Languages

Location: Boulder, CO
Job # 1694159
Date Posted: 10-29-2012

PyPy is a Python implementation which focuses on performance. It includes a Just In Time compiler (JIT), which improves Python performance considerably compared to the reference Python implementation (CPython). It has also been shown that computationally expensive kernels written in Python can outperform ones written in C, provided the PyPy interpreter is used [1]. Further, writing numerical kernels in Python results in shorter implementation times, which leaves the developer more time to experiment with different algorithms.
 
In this project, the student intern will work with PyPy on NCAR’s new petaflops supercomputer, Yellowstone, evaluate it, benchmark it, and possibly extend it. The student will benchmark existing Python Codes and/or Libraries in use at NCAR in PyPy. He or she will port one or more atmospheric kernels from C or FORTRAN to Python and evaluate the performance difference between PyPy versus the original C or FORTRAN implementation. The very successful intern will also work with upstream to expand the framework in order to make it more useful to the supercomputing community (e.g., improve the numeric primitives in PyPy, experiment with better vectorization techniques. This work could result in publishing a peer-reviewed paper in a journal or at a conference.
 
[1] http://www.strabon.di.uoa.gr/files/IEEE2012.pdf
 
Skills/Qualifications: Good programming skills in at least one language, such as C, C++, Fortran77 or Fortran90 are required. Experience with Makefiles, Unix, and Python is also required.  Experience with C or Fortran Compilers internals, performance optimization or just in time compilation itself will be highly beneficial.

this job portal is powered by CATS