FSOSS 2013 Report: OpenCL and TBD
In my 4 years at Seneca, I had no desire to go to FSOSS. Mainly probably because I had no idea what it was. It wasn't until this assignment came up that I looked into what FSOSS was all about, and what went on during it. It's also a bit strange that a relatively large event that happens at the campus isn't so well advertised. I think last year was the first year that I had actually heard about it, and the previous years I was just never aware that it existed.
The experience I had at FSOSS was questionable at best. I went on Friday and arrived shortly after 1 pm. As being promised a lunch for signing up early, I naturally didn't eat anything. After arriving, I went to the room where the lunch was supposed to be, and of course there was nothing there. It had been completely cannibalized. I figured they would have a hotdog cart or something. Maybe some pizza. But nothing when I got there. I was pretty disappointed in this as there was no indicator that the lunch was at a specific time. Another thing that upset me was the schedule. There was a list of the presentations that were happening on their website, but no timetable. So I figured that arriving in the early afternoon would give us access to a wide array of presentations. I was wrong. Even though there were many presentations, they were being run in parallel, so it ended much earlier than I expected. I later found out that you could find the times of the presentations on their site, but you had to go into each presentation page to see the times. A timetable would be helpful, especially one that's easily accessible (aka on the front page of the site because the whole event is based on these timings). I must say my initial impression of this event was pretty bad.
OpenCl: Software Model and Philosophy
About the Speaker
This presentation was given by Adrien Guillon, a computer scientist and software engineer who received his degree from the University of Toronto. He is an enthusiast in high performance computing, who spends most of his time trying to figure out the bigger issues for high performance computing.
Summary of Talk
This talk was about OpenCL, the parallel programming framework. The talk wasn't about what OpenCL is however, or what it can do, but why we should care about OpenCL as programmers. He talked about how the role of OpenCL is to build high level abstractions that are useful for your purposes. Because of this, we don't know what all of the different kinds of libraries are going to be. So we would want to enable an ecosystem for this sort of stuff. He talks a little bit about how that were are enfettering into an interesting situation when writing programs, where we use many different things made by many different people to achieve whatever are actual program purpose. With OpenCL, it is currently built for a very specific purpose right now, for general purpose computing. But he believes that it can be much more than that.
The current main problem with OpenCL is that it is changing with every release. Because of this, there is currently no stable API for OpenCL. You can't even link a version 1.1 library with a version 1.0 program. He wants to be able to future proof programs, meaning that we don't have to rewrite the same program for each no version release. To achieve this, he wants the software community to be as open as possible, to all work together so we don't have to work as hard individually when someone else makes a new version. This would greatly improve program portability. However, there's no parallel model of computation yet, it is very difficult to find something like a time complexity for parallel algorithms. There is also the notion if parallel algorithms even exist. He closes by saying that OpenCL isn't perfect, but we need to acknowledge that we are at the beginning of parallel programming abstractions, so we need to work together to set a proper foundation for it.
Speakers View on Open Source
Adrien is an advocate for open source software. He is very highly against software patents, and doesn't like the idea that someone can own the concept of something like the for loop. He is planning on moving to New Zealand to start an open source company which develops software for high performance computing. He believes that New Zealand will be the next Silicon Valley, as there are no software patents in New Zealand and thinks that many developers will flood over there. He did kind of jokingly say though that as much as he loves open source, he also loves to eat. He doesn't seem to keen on the kind of cash flow that open source software has been providing for him.
About the Speaker
This presentation was given by Kevin Cearns, an IT consultant from Toronto. Before he was an IT consultant, he was an IT director. He mainly focuses on open source applications and software, mainly on NoSQL databases. He runs an infrastructure company that provides infrastructure and platform services for companies. They provide the operations around it as well. They Recently became a MongoDB partner.