First, you'll want to make sure that your OpenGL-based drawing application is rendering its scene to a texture and that you're using a texture input (if passing into GPUImage). GPUImage needs to work with textures, not render buffers themselves. If going out from GPUImage, use a texture output and its rendering callback block to know when rendering has finished.
To share content between GPUImage and another OpenGL context, you need to make GPUImage's context part of the same share group as your own OpenGL context. It's probably best not to share the GPUImage context directly, since it performs operation internally on a background dispatch queue and you can't guarantee thread safety if rendering to that in your own code.
The CubeExample sample application on the iOS side shows how to do this for OpenGL ES. In particular, it uses the following line:
context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2 sharegroup:[[[GPUImageContext sharedImageProcessingContext] context] sharegroup]];
to set up the share group for the OpenGL ES context used for the non-GPUImage rendering there. I'd have to look up what the equivalent is for the Mac and desktop OpenGL, though.