-----Original Message-----
From: Scali [mailto:scali@scali.eu.org]
Sent: Thursday, February 25, 2010 6:14 AM
To: Houston, Michael
Subject: RE: Still no OpenCL in 10.2 drivers, Mike
I'd like two specific answers:
1) What is the eta for Catalyst WHQL end-user OpenCL support? March? April?
December... 2012?
[MCH] There is a full roadmap available to ISVs under NDA that cover the role out of this and other features. We are trying to pull in the release to be sooner rather than later. At the moment inclusion in Catalyst is aligned with when several vendors have plans to release and sell OpenCL apps. I would like to see things in Catalyst before that. We need to work on the size of the OpenCL runtime to avoid ridiculously bloating Catalyst, and also deal with ICD installation issues we are having with other vendors who are not running the Khronos ratified ICD, and then how to not stomp on each other. This is all being worked on alongside other features.
2) How 'final' is the current SDK? It's not in beta anymore, but in the
newly released 2.01 SDK's I notice that they are built for/against 10.2 or
higher drivers.
[MCH] Those should still work with 10.1 as well. If not, we screwed something up. But, the base drivers (and more specifically CAL), get updates that improve stability, performance, or will enable certain features. 10.2 contained stability and performance improvements at the driver level, as will future releases.
Are there any more 'surprises' in store? When the beta 2.0
Stream SDK went final 2.0, suddenly OpenCL had some significant changes,
requiring a rebuild of applications in order to work with the newer
runtime.
[MCH] Besides the ICD and the stabilizing of calling convention under Windows (it took a little while to get that fixed in Khronos and not all vendors are shipping a Khronos approved ICD), what else changed that caused recompiles? Getting calling convention agreement went pretty fast (which you reported) and we tried to be responsive quickly. (Things like that we can push out much faster to developers directly, which we did). Ratification of the ICD and the platform stuff was a little late from Khronos and not all vendors have moved to the ratified ICD.
Not something I expect from beta -> final stage... that's
something that should only happen in alpha stage.
In other words... if I were to build and release something with today's
SDK, will it still work when end-user runtimes are released, or would I
need to rebuild again?
[MCH] It should continue to work since the ICD is now supposed to be the stabilization point, so there should be ABI stability there. The end-user runtime will be extracted from the developer releases, but the developer releases will likely remain ahead. However, it's possible, of course, that bugs may happen. We try to prevent this by running previously compiled OpenCL code against new releases to catch these issues. For ISVs that are gearing up for releasing apps, we try to get stability and performance test cases from them, if not full apps, for inclusion into QA so that things remain as stable as possible and to avoid performance regressions where possible. If we don't have the app, or at least test cases, it's difficult to make sure an app doesn't break.