interpenetrates
Just want to hop into here and say that it's called "interprete"/"interprets"... penetration is another story

Get your interpreter out of the gutter!
On topic: I'd say that functions "on the GPU" makes little sense if you are talking about functions as in the subroutines the OpenGL or CUDA etc. APIs are made of. Those functions are (and have to be) on the CPU, how else would you call them? However, the GPU
does run programs, which are in turn made of functions; ever heard of shaders?
The OpenGL functions are there as an "access point" to the GPU: since all your code runs in the context of (and literally in) the CPU, they function as a "telephone line" out to the GPU to tell it what to start doing.
I'm turning up blank on a good analogy, but I think the concept posed by
CrowdProcess is very similar to how a GPU works, and is interesting in itself, so give it a read. (Note that the abstract idea is nothing new, but CP is a cool example of it in action that I remembered)