>> Saturday, June 16, 2012

All of the topics at the AFDS were enlightening, but there were four that I found noteworthy:

Code XL is a development tool that can debug and profile applications on CPUs and GPUs. Avi Shapira showed how Code XL tabulates data for every work item executing a kernel. AMD will release the tool in a few weeks, and I can't wait. I've been trying to figure out which routines should be performed by kernels versus shaders, and this will be a big help.

Edward Callway explained how the Fusion APU can be integrated in hardware. I was amazed by how small the Fusion-based desktop computers were, and if the Fusion can be used in embedded devices, that will be a wonderful thing.

Kenneth Russell, Google's only presenter, discussed the Chrome browser and its reliance on WebGL for graphics. The talk was interesting, but the topic of WebCL was conspicuously absent. It looks like WebCL's capability will remain limited to Firefox and Safari.

Amit Mookerjee discussed the AMD Media SDK, which makes it possible to access MPEGs in code. From the sound of it, developers can use the SDK to access MPEGs without worrying about MPEG licensing. I don't see how that's possible, but it's great if it's true.

I'd hoped to attend the presentation on HSA Bolt, a new library of primitive math routines for CPUs and GPUs. Unfortunately, it was scheduled at the same time as my own presentation, which went swimmingly.

Addendum: one reader who attended the HSA Bolt presentation described the library as follows:

"They have two versions: One C++ AMP version, and one OpenCL version, both with essentially the same API. It is essentially a heterogenous replacement for algorithms
part of STL. For example it provides a bolt::sort for C++ AMP, or clbolt::sort for OpenCL, which takes regular CPU data strucutres as inputs, relying on HSA based system to avoid data transfer. Also, AMD said while it will work on any OpenCL or AMP compatible device, AMD is providing AMD-optimized ports. However, it will be open-source so theoretically someone can write optimized ports to other chips."Read more...

One of the high points of the AMD Fusion Developer Summit was Phil Rogers' keynote address concerning the HSA (Heterogeneous System Architecture) Foundation. AMD, ARM, Texas Instruments, MediaTek, and Imagination Technologies have joined forces to "make it easy to program for parallel computing." A full write-up can be found here.

At first I was surprised that Intel wasn't included. But from what I've gleaned since the announcement, the whole point of the foundation is to dislodge Intel from its dominant position in the computing world. It will be a tough battle, especially considering how well Intel's Ivy Bridge chip is performing.

While I enjoyed Phil Rogers' address, he said something I strongly disagree with. In discussing OpenCL, he said the main problem is OpenCL's difficulty. OpenCL is unquestionably hard, but in my opinion, the main problem is that the programming world still doesn't know what OpenCL is. None of the engineers I work with know about OpenCL, and of the attendees I spoke to at the conference, none had even attempted to code an OpenCL kernel. Programmers aren't giving up on OpenCL because of its difficulty -- they're not even getting their feet wet.

If I was Phil Rogers, I would take (at least) two steps to raise awareness. First, I'd send engineers to major universities to demonstrate the technology. Second, I'd find open-source projects that could be accelerated using OpenCL (such as GNU math, NumPy, and OpenFOAM) and provide free releases based on OpenCL. This will not only impress users with OpenCL's power, but also inspire them to harness the power for themselves.

>> Saturday, June 9, 2012

AMD is holding its Fusion Developer Summit in Bellevue, WA next week from Monday through Thursday. The posted agenda doesn't say anything about what subjects will be discussed, but you can read about the session topics here.

I'm interested in the talks related to holography, computer vision, sparse matrices, and "actually building stuff." There's also a talk on AMD's new Media Lab toolset, which should be worth hearing about. Of course, I'm particularly interested in the Trinity APU. I have a laptop with an A8-3500M APU, and though I haven't run any graphics-intensive applications, I'm very happy with it.

My presentation on solid modeling will be on Wednesday at 5:15 in Hyatt: Evergreen G. I'll explain the overall theory and then demonstrate what I've accomplished with OpenCL-accelerated NURBS processing.