What I am wondering is why does it require being root? (which would make this feature basically useless). Is it possible to change some device permissions to allow access from any user? (I assume the problem is some device permissions?)

Tzachi Cohen clearly said "it is possible to use AMD OpenCL when the X-server is down as long as you have root privileges." So it means you need to be root to run OpenCL programs if the X server is down. Am I understanding this wrong?

Well, it is little bit mentioned in cat 13.4 release notes, and I tried this and it works! I am able to access to GPU as root when X is not running. But programs are not able to read GPU temps etc. as far as I can tell. But the question is what device do I have to make read/write to get everybody to access the GPU? I am about to build a small GPU cluster and well it would be sad to use nvidia cards to avoid running X I think?