It's been a while since we made Enabling GPU rendering for Cycles?, and a few things have changed since then (opencl support has come a long way, but also has more than a few issues worth documenting). As the main answer is already quite lengthy, I propose splitting it into separate answers by operating system and GPU manufacturer. That way we can link to the instructions more precisely and supply an index like this.
Since it would be a little weird to make the current highly-upvoted answer specific to a particular operating system + manufacturer, I suggest putting the index there. Hopefully it remains on top, or if not, we can link to it instead of the question.
Unfortunately, this does mean breaking the edit history up. Spelling out credits for everyone who contributed in each new answer would probably generate excessive noise, so, perhaps people who contributed a section before might like to author the answer for that section?
Otherwise, if there are no objections, I can start splitting things up tomorrow.