Sunday, December 28, 2008

My GPU supports SM3.0

I just realized that my laptop's GPU has been a SM3.0 capable one all along. I have learnt about using programmable graphics pipeline this year itself. I am drooling at the thought of running vertex and pixel shaders (I am going to call fragment shaders as pixel shaders only) of my own. OK it is not a top of the line GPU, but hey, better than none.

When I first learnt graphics programming, it was using the lowly Turbo C++'s graphis capabilities. Then I moved onto OpenGL 1.1. I wrote a demo using display lists and stuff but then it seemed that it was more than enough for anything that I might need.

Then I discovered the joys of programmble graphics pipeline. It appeared to combine the power of Turbo C++'s low level and highly flexible power with the SGI's grpahics pipeline's inherent advantages.

Now, my Geforce 6150 (I never said it was top of the line) is ready to serve me in my pursuit of crazy shaders. Of course, I'll start small and then I plan to move the control into Python and leave the hevy lifting to C.

This also appears to be a great place to move into multithreading. Raw pthreads from C seems unwise. I would prefer to orchestrate the entire stuff from Python. Atleast the loading/storing of textures is anticipated to be simple enough. This also is a place where multithreading can help hide latencies.

Now I found the DevIL library for loading it seems very nice. Though I don't know if it is thread-safe. I hate it when I open docs for some library, only to find that it is not threadsafe. It is essential for concurrency that the libraries be threadsafe.

Thursday, December 25, 2008

2008: A Review

Today as I sit down to write this, one thought runs through my mind. That this is the year of change. Sure, stuff changes all the time and

Change is the only constant.

Yet I cannot shake off the feeling that this year, somehow, more things seem to have hanged than they usually do. Moreover, I see the changes in trends not just in new incidents. To summarize, (in no particular order)

1. GPGPU went mainstream. It got lots of attention from the tech press. I too read some stuff about programmable graphics pipeline. OpenCL spec was released, which I am sure is just the catalyst needed for gpu's to come in their own.

2. I wrote a program in two different languages, ie Python and C++. I suffered a lot on the way, but I had an optimized, vectorized (in parts) and cache aware BFS ready when I was done. And yes, I learnt about valgrind along the way.

3. India made history in many ways. We landed on the moon, had our best Olympics ever, had our break-out moment and won emphatically in Australia. Today, I see India, Australia and South Africa as forming a triad which will compete for the No. 1 slot into the next year.

4. Obama became the US president. It just had to make the list. And you know what it means.

5. I got an opportunity to go abroad (which is a first in my family), so a big deal for me.

6. The war on terror started going right for US and upside down for India. Yankees realized that ISI has been milking them all along and is actually busy screwing them royally in Afghanistan. Terror struck India like never before, and that's without 26/11.

7. Public coming out on streets to protest was a welcome change. However, the public anger needs to be better directed if we are to achieve our long term goals.

Monday, December 22, 2008

A quiet December

It has been a quiet december this year so far. I mean nothing on the blog, and Have been too lazy so far to bother doing much else so far in the holidays. The internet connection here has been acting up lately, in part because of the cable outage. Lot's of stuff has been flowing through my mind these past few days. Will summrize it soon.

Though need to decide on the electives I will be taking next semester soon.