-
-
Notifications
You must be signed in to change notification settings - Fork 618
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add basic support for cuda via nvcc toolset #506
Conversation
I think you should start off by making this a module, similar to this, work out all the bugs/issues and expand on the supported actions. Additionally, I'm not sure if the scope of Premake-core should include the CUDA compiler, but I guess this depends on how popular your module becomes. |
this commit seems to contain a lot more then just nvcc at this point.. probably best to rebase this against master and get rid of the 'odd' merges. |
This one fell pretty far through the cracks... I'm so sorry.... Unfortunately at this point there is a merge conflict that requires resolution... other then that the changes look pretty clean and simple, so I'd be OK merging it once that happens. |
ee1c41d
to
5750679
Compare
No worries, I have two more commits related to cuda support: nmoehrle/premake-core@3eeb90c8 nmoehrle/premake-core@04daa8e46 but they change the api so I am reluctant to include them into this pull request. If you want me to squash the commits or add the others, just tell me - happy to help. |
Those other two commits don't look too off.. feel free to include them in this PR. |
16061be
to
a6e00c8
Compare
I still think this should be a module, regardless of whether it's merged in or not. Also, it would be good if this had tests so it doesn't break in the future. |
I thought it should be next to gcc since it is so tightly coupled (because of nvccs design). Regarding tests I agree... would anyone be willing to give me a little guidance? |
I looked into the existing tests but I found no sensible way to test the functionality of the nvcc toolset without reimplementing large parts of the gcc, clang and msc test suits. Even if I would reimplement these test suits checking the prefixing I wont detect problems like a6e00c8 where multiple flags are given as a space separated string rather than a list and caused wrong prefixing on new flags. |
I can see how you reached that conclusion, but it's more about keeping all of the CUDA changes together. Extending Visual Studio to support CUDA would also fall into this
You'll need to test anything you added, basically. Look at the test cases for GCC, Clang, MSC, SNC, DMD, GDC or LDC. I can see similarities between Clang and nvcc here, Clang is just GCC with some minor changes, the same way that nvcc seems to be GCC, Clang or MSC with minor changes. Also, a key thing that @starkos wants Premake to do is to be able to generate the project files on one OS and send them to another OS. So since you have Let me know if you need anymore help, more than happy to help. |
f20e13d
to
04135c9
Compare
04135c9
to
0994542
Compare
Incidentally, I also have a CUDA module... if there are any any advantages on either side, they should be merged. |
Well, this commit is not a module right now.... and it should... |
Hey all—it sounds like there is consensus that this should be contributed as a module rather than into core. Is it okay to go ahead and close this PR? |
I doubt it will get updated to a module by the original author... we can close it, but that will just result in the work getting lost.. making a module out of it would be nice, but that would be on us. Combining it with the cuda module from @TurkeyMan may make sense. |
Hey guys, sorry that I haven't found the time to convert this into a module and sadly I doubt that I will find it in the near future. One thing to consider is that since last year clang supports the compilation of cuda which is a viable alternative to nvcc. |
@nmoehrle Hey, could you enable write access to this PR as described here: that way I can spend some time rebasing this against latest, and maybe make a module out of it. |
I'm going to close this off, please feel free to reopen if you get time to work on the branch again. |
Only gmake has been tested - needs tests