I've been looking through the blender source code and noticed that nearly all cycles shaders are programmed in OSL.
However, the Wiki mentions the following:
It is also possible to create your own nodes using Open Shading Language (OSL). Note that these nodes will only work for CPU rendering; there is no support for running OSL code on the GPU. (source)
Does this imply that most of the Cycles shader nodes only support CPU rendering?