Got a tip for us? Share it...

Apple Patent Provides Peek at Snow Leopard Technologies

InformationWeek points out a few new Apple patent applications that were just published which describe technologies that will likely appear in Apple's Snow Leopard (10.6) operating system.


Snow Leopard promises to deliver improved Multi-Core processor and Mac graphics processor unit (GPU) support to applications. While all of Apple's Macs have moved to Multi-Core processors over the past few years, applications have been slow to take full advantage of the multiple cores due to the complexity involved. Similarly, most of Apple's Macs ship with advanced GPUs for improved graphical performance and these specialized processors could also be tapped for general computing purposes. With Snow Leopard, developers should be able to more easily take advantage of this existing hardware to improve the performance of their applications.

The patent application called Data Parallel Computing on Multiple Processors describes methods to accomplish the distribution of these tasks:

A method and an apparatus that allocate one or more physical compute devices such as CPUs or GPUs attached to a host processing unit running an application for executing one or more threads of the application are described.

In the patent application itself, the inventors describe that some of the GPUs may be connected in Scalable Link Interface (SLI) or CrossFire configurations. These terms describe the simultaneous use of dual GPUs as we have discussed recently.

InformationWeek points out that some of the inventors listed have previously worked at ATI. The patent documents also publish details under the "OpenCU" label:

This document describes an embodiment of an architecture, referred to as OpenCU (Compute Units), for parallel computing. The OpenCU architecture enables a data and thread parallel computing model and allows users to view a GPU or a CPU (single-or multi-core) as a data parallel compute device. The OpenCU specification describes an API and a programming language that can be used to create and manage parallel programs.

The "Apple Confidential"-labeled document (pdf) is publicly available for those more technically inclined.

Top Rated Comments

(View all)

43 months ago
Apple... hard at work.
Rating: 0 Positives / 0 Negatives
43 months ago
Let it Snow Let it Snow Let it Snow
Rating: 0 Positives / 0 Negatives
43 months ago
combined with Nehalem, the leap in performance will will be mind-blowing.

Looking forward to direct comparisons between OS X and Windows 7 Nehalem machines with identical graphics.
Rating: 0 Positives / 0 Negatives
43 months ago
I can honeslty say that I looking forward to this release of OS X, than I did of the current release. I also hope that PowerPC isn't fully left behind, but time will only tell.
Rating: 0 Positives / 0 Negatives
43 months ago
I think the idea that is new here, that we don't see in the traditional threads libraries is a compiler included in the run time. Programs are written using a set of primitives that are compiled at run time for your specific set of hardware. This looks like it is suited to long running compute intensive tasks. Compilers really can take advantage of large parallelism by doing things like "un-rolling loops"

But the bottom line is that Apple will have to get programers to use this new interface. Simply making it available in Snow Leopard is not going to make Photoshop run faster. This is a long term thing. We might see applications that use it a year after it is released in Snow Leopard.
Rating: 0 Positives / 0 Negatives
43 months ago
Anyone care to explain for us mortals what the hell that wall of text means?
Rating: 0 Positives / 0 Negatives
43 months ago

Anyone care to explain for us mortals what the hell that wall of text means?


Basically, it allows applications easy access to the computing resources provided by GPUs and multi-core CPUs. This is possible now, but its a bit complicated so developers don't really use it. The idea of this is that it makes writing applications that use these resources easier so more developers use it, increasing application performance :).
Rating: 0 Positives / 0 Negatives
43 months ago

combined with Nehalem, the leap in performance will will be mind-blowing.

Looking forward to direct comparisons between OS X and Windows 7 Nehalem machines with identical graphics.


I'd like to see this as well. Have 2 identically configured Nehalem Mac Pros side by side, one w/ Snow Leopard, the other running Windows 7. It'll be very interesting

But the bottom line is that Apple will have to get programers to use this new interface. Simply making it available in Snow Leopard is not going to make Photoshop run faster. This is a long term thing. We might see applications that use it a year after it is released in Snow Leopard.


I agree. While there may be some marginal improvement using the same version of apps b/c of updated OS-level stuff, apps will have to be updated to take advantage of all the new improvements. I'm sure a lot of apps will break w/ all the changes (especially those that enhance the Finder).

I'd really like to see what the Finder will be like when written in Cocoa. I'm a Select ADC member so I really hope I get a pre-release version.

There's a couple utilities/software I hope will be finished before Snow Leopard comes out so Apple can use them: CUPS version 1.4 & GCC 4.4. CUPS b/c I'm obsessed w/ it for some reason (I don't know why). GCC because it's a compiler & this new version looks like it'll add a lot of useful features. Also, full ZFS support! It's about time we transitioned to a newer, more advanced file system. Probably keep HFS until 10.7 (or whatever comes after Snow Leopard).

Basically, it allows applications easy access to the computing resources provided by GPUs and multi-core CPUs. This is possible now, but its a bit complicated so developers don't really use it. The idea of this is that it makes writing applications that use these resources easier so more developers use it, increasing application performance :).


+1 A lot of these technologies are really hard to develop for. Plus, at at least some level, it's kind of a chicken-and-the-egg problem. Hardware manufacturers don't want to make more powerful hardware b/c there's little/no software to take advantage of it. There's little/no software for it b/c there's little/no hardware. Just something I've noticed. Not sure how obvious it is to other people.
Rating: 0 Positives / 0 Negatives
43 months ago

Basically, it allows applications easy access to the computing resources provided by GPUs and multi-core CPUs. This is possible now, but its a bit complicated so developers don't really use it. The idea of this is that it makes writing applications that use these resources easier so more developers use it, increasing application performance :).


Now that I did understand!

Thank you!
Rating: 0 Positives / 0 Negatives
43 months ago
Hmm, patent application for something supposed to be an Open standard (OpenCL, OpenCU)? How am I supposed to implement a technology marked as "Open" when Apple has patents for it? Seems like a contradiction to me (or at least good marketing BS).
Rating: 0 Positives / 0 Negatives

[ Read All Comments ]