I’m finally home from my first journey to the NVIDIA NVISION conference. Frankly, I have mixed reviews. First and foremost, to those readers at NVIDIA. Please ask Jen-Hsun Huang to hire an outside conference management firm. The logistics for the conference were far from smooth. However, since this is your first conference NVIDIA, I’ll give you a free pass.
Aside from logistics, the research tracks went quite well. The presentations covered everything from climate science, astrophysics and bioinformatics. I was quite impressed by the level of detail the presenters dove into during their sessions. I tip my hat to those who were brave enough to stand up and speak about what is largely an untested and undocumented programming paradigm. I could only imagine the countless hours that UIUC spent breaking ground on profiling their codes.
I also had the pleasure of sitting in on two CUDA programming courses taught by the core development team at NVIDIA. This was terribly helpful for many folks in the audience. I think quite a few people in the audience were still a bit cloudy on exactly how to port their compute kernels to CUDA. The development courses laid out a very simple thought process for doing so. Think of a CUDA-enabled GPU as a hardware accelerated loop-unrolling mechanism. Find the points in your compute kernel where heavy loop unrolling is taking place. In most cases, these micro-kernels can be unrolled into parallel threads on the GPU quite easily. Simple, right?
The latter of the courses also brought to light something I was not currently aware of. This is the ability to transfer CUDA device memory buffers to and from OpenGL texture and frame buffers. Ooooo… sounds neat! I won’t go into great detail on this, you’ll simply have to read the docs!
Overall, the conference was a good event to attend. The gamers are an interesting flock to watch wander through the hallways. 36 straights hour of WoW can do interesting things to one’s brain. Logistics aside, I think NVIDIA had a successful event.