EPD 6.1: MKL on Linux, Windows, & OSX

March 2nd, 2010

epd-6-1-long
There were several reasons we initially decided to include MKL, an extensively threaded, highly optimized library, in the Enthought Python Distribution. For one thing, we like that MKL detects the processing capability of the machine and then runs optimal algorithm for that hardware. Secondly, we knew that MKL would offer faster linear algebra routines than the ATLAS framework, previously used for EPD Linux and Windows, and Accelerate library, previously used for OSX.

We didn’t anticipate, however, just how dramatic that speed up would be. Our benchmarking tests document the astounding increases in processing speed that MKL lends to EPD.

In EPD 6.1, NumPy and SciPy are dynamically linked against the MKL linear algebra routines. This allows EPD users to seamlessly benefit from the highly optimized BLAS and LAPACK routines in the MKL. In addition, EPD 6.1 comes bundled with all of the MKL run-time libraries so that advanced users can take advantage (with ctypes) of even more of the MKL library such as fast Fourier transforms, trust-region optimization methods, sparse solvers, and vector math.

We’re really pleased with the optimizations MKL offers to our EPD users. Try out EPD 6.1 for yourself!

PyCon 2010 Report

February 23rd, 2010

I just got back from PyCon, where I gave my tutorial on Traits, met all sorts of smart and interesting people, listened to some great talks, ate more food than I probably should have, and got less sleep than I probably needed.  It was really nice to see talks and posters about things that people are doing with Python in science at a general-purpose conference.

Highlights for me:
Dave Beazley’s awesome talk on Python’s Global Interpreter Lock (GIL) and its curious behaviour.  If you do any programming with threads in Python you have to make sure that you watch the video — it’s a clear, understandable and unflinching look at some of the weird behaviour that you can get from CPU-bound threads in Python.  The take-home message of his talk for scientific programmers: With current versions of Python, there is little point of running intensive pure-Python computations in parallel using threads — and doing so on multiple core machines may severely degrade computation time.  Dave showed a simple example where a computation split into two threads on two cores took twice as long as the same computation in one thread on one core.  Fortunately NumPy releases the GIL for most of its operations, but his talk highlights something that we should all keep in mind.

• Wes McKinney’s new Pandas package for data series analysis.  I didn’t get to see his talk, but I got to spend a fair amount of time talking to Wes and his package was generating quite a bit of buzz in the financial and numerical computing open spaces.  It’s an early release, but there have been several projects I’ve been involved in over the past couple of years where the Pandas data structures would have been invaluable.  I’m looking forward to being able to use it in the future in projects that I’m working on.

Altogether, a great time.  Thanks to everyone who dropped by the Enthought booth and talked with us, and we’ll see you in Atlanta at PyCon 2011 next year!

PyCon Giveaway Winners Announced

February 22nd, 2010

Corran, Ilan, and Travis had a great time at PyCon 2010 in Atlanta. We collected names for two drawings at our booth and just drew the winners this morning. Joseph Tennies, from Esterline, won the seat at an Enthought Open Training Course.

Meanwhile, Basic subscriptions will go out to:

  • Jason Zillioux
  • R. Mark Sharp, Southwest Foundation for Biomedical Research
  • Piotr Adam Zolnierczuk, Oak Ridge National Lab
  • Daniel Schep, Savannah River National Lab

Congratulations to all the winners!

Save the Date: SciPy 2010, June 28-July 3

February 11th, 2010

The annual US Scientific Computing with Python Conference, SciPy, has been held at Caltech since it began in 2001. While we always love an excuse to go to California, it’s also important to make sure that we allow everyone an opportunity to attend the conference. So, as Jarrod announced last fall, we’ll begin rotating the conference location and hold the 2010 conference in Austin, Texas.

As you may know, Enthought is headquartered in Austin. So in addition to our standard SciPy sponsorship, this year we’ll also be undertaking a great deal of the planning and organization.

To begin with, we’re thrilled to announce that we’ve secured several corporate sponsorships that will allow us to host the conference at the brand new AT&T Executive Education and Conference Center on campus at the University of Texas. It’s a wonderful facility in Central Austin and provides easy access to an array of great restaurants, parks, and music venues.

We will also be able to provide stipends for our Tutorial presenters for the first time. These community members provide us with an invaluable learning experience every year, and we’re very excited to be able to compensate them for their efforts. And of course, we’ll also continue to offer student sponsorships to support active academic contributors who want to attend the conference.

So mark your calendars, folks! June 28 – July 3. Early registration open now.

Enthought Presence @ PyCon 2010

January 12th, 2010

pycon 2010

Travis Oliphant, Corran Webster, and Ilan Schnell will be representing Enthought at PyCon in Atlanta next month.

Corran is scheduled to lead a tutorial on Wednesday morning, Introduction to Traits. He will demonstrate the use of Traits for adding sophisticated type definitions to Python objects. Exploring the toolset, attendees will learn how to use Traits for rapid GUI creation and speed their development process.

On Friday, Ilan will give a talk on on the tools and techniques he utilizes to create installers for the Enthought Python Distribution. Details on Enstaller, the tool he wrote for egg-based package management can be found at PyPI.

PyCon is a very cool community-organized event and we’ve always had a great time there. For a glimpse of the past, check out Robert and Peter showing off Python-Powered Multitouch or Eric evangelizing the use of Python for scientific applications.

Information on conference and tutorial registration.

Pssst…EPD 6.0 Beta released

December 18th, 2009

We thought we’d sneak out our beta release of EPD for you to play with over the holidays. Notably, it includes 64-bit versions on all platforms including OSX and Windows (previous EPD 64-bit versions have only offered partial support, for Linux) and is built on Python 2.6.

The final release will include several additional components including NumPy 1.4, but we know that many people are anxious to get 64-bit installations so we’ve decided to release this beta in the meantime. It’s accessible in the EPD repository.

Please submit bugs to epd-support@enthought.com. Thanks!

Announcing the Forming of the New York Financial Python User Group

December 3rd, 2009

New York Financial Python User Group

December 3, 2009

After receiving a great response to our new Financial Python User Group in London, we’re pleased to announce that we’re also going to be launching an informal Financial Python User Group in New York City.

The use of Python, NumPy, and SciPy amongst quantitative analysts has grown steadily over the past several years.  Throughout the financial industry, Python tools have played a powerful role in cutting-edge trading and visualization systems. We’ve been working with a number of  New York-based quants, traders, and other financial professionals for some time now, so the city seems an appropriate location for our first US Financial Python User Group.

Beginning in December 2009, Enthought will organize a monthly or bi-monthly event where people can meet and discuss the use of Python in the financial sector. Topics will range from new tools and techniques to best practices.

If you’d like to be informed about the details of these events, please contact me: mharward@enthought.com or join us on the LinkedIn group.

Upcoming Webinars: Traits & SciPy India

December 1st, 2009

We’ll be hosting two webinars this month, covering user interfaces with Traits and SciPy India 2009. Hope to see you there!

EPD Webinar:
How do I…Build a user interface with Traits?
Friday December 4
1pm CST/ 7pm UTC
Wait list (non-subscribers)
Subscribe to EPD (guaranteed seat)
The Traits package is at the center of all development we do at Enthought and has changed the mental model we use for Python programming. In this week’s webinar, we’ll have an in-depth look at how we can use Traits to build user interfaces for scientific applications.

Scientific Computing with Python Webinar:
Summary of SciPy India
Friday December 18
1pm CST/ 7pm UTC
Register at GoToMeeting
In a couple of weeks, Enthought President Travis Oliphant will head off to Kerala, India to speak at SciPy India 2009. Due to a training engagement, Travis missed SciPy for the first time this summer, so he’s excited for this additional opportunity to meet and collaborate with the scientific Python community. Speakers at the event include Jarrod Millman, David Cournapeau, Christopher Burns, Prabhu Ramachandran, and Asokan Pichai — a great group. We’re looking forward to hearing Travis’ review of the proceedings.

Datetime support in NumPy 1.4

November 24th, 2009

Jarrod recently made a blog post that suggested datetime support might be removed from NumPy 1.4. While it is fairly likely that any NumPy C-API suport for the date-time modifications might not make it into NumPy 1.4, the Python-level functionality for datetime will be present at least to the level of what is already implmented and hopefully a bit more functionality will be added before release.

What is currently functioning is that you can define NumPy date-time types, view already-created arrays with that data-type, and then do simple operations. You can also get and set NumPy date-time arrays with Python date-time and date objects.

The biggest code that remains to be written is better coercion routines (converting back and forth between the other data-types and NumPy date-time and timedelta types).

My first attempt at doing this was sidetracked by the complexity of modifying the code-generation tools that create much of NumPy’s C-code.

There are 81 routines that need to be written that are currently handled by auto-generated code. A better templating code-generator for NumPy would be very helpful right now (instead of the specialized but less-flexible one I wrote when I wasn’t very aware of other templating engines and how they could be helpful).

Thanksgiving weekend is a great time (at least in the U.S.) to jump in and help with getting date-time support finalized in NumPy 1.4. I will be grabbing time between family gatherings and football games to try and get some code written.

Anyone who knows C well and a little bit about Python C-API can jump in and help.

Upcoming webinar: NumPy/SciPy interpolation

November 13th, 2009

It looks like it’s time for our mid-month Scientific Computing with Python webinar! This month’s topic is sure to prove very useful for many of you data analysts: Interpolation with NumPy and SciPy.

In many data-processing scenarios it is necessary to use a discrete set of available data-points to infer the value of a function at a new data-point. One approach to this problem is interpolation, which constructs a new model-function that goes through the original data-points. There are many forms of interpolation (polynomial, spline, kriging, radial basis function, etc.), and SciPy includes some of these interpolation forms. This webinar will review the interpolation modules available in SciPy and in the larger Python community and provide instruction on their use via example.


NumPy/SciPy interpolation
Friday, November 20
1pm CDT (7pm UTC)
register at GoToMeeting

Hope to see you there!