Thursday, June 21, 2007

Jython - Summer of Code, finally getting started

Disclaimer: Even though this is an announcement of the fact that I am getting started on my SoC project, I have to admit that there might be some rants about courses at my university and ScaMPI.

As most of my friends already know, this summer I am doing a Google Summer of Code project. The project I applied for, and have been assigned to work on, is the Jython project. My part in Jython will be back end compiler work, i.e. bytecode generation. I have a great mentor, Jim Baker, and that makes me quite sure that I will be able to accomplish something during this project.
My original plan was to be able to start working on this project a week and a half ago, but that didn't turn out as I wanted it to. A week and a half ago I had my final exam, in cryptology (I actually managed to get quite good scores on that exam), and I had thought that I would be free from my studies after that. I had never expected that the final lab assignment in my programming of parallel computers course would take as much time as it did. I thought I would have completed that assignment before my exams. I was wrong. Before focusing on my exams I knew that the code segfaulted in a call to MPI_Sendrecv, that was quite easy to find out using some trace printouts. But figuring out why was a whole other story. It turns out that the MPI library on our super computer (ScaMPI) didn't adhere to the MPI standards. In order to get the rapid development cycles I am used to, instead of having to wait for CPU time to run the application, i installed OpenMPI on my MacBook (hey, it has multiple cores, it can do parallel computing), and manged to get everything working fine there, but it still segfaulted with ScaMPI. In the end it turns out ScaMPI doesn't support the MPI_STATUS_IGNORE parameter, a limitation that I haven't been able to find in any of the documentation I have been looking at. That took me about a week to track down. This experience has made me even more thankful to Open Source, since trying to use a parallel debugger (that was a pain to start due to license enforcement algorithms) on assembly code that you really don't know what it was compiled from is NOT a pleasant experience.
Anyhow, back to the main topic, my Jython SoC project. For those of you who might want to follow the progress of my work I will try to publish posts here about the project quite regularly (I am aiming at once a week). If you are interested in my project notes and source code for the stuff I am playing around with in the scope of this project, these will be hosted on my personal server and available at https://projects.thobe.org/jython/. The final code and documentation will be hosted at the Jython repository over at SourceForge and the official Jython wiki respectively.
Well then. I think that was all I wanted to announce in this post. Wish me happy hacking. Even though I suppose that tomorrow wont be as productive as I would want it to be, it is the Swedish midsummers holiday tomorrow, an occasion Swedes (ab)use to get really drunk. I am going to be the designated driver for my girlfriend and her family during the day, and then my girlfriend and I are going to have our own party at the evening. Well, I am sure that all of my hacking after that will be of the happy kind.