Speeds and Feeds

Read all 'Leopard' posts in Speeds and Feeds
August 28, 2009 9:50 AM PDT

OpenCL: Parallel programmers' new best friend

by Peter Glaskowsky
  • 11 comments

Apple's Snow Leopard operating system, which hits the streets on Friday, has plenty of new technology--but one of its major new features will soon be available on Microsoft Windows, Linux, and other major platforms.

OpenCL, the Open Computing Language, was originally proposed by Apple to support parallel programming on GPUs. There are other GPU programming languages, such as Nvidia's CUDA (Compute Unified Device Architecture) extensions for C and the Brook stream program language developed at Stanford University and included in Advanced Micro Devices' Stream Computing software development kit, but rather than choosing one of these languages, Apple chose to create a new standard independent of the big graphics vendors.

In fact, OpenCL is even independent of Apple. One of the first things Apple did was offer to hand it over to the Khronos Group, the same independent standards organization that manages the OpenGL standard for 3D rendering.

OpenCL working group member logos

Supporters of the OpenCL standards effort at the Khronos Group include the biggest CPU and GPU makers in the industry. Apple is also involved but not shown here.

The members of the OpenCL working group turned Apple's draft specification into the released version 1.0 spec in just six months (see Brooke Crothers' "OpenCL goes beyond Apple" from last December)--and in the process, it created what may be the best solution so far to the general problem of parallel programming.

See, OpenCL isn't just for GPUs. It was designed from the beginning to get the most out of multicore processors too. After all, if you have a multicore CPU--and you probably do--why let it go to waste? OpenCL is flexible enough to support both CPU-optimized and GPU-optimized code, and smart enough to choose the right code, depending on what hardware is available in the system to run it. Most of the competing parallel-programming languages can't do that.

OpenCL can take advantage of both task-level parallelism (running many tasks at once, whether different tasks or copies of the same task) and data-level parallelism (where a single instruction within a task is applied to multiple data items at once--also known as SIMD). Some parallel-programming languages can't do that, either.

But OpenCL's biggest advantage isn't technical in nature: it's that no other parallel-programming language will be so widely supported. The support starts with Snow Leopard but will go well beyond that. AMD and Nvidia will have OpenCL drivers for their GPUs under Windows and Linux. AMD and Intel will support OpenCL on their CPUs (including Intel's Larrabee). And AMD has already shipped its first OpenCL implementation for its Athlon and Opteron processors.

Implementations for video game consoles and DSPs (digital signal processors) are also under development. I've even heard that future releases of OpenCL may be able to work with less common hardware, such as FPGAs (field-programmable gate arrays).

We had an excellent half-day OpenCL tutorial last weekend at Hot Chips 21. There were also some great OpenCL presentations at Siggraph 2009 earlier this month; if you'd like more detailed information, that's a good place to start.

All this support for OpenCL means that it should become the first choice of academic and commercial developers who want a good cross-platform way to develop parallel code. Expect to see OpenCL used in software for audio and video processing, cryptography, medical imaging, and many other applications--including, of course, gaming.

(Disclosure: I will be writing a technical white paper for Nvidia, one of the companies covered in this story.)

February 11, 2008 5:01 AM PST

Bitten by Leopard

by Peter Glaskowsky
  • 1 comment

I've been using an Apple MacBook Pro for a little over a year now, and I'm pretty happy with it.

Apple's new Mac OS X Leopard

Apple's new Mac OS X Leopard

(Credit: Courtesy of Apple)

I didn't immediately upgrade to Leopard, the new version of Mac OS X, when it shipped back in November for reasons I discussed here, but last weekend I decided to go for it.

There's a new update coming to version 10.5.2, which according to a release note available to Apple developers includes a raft of bug fixes, but I wanted to upgrade to Microsoft Office for Mac 2008 as soon as possible, so I figured I'd just go ahead and upgrade OS X at the same time. (I'll probably post a review of Office 2008 sometime soon.)

The OS upgrade process appeared to go well, but when I tried to log in, Leopard said it wasn't able to access my home folder. I use Apple's FileVault security technology, which stores my home folder in a virtual disk image that is encrypted using the Advanced Encryption Standard (AES). FileVault protects my data if the machine is stolen, and I regard it as an indispensable feature of Mac OS X.

Unfortunately, Leopard wasn't happy with the disk image for my home folder, and simply refused to open it.

I wasn't expecting this problem, but I was prepared for it. I made a backup of the machine just before starting the upgrade, and I also maintain a secondary user account without FileVault in case of problems with the primary account. I logged into that other account and discovered on the Web that other people have seen exactly the same problem.

Apple published a tech note suggesting that this problem is related to passwords of 8 or more characters-- my passwords are all a lot longer than that, and so should yours be!-- but the complex procedure described in the note for solving the problem didn't help me.

Ultimately I had to delete and recreate my primary account then copy my files from the disk image into the new home folder. It turns out I'd have wanted to do this anyway, since Leopard introduces a new approach to FileVault that works better with Time Machine, Apple's new backup program.

Everything worked properly when I was done, but this was a slow, awkward procedure that most ordinary users would never have been able to handle. I just wish the Leopard installer had checked for this condition and done all the necessary work directly.

With Leopard running at last, I was able to get Office 2008 installed, and I'm slowly working through a number of small issues-- learning how to work around a minor bug in the new version of Apple's Mail program, upgrading some third-party software I use, etc.-- but generally I'm happy with the upgrade. Leopard seems a little faster overall, and Time Machine is great. It gives me a lot of confidence that my data is better protected against software and hardware failures.

I'm also making periodic complete backups in case I get bitten by any major new bugs in Leopard or Time Machine, but I don't expect anything like that.

I may have additional comments, especially after the 10.5.2 update... stay tuned!

October 27, 2007 5:01 AM PDT

Waiting for Leopard

by Peter Glaskowsky
  • 2 comments

On Friday night, I was over at Santana Row in San Jose, just across the street from the Apple Store at the Westfield Valley Fair mall.

Apple's new Mac OS X Leopard

Apple's new Mac OS X Leopard

(Credit: Courtesy of Apple)

I could have gone over there and bought a copy of Leopard, Apple's new Mac OS X version 10.5, but I didn't, for two reasons. First, I didn't need to-- I'm a member of the Apple Developer Connection (ADC), so I'll get a copy anyway, eventually. Second, I don't intend to install Leopard right away.

This isn't like my decision not to buy an iPhone. I didn't want an iPhone. I still don't. (The hypothetical future iPhone that includes 3G connectivity based on the recently announced Broadcom 3G "Phone on a chip" plus third-party development, more memory, etc. ... well, I'll be all over that one.)

No, I do want Leopard. But I use my MacBook Pro for business, and I can't afford to have it out of service because there's some undiscovered reliability issue or incompatibility with some critical application like Cisco's VPN software (my Vista Tablet PC still can't VPN into the company network because Cisco is months late with the necessary software update).

I figure I'll wait a couple of weeks to see if any problems get reported, and then I'll go for it.

In the meantime, my older PowerBook G4 has been running Leopard since the first beta release, and I'm very impressed. As Apple itself admits, Leopard isn't about big changes; it's just a huge collection of improvements, some bigger than others.

In a sense, I've already spent $848 to get ready for Leopard-- renewing the ADC membership recently was $499, and buying a new iPod classic with enough free space to use as a Time Machine backup drive on the road was another $349-- so I'm quite eager to make good on the investment by doing the upgrade.

Just another couple of weeks, and it'll happen. And then I'll see if I can't find something original to say about it here that hasn't already been said in a thousand other blogs!

September 6, 2007 5:01 AM PDT

Of course I'm going to blog about the new iPods

by Peter Glaskowsky
  • Post a comment

I didn't attend the Apple event yesterday, but I watched the liveblogging by Tom Krazit here on CNET and by Ryan Block on Engadget. Not the same as being there, but still fun.

As everyone knows by now, Apple introduced three completely new iPods along with minor updates for the iPod Shuffle and iPhone:

  • iPod pico: Earbud players sold in ... Read more
  • prev
  • 1
  • next
advertisement

15 sites that went kaput in 2009

Web sites launch all the time, but they also shut their doors. We highlight 15 that bit the dust this year.

Top 10 news stories of the decade

Let the debate begin: Was the iPhone more important than iTunes? Was anything bigger than Google finding a great business model? CNET offers its list of the 10 most important stories of the '00s.

About Speeds and Feeds

Silicon Valley-based computer architect and chip analyst Peter N. Glaskowsky attends a variety of industry conferences throughout the year to meet with industry thought leaders and dig into the future of computing technology. In Speeds and Feeds, he analyzes trends in system architecture and interface design, as well as market and political pressures surrounding those trends. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure.

Add this feed to your online news reader

Speeds and Feeds topics

Most Discussed

advertisement

Inside CNET News

Scroll Left Scroll Right