Curtain demo runs on AMD through LLVM

Minotaurus/LLVM is a compiler plugin for LLVM which is capable to produce GPU code in OpenCL segments from standard C++. Although OpenCL is the same language and API for both NVidia and AMD, there are differences between the driver capabilities, for example, AMD GPUs do not support goto statements. It is easier to generate source code using goto statements than discovering structured code, that's why we were happy at our first steps on Fusion which was a GCC based solution of the problem.

Now the same feature, structured code generation, is done in the LLVM variant of Minotaurus with some extras like fall-through switch support. We tested the Curtain Demo on AMD HD 5770.