Finished adding built-ins
December 5, 2011
Posted by on
Finished adding 84 OpenCL built-in functions. Now retesting to verify I didn’t break anything. Looks good so far.
Next up is index array support. PeakStream had a clever construction with arrays of loop indexes. This allowed something like a stream closure in the array programming language. The closure could be mapped to either the enqueued global index space or as a loop done in the kernel for each work ID. They didn’t say this in their whitepapers, but having now written a similar JIT compiler, it’s obvious.
I won’t get to random number support this year or before the conference next year. There’s not enough time. I would rather have a stable release and reliability than more features. The RNG API support will still be there. But it won’t be implemented on the GPU. Random numbers will be generated on the CPU host and transferred over the bus to the GPU – inefficient, but at least the functionality is there.