>> Sunday, August 12, 2012

I've tested my clkernels.com site with a number of OpenCL kernels and it works really well. I'll put up a video demonstration on YouTube as soon as Amazon ships me a pop filter for the audio. Again, I'm grateful to Nokia for providing the WebCL extension for Firefox.

The site is great for executing small-to-intermediate kernels, but there's no way to execute multiple kernels in succession. This means there's no way to synchronize global memory as an application runs. So I can't test multi-stage applications like the bitonic sort or the fast Fourier transform. But so far, all the matrix kernels I've tested work fine.

>> Monday, August 6, 2012

Nokia has updated its WebCL extension to support Firefox 14. If you install this, you can try out my CLKernels site, which makes it possible to configure and execute OpenCL applications in a browser. It still needs work, but I should have everything fixed in about a week.

The Khronos Group has released new specs for OpenGL 4.3 and OpenGL ES 3.0. OpenGL 4.3 now features compute shaders, which can perform general-purpose processing like volume and physics computation. Yes, it looks like these shaders make OpenGL-OpenCL interoperability unnecessary.

The COLLADA graphics format has become an ISO standard. Specifically, COLLADA is now ISO/PAS 17506:2012, which deals with industrial automation systems and integration.

I have Van Morrison's Moondance inexplicably stuck in my head. I hope it never gets out.

>> Sunday, August 5, 2012

Some time ago, I pitched an idea to AMD to design an Eclipse-based graphical user interface for OpenCL. The GUI would allow the user to select target devices, enter kernel code, and graphically configure the kernel's arguments. Given this information, the application would automatically generate the host code. I thought this would greatly simplify OpenCL development, but AMD wasn't interested.

Recently, I've been working with Nokia's WebCL implementation for Firefox, and it occurred to me that I could use this to implement my OpenCL GUI as a web application. This way, anyone can select a device (probably their GPU) and execute/profile kernels without coding the host application. The site is called clkernels.com, and if you visit, you can see the overall method.

Unfortunately, Nokia hasn't updated its WebCL release to support the latest version of Firefox (v. 14), so the web application isn't usable just yet. But I've been told that Nokia will release a new WebCL extension in the next few days.

I've been reading a lot about Windows 8. Gunnar Berger and Peter Bright say that it's great for tablets but disconcerting for mouse-and-keyboard users. Gabe Newell, CEO of Valve, calls it a "catastrophe for everyone in the PC space." This is because Windows 8 comes with the Windows Store, which competes with Steam, Valve's popular online store for PC games. Mr. Newell is understandably concerned that Microsoft may use its home field advantage to handicap non-Microsoft applications or suppress them altogether. After all, that's how Apple does business.

So Mr. Newell has become interested in Linux. He wants Steam's games to run as well on Linux as they do on Windows, and his developers are working hard to improve Linux graphics drivers. I think this is wonderful, but Valve isn't the first company to try Linux gaming. Loki Software, which ported Windows games to Linux, went bankrupt after three years of operation. id Software made multiple attempts to sell games on Linux, but met with failure each time. You can watch John Carmack's discussion here.

When I consider Windows 8's strange new interface and its closed-shop policies, I think this could be a golden opportunity for Linux on the desktop. But there are two important problems:

User interface - neither of the two main environments (GNOME and KDE) are sufficiently polished and intuitive for widespread adoption

Marketing - traditionally, Mac OS is for hipsters, Windows is for corporate types, and Linux is for nerds

These problems can be overcome. For the user interface, it occurs to me that Linux could do well by adopting Microsoft's old interface, Windows 7. There will be patent/copyright hurdles, but it would be hilarious if Linux gave users an environment that was more familiar to them than Microsoft's new environment.

For marketing, I think Linux should emphasize its anti-establishment, pro-individual stance. Tired of police states and corporate tyranny? Try Linux, the free OS for free spirits! Sick of Apple and Microsoft telling you what applications you can and can't install? Use Linux and download whatever you like!

But to get Linux seriously accepted on the desktop, a company needs to expend serious money and development time. Red Hat is the company most associated with Linux, but they're focused on servers, not desktop computers. But if Valve were to put its sizable resources behind Linux on the desktop, wonderful things could happen.