Dain-App
Dain-App copied to clipboard
Update Installation Process
Adds a requirements file. Simplifies the CUDA gencodes to just the ones that are compatible with Torch. Updates the ReadMe to reflect changes.
Will take a look in a day or two, once I get some time. Thanks for your work!
Sounds good. Thanks for the awesome app.
Look good, just a few details. I see you set to compile to compute_37, did you managed to test with a CUDA of that version? It used to generate a script error if CUDA < 5.0
You also removed some archs, like compute_61, any reason for that?
Yep. So I run things on an old Tesla k80 which is compute capability 3.7.
The compute list is based on this issue from PyTorch. https://discuss.pytorch.org/t/gpu-compute-capability-support-for-each-pytorch-version/62434/3
If you scroll to the very bottom you can see the command used that will list the compute capability that the installed pytorch version is compiled against. I ran it in the virtualenv I setup for DAIN-App where the installed pytorch version 1.7.0 that I got from the pytorch supplied whl.
Running that command gives me the output. ['sm_37', 'sm_50', 'sm_60', 'sm_70', 'sm_75', 'sm_80'] . Since DAIN-App won't run on anything that pytorch won't run on, I believe the list should match each other and would need to be updated as pytorch adds or removes compute capabilities in their builds.
Interesting that you get errors during the build. I definitely get warnings for building against 3.7. Telling me that 3.7 is deprecated and nvidia reserves the right to drop support for it at any time. But it builds and runs fine. I know the pytorch whl installs its own cuda libs. I've built this project on my linux machine a few times. I'll retest it on a my windows environment a little later and see if I missed anything.
So, I was able to build this branch in Windows without issue.
Interestingly when I ran python -c "import torch; print(torch.cuda.get_arch_list())" on windows using an environment set up the same way as on Linux, I get this as the result.
['sm_37', 'sm_50', 'sm_60', 'sm_61', 'sm_70', 'sm_75', 'sm_80', 'compute_37']
So it would appear that the whl being provided on Windows has broader support than the one being offered on Linux. At the very least I feel like I should update this branch to include the additional 6.1 compute capability.
As a note the specific warning text that I receive that I was talking about earlier is as follows.
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).