Friday concluded my first semester at Georgia Tech, and it went well. I took two classes and learned a lot. Machine Learning 1 with Le Song and Massive Graph Analysis with my adviser David Bader. My course projects both taught me a lot. The MGA course project was a lot of nitty gritty C coding with OpenMP. This taught me a lot about writing and debugging parallel code. Because of this Rob McColl and I are starting to think about higher level interfaces to STINGER. Rob and David Ediger are both serious C guys who don’t balk at manual memory management, or even rewriting parts of the kernel for true parallel memory allocation. But most of us humans are frightened by the mere thought of that, and there really is a large overhead of learning to be proficient in writing good parallel STINGER code.
On the other hand my Machine Learning project was written in Python and just fun to code up. The math was a bit complicated but the coding was fun. I used NumPy and SciPy with PyPlot for the numerical linear algebra stuff, and they really have a sweet setup http://www.scipy.org/PyLab. I think that we can use some of their ideas in STINGER to get it going fast on the python side. Also having a python interface is really important if we want domain experts to actually care about what we do. Even if the solution involves end users writing and compiling Cython code, that will be better than making them use C directly.
In research news, I got a green light to write a case study using STINGER on some data that we collected last month. Rob and I finally got around to parsing it all and really got the results using code that can ship with STINGER.