sycl-gtx - Special open-source SYCL implementation

In case somebody is interested, I’m developing an implementation of SYCL 1.2 as part of my Masters Thesis: I call it sycl-gtx (no relation to Nvidia).

A lot of functionality has already been implemented - for example, it can compile and run the smallpt ray tracer. However, it doesn’t completely conform to the specification, because it’s designed in a way that no special compiler is needed - any C++11 compliant compiler should work (even Visual Studio 2013), it just requires OpenCL and it’s ready to go. Unfortunately, this also means that kernel code needs to be compiled in a special manner - sycl-gtx features an OpenCL code generator, hidden behind heavy operator overloading (kernel code generates a big string that is passed as code to the OpenCL C compiler), but not everything can be discreet, for example flow control requires the use of macros. There are also limitations on data structures, because it requires the use of a special class to guide code generation.

Please also note that my development environment is Windows and VS2013 - I’ve added some makefiles, but haven’t gotten very far.

The main reason I’m posting this is because I want to make sycl-gtx useful. It would be great if people tried it out, try to compile and run tests, write new tests, report issues, or maybe even contribute to the main thing. Maybe the whole idea is useless, but I’d also like to hear that, although an explanation would be nice.