I would suggest openGL & GLSL shaders (if iphone supports new OpenGLES 2) instead of coreGraphics & CIKernel. Because CIKernel is VERY limited subset of pixel shaders. For example it does not support: structs, arrays, data dependent IF, For loops which uses variable in test condition and so on... I don't say that CIKernels are bad thing - it is pretty good thing, and it is possible to work around these missing features. But given these VERY big limitations of CIKernels and coreGraphics, I would suggest OpenGL and GLSL pixel shaders,- which have a way more features of C language implemented.
Of course as I've said - if target iPhone supports only OpenGLES 1 - my advice isn't suitable in such case, and you may choose on your own.
EDIT: coreGraphics/CIKernel also doesn't support my beloved preprocessor.
good luck