I have a graphics project in mind which may not be possible yet, or at least difficult. I’d like to able to use something like the interpreted language - Lua - to allow a user to create their own scripts which run inside my main program/GUI (it has to communicate with the main program btw). However, the catch is, their code has to use CUDA for that extra speed.
What are the kinds of possibilities open to me here if any? Here are some potential leads with my limited amount of knowledge:
1: From what I understand, a language such as C# has some kind of ‘reflection’ feature which afaik can allow scripts within programs, but I’m not sure if those parts of the code can use CUDA (or indeed how much C# supports CUDA full stop).
2: CUDA uses a compiler to create its code AFAIK. The problem I have there is that it takes a certain of time to compile, and I’d like an ‘instant feedback’ environment so that the user can experiment with different functions immediately. However it’s still a possibility, especially if a given user kernel is only < 10 lines of code or so and that turns out to be quick for CUDA to compile. However, I’m not even sure whether Nvidia will allow me to include their compiler in my potentially commercial, closed source (for now) app.
3: Some kind of JIT combination with C++? This one might be completely off track since I’m unsure of how, where and when JIT can be used with what, where and how.
I’m not sure yet whether I want to use Qt, or .NET (Winforms or maybe WPF) for the GUI, though I’m not sure that has much bearing on the above problem. I’d like to also use SDL, and maybe make the app 64 bit too if possible.