From: Pekka J. <pek...@tu...> - 2011-11-15 15:43:36
|
Hi, Some interesting additions to the OpenCL standard in the newly released 1.2: * Built-in Kernel: A built-in kernel is a kernel that is executed on an OpenCL device or custom device by fixed-function hardware or in firmware. Applications can query the built-in kernels supported by a device or custom device. A program object can only contain kernels written in OpenCL C or built-in kernels but not both. See also Kernel and Program. Fits the OpenCL to TTA-ASIP case quite well... one can have highly tuned implementations of some kernels embedded in the FPGA/ROM of the ASIP and exploit them from the host program in a standard way. * printf is now in the main specs with specified behavior The printf built-in function writes output to an implementation-defined stream such as stdout under control of the string pointed to by format that specifies how subsequent arguments are converted for output. If there are insufficient arguments for the format, the behavior is undefined. If the format is exhausted while arguments remain, the excess arguments are evaluated (as always) but are otherwise ignored. The printf function returns when the end of the format string is encountered. ...When the event that is associated with a particular kernel invocation is completed, the output of all printf() calls executed by this kernel invocation is flushed to the implementation- defined output stream. Calling clFinish on a command queue flushes all pending output by printf in previously enqueued and completed commands to the implementation-defined output stream... You can query the printf "buffer" size in the device. "Maximum size of the internal buffer that holds the output of printf calls from a kernel. The minimum value for the EMBEDDED profile is 1 KB." * support for separated linkage phase Storage class specifiers 'extern' and 'static' are now keywords.. -- Pekka |