A couple of weeks ago, we ordered a workstation to be able to (finally) develop and run our OpenCL code. Up to now, we have been using the AMD Accelerated Parallel Processing (APP) SDK (or AMD Stream)[1] and just lately the Intel OpenCL SDK[2]. These are great tools as it allows you to develop and run OpenCL code on the CPU. Not only they provide printf() suport in your OpenCL kernels, but they can also accelerate the code. I saw a speedup of about 2 running my Molecular Dynamics (MD) code using OpenCL as opposed to OpenMP. I suspect the cause is that OpenCL code allows for easy vectorization and cache friendly code. You are “forced” to write your code in a way that optimize execution time. Because branches are extremely expensive on a GPU, you are better off getting rid of them in your OpenCL code, which speedup the execution time even on a CPU.
Even though OpenCL on the CPU is fast, I still want to use the code to run on a real GPU. This should give not only better performance, but also better stability: both AMD’s and Intel’s implementations crash the code in the middle of a simulation, rendering this particular run useless.
So, I was able to convince my thesis supervisor to buy a new workstation to do GPGPU. A really nice desktop with 3 video cards: one basic for the display, and two GTX 580 with 3GB of RAM each: what a beast! The system was shipped last week, but I am now faced with a clear (and frustrating) example of red-tape stupidity and lack of flexibility.
Everything we buy has to be CSA approved, including computers. You see, when you buy a computer, there is a high risk of it becoming sentient. This is known fact. The press is full of stories about computers starting to walk, attacking people and killing kittens. So it becomes clear you need to protect yourself from these problems.
So to protect its poor employees from reckless machines and Skynet’s Judgment Day, the university requires all purchase to be CSA approved. Because of this, we now have two choices when buying computers: we can either pay a useless guy 400$ to stick a CSA sticker on a box of metal, or we can go with the big players like Dell, IBM, HP, etc. (that probably have exclusivity agreements, follow the money!) and buy one of there crappy, over-priced and weak systems.
So we have a really nice and powerful computer sitting in a box, waiting to be salvaged by a kitten-saviour sticker that will prevent it from taking over the world. This is just outrageous. More and more, universities compete with each other for the best researchers, the best grants, the best students. Higher education institutions have become more business-like. Researchers needs to travel, show off their research, attract students and money. A university will not hire a new professor that is doing research: they will hire a professor that can get (big) grants, hire students that will do research for them, and shine the university’s prestige around the world.
But every month we are faced with these ridiculous red-tape idiocies that is just preventing us to do our job. Getting paid here? They lost your contract, but no worries, you’ll receive a big amount in a month or two. Of course, I’ll stop eating for a month or two and then eat 200 meals in a day to compensate. The credit card company and my landlord will understand that too of course. You want access to your own cluster? be ready to wait 2 weeks for a single door to be opened by the IT “support”.
We should renamed our institution the Inefficient University, where nothing gets done, nothing can be bought but where at least our computers don’t get sentient and start a nuclear war. Because you know, it happened already.
[1] http://www.amd.com/us/products/technologies/stream-technology/opencl/Pages/opencl.aspx
[2] http://software.intel.com/en-us/articles/opencl-sdk/