Many thanks again to our friend Chris Mueller for partnering with us at Pygotham. The video above is more of a screencast of his talk (it was clearer than the live-action video we have). FYI, we unfortunately do not have a recording of Mike Mckerns parallel python talk. Hopefully the pygotham organizers will release the video. Again, you can find the slides at this github repository.
Here’s the first video available from our Pygotham talk series. As mentioned in an earlier post, you can find the slides in this github repository. Enaml is an open source GUI framework that features declarative syntax and a constraints-based layout solver. The A/V was a little fragmented at the conference, so subsequent videos may feature screencasts rather than live-action video.
Thanks for watching!
PyGotham is officially over. Many thanks to all the volunteers and organizers for working so hard to make PyGotham a success! Many thanks as well to those of you who decided to attend the Enthought track. We hope we were able to help you solve at least a few of your GPU/Parallel Python/UI/visualization problems. Please don’t hesitate to contact us with any follow-up questions. Finally, a special thank you to Chris Mueller for joining us as a special guest! Your Disco/MapReduce talk was great!
For those of you looking for copies of the slides etc, please stay tuned to this blog. We will be aggregating the materials and will provide a link once we find a home for them.
In the meantime, we hope you enjoy the brief recap video above. The featured researchers, Kate and Michelle, work on macro-molecular proteins at Columbia and are not married to or related to any Enthought staff (as far as I know). Enthought values its relationship with the academic community (come visit us at Scipy!) and we are always happy to see scientists using our tools.
Visualization is an important part of any analysis. While well-designed static plots can tell rich stories about data, sometimes a little interactivity can go a long way to build intuition around a subject. Chaco is an open source plotting library that allows developers to create highly interactive plots that offer multiple perspectives on a piece of analysis. Enjoy!
You can learn more about PyGotham here.
This week, we are highlighting GPUs. Sean Ross Ross has put together a brief sneak peek screencast (above) of his GPU computing PyGotham talk that covers some basic terminology and a short example. The example ports a python/numpy algorithm to the GPU via CLyther. CLyther offers a higher level of abstraction that allows programmers to more easily leverage OpenCL and GPUs from Python. Again, don’t worry if some of the terminology is not defined, that’s what the talk is for! And in case you missed it, go ahead and check out last week’s Portable Parallel Python sneak peek.
Although new advances out of Intel, AMD, and Nvidia promise more seamless interaction between CPUs and GPUs, for the time being CUDA and OpenCL dominate the landscape. The learning curve associated with these technologies can make it a challenge to make effective use of your GPU assets. Sean will introduce you to heterogeneous computing, particularly with OpenCL, and show you how CLyther can help simplify your GPU life.
As we announced last week, Enthought is sponsoring an open-source High Performance Python track at PyGotham this year. The video above is meant to give you a sneak peek at the Parallel Python class. Please remember that the class will cover a broader array of topics (as described below), so don’t worry if you aren’t familiar with MPI as discussed in the video.
The talk itself will offer advice every developer should know for writing effective parallel python. Many of the examples you find on parallel python focus on the mechanics of getting parallel infrastructure working with your code, and not on actually building good Portable Parallel Python (the 3 P’s!). This talk is intended to be a broad introduction that is well suited to both the beginner and the veteran developer.
- Leverage existing code wherever possible. Most likely someone has solved a subset of your problem and it was probably their primary interest. As such, their code is probably better optimized for performance within their defined scope than your code will be. Use the standards: numpy, scipy, etc. Don’t do anything fancy unless its absolutely necessary.
- Build efficient models. Evolve code from for-loops to list comprehensions and generator comprehensions to numpy and cython.
- Optimize your code for speed and memory performance using profilers.
- Keep the minimum set of information you need at hand at all times. Whatever you do, don’t trap a piece of necessary information in a dark corner of your code. The rediscovery of information is very expensive.
- Separate the consumer and producer of information from the communication mechanism. Build simple-as-possible data structures, using or deriving from basic types. Use function-based operations on a data type or to map between data types. Keep any diagnostic and monitoring tools separate from your data and functions. Good design here can increase the parallel nature of your code significantly.
- Learn the different parallel communication technologies (multiprocessing, MPI, zmq, GPU, cloud, …) and use parallel map and/or map-reduce.
- Stay name space aware. Ensure your code has self-contained key-value pairs for name=object definitions at the level of the parallel map. Use imports and definitions wisely. Know scoping rules and how they apply to parallelization.
- When the above fails, lean on a good serializer.
We look forward to seeing you at PyGotham! Let us know if there’s anything you’d like to see covered (within the scope of each respective talk) and stay tuned for future “sneak peeks.”
Well, as it happens, we interviewed the founders of Cloak at Pycon (along with some other folks). Unfortunately, the focus is a bit soft due to operator error. So along with the Cloak interview, we also interviewed our friend Ian Ozsvald who is now working on a new start-up called StrongSteam. Finally we have an interview with Christine Cheung from PyLadies. PyLadies isn’t a start-up, of course, but PyLadies’ co-founder, Audrey Roy, won the Community Service Award this year. The PyLadies approach contrasts with the Boston Python User Group, but there’s more than one way to skin a cat.