Category Archives: SciPy

TGIF: SciPy 2012 Recap Video

As we wait for the SciPy talk videos to make their way onto the web, we’d like to share a short film recapping SciPy 2012.

The latest iteration of the SciPy conference was another great example of the scientific python community coming together to share “the latest and greatest.” Most organizations want to change the world in some way or another. At Enthought, we attempt to do this by building tools that help our customers – in both academia and industry – concentrate on solving their actual problems rather than wrestling with technology. We believe Python’s ability to operate smoothly in different contexts (e.g., desktop, web, array-based and distributed computing, etc.) makes it a highly productive and pragmatic tool with which to build solutions.

The SciPy community is changing the world by continually pushing technical computing forward in a pragmatic way. One just has to look at the content and tools presented at SciPy historically to know that this community has been been up to its neck in “data science” for some time. One could also argue, however, that SciPy is one of the best kept secrets in technical computing. As the recent focus on MapReduce solutions illustrates, the world is in the grips of “big computation.” It will only get tougher in the foreseeable future. At the same time, “big data” is a relative term. “Big” for a bioinformatician is different than for a macro hedge fund analyst, and these differences can often be measured in orders of magnitude. And when it comes to solutions, rarely does one size fit all.

In contrast, SciPy addresses a broad array of problems. SciPy 2012 offered High Performance Computing and Visualization tracks, with tutorials on machine learning, plotting, parallel computing, and time series analysis. Sometimes all these topics could be found in a single talk (see VisIt). The community also demonstrated some open-mindedness by inviting Jeff Bezanson, one of the authors of Julia, to share his experience building a language specifically designed for technical computing. It turns out there is a fair amount of overlap between what the SciPy community and the Julia team are planning. With LLVM IR increasingly being viewed as a common target, there is real excitement about what the future holds for language development and interaction.

This is all to say that SciPy has a lot to offer the world. Stay tuned for a bigger and better SciPy next year!

Scipy 2012

No Mas

Scipy 2012 is wrapping up today tomorrow as bands of sprinters come together to hack away on their projects of interest. Many thanks to the sponsors and volunteers that made this year’s Scipy another success. The Scipy conference has always been highly technical. Although “data science” and “big data” have become buzzwords recently, Scipy has been exploring these themes for many years. Projects featuring machine learning, high performance computing, and visualization were in full attendance at this year’s Scipy. Stay tuned for links to talk videos (care of Next Day Video)!

BioInformatics at Scipy: It’s Alive!

It's Alive!

We are pleased to announce the 2012 SciPy Bioinformatics Workshop held in conjunction with SciPy 2012 this July in Austin, TX.

Python in biology is not dead yet… in fact, it’s alive and well!

Remember just a few short years ago when BioPerl ruled the world? Just one minor paradigm shift* later and Python now has a commanding presence in bioinformatics. From Python bindings to common tools all the way to entire Python-based informatics platforms, Python is used everywhere** in modern bioinformatics.

If you use Python for bioinformatics or just want to learn more about how its being used, join us at the 2012 SciPy Bioinformatics Workshop. We will have speakers from both academia and industry showcasing how Python is enabling biologists to effectively work with large, complex data sets.

The workshop will be held the evening of July 19 from 5-6:30.

More information about SciPy is available on the conference site: http://conference.scipy.org/scipy2012/

!! Participate !!

Are you using Python in bioinformatics? We’d love to have you share your story. We are looking for 3-4 speakers to share their experiences using Python for bioinformatics.

Please contact Chris Mueller at chris.mueller [at] lab7.io and Ray Roberts at rroberts [at] enthought.com to volunteer. Please include a brief description or link to a paper/topic which you would like to discuss. Presentations will last for 15 minutes each and will be followed by a panel Q&A.

* That would be next generation sequencing

** Yes, we aRe awaRe of that otheR language used eveRywhere, but let’s celebRate Python Right now.

SciPy for .NET & IronPython

This week Enthought and Microsoft are announcing the availability of NumPy and SciPy for IronPython and the .NET Framework, released in conjunction with the release of Microsoft’s Python Tool for Visual Studio release. These packages implement a fast and flexible multi-dimensional array package (NumPy) and a large collection of scientific and numerical algorithms built on top of the array (SciPy) andare two fundamental building blocking for technical computing in Python. CPython users are well familiar with both but up until now they have not been available on other Python environments. This is because both packages include many heavily optimized native-code (typically C or FORTRAN) implementation of the algorithms, thus requiringcustom wrappers to integrate them into each Python environment.

The result of the project isIronPython ports of NumPy and SciPy, which are full .NET ports and include custom C#/C interfaces to a common native C core. This means that the full functionality is available not only to IronPython but to all .NET languages such as C# or F# by directly accessing the C# interface objects.

Completing the port required considerably more work than just writing new interfaces IronPython. To start with large parts of the NumPy C code were written specifically for CPython and made free use of the CPython APIs. To support additional Python environments the codebase had to be refactored into a Python-independent core library plus a CPython-specific interface layer. A big advantage to this architectural separation is that the core NumPy library can now be used from applications written in C or C++ much more easily and ports to other Python environments will require less work.

The second supporting project was an extension of Cython to support IronPython. Cython, not to be confused with CPython, is a tool that allows C extensions to be written for Python using a language based on Python with extensions for interacting with native code libraries. Up until now Cython has only supported the CPython environment. We have extended Cython to be able to generate C++/CLI code interfaces for .NET, and thus IronPython. Using a single Cython input file it is now possible to target both CPython and IronPython environments.

The main driver for the Cython project was the nature of the SciPy library. SciPy consists of dozens of different packages, many of which have a hand-written C interface for CPython. One option was to write a matching C# interface for each of these to support IronPython. While this would have taken less time, the result would have been a significant duplication of code and more maintenance work in the future. Instead we chose to port Cython to .NET and then rewrite each C module in Cython so one a single source file is needed.

The first release of SciPy and NumPy for .NET are available now as binary distributions from SciPy.org or directly from Enthought. All of the code for these and the supporting projects are open source and available at the links below.

Travis Oliphant announces…

Travis announces project to extend NumPy/SciPy to .Net

Travis announces project to extend NumPy/SciPy to .Net

Travis Oliphant kicked off today’s SciPy 2010 Day 2 with a great keynote talk. He told the story of his own path to Python, filling his slides with the faces and work of other developers, scientists, and mathematicians inspiration, teachers, and collaborators. He explained how his academic trajectory, from electrical engineering, through a brief affair with neuroscience, to a biomedical engineering PhD, both drove and competed with his work creating NumPy.
Last, but not least, Travis closed his talk with rather large announcement: Enthought has undertaken the extension of NumPy and SciPy to the .NET framework. For details on the project refer to the official release.

SciPy 2010 underway!

Everyone minus Ian, the most valiant photographer!

Everyone minus Ian, the most valiant photographer!

We were thrilled to host SciPy 2010 in Austin this year. Everyone seems to be enjoying the cool weather (so what if its borne of thunderstorms?) and the plush conference center/hotel (even if we had to retrain their A/V team).
After two days of immensely informative Tutorials, the General Session began yesterday with speaker Dave Beazley’s awesome keynote on Python concurrency. In addition to the solid line-up of talks at the main conference, we had two very well-attended specialized tracks: Glen Otero, chaired the Bioinformatics track, while Brian Granger and Ken Elkabany coordinated the Parallel Processing & Cloud Computing talks. The day then closed with a conference reception and guacamole-fueled Birds of a Feather sessions.
SciPy 2010

EPD 6.1: MKL on Linux, Windows, & OSX

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!

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

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.