CyFeng16 / MVIMP

Mixed Video and Image Manipulation Program
GNU General Public License v3.0
71 stars 20 forks source link

Regarding Compiling DAIN on Tesla V100 and RTX line #9

Closed nelaturuharsha closed 4 years ago

nelaturuharsha commented 4 years ago

Hello, just wanted to take this opportunity to mention that what you're doing is amazing! I really appreciate how easy you've made it to use and work with the algorithms. When I was using preparation.py for building dependencies for DAIN, it kept failing.

I noted that this is because in the setup.py for the custom operation, if you're compiling for GPUs like the V100 and the RTX series the nvcc_args should be:

nvcc_args = [ "-gencode", "arch=compute_50,code=sm_50", "-gencode", "arch=compute_52,code=sm_52", "-gencode", "arch=compute_60,code=sm_60", "-gencode", "arch=compute_61,code=sm_61", '-gencode', 'arch=compute_70, code=sm_70', '-gencode', 'arch=compute_75, code=sm_75',]

This can be easily added to setup.py of each op, and I've made the changes on my end. I assume other users might benefit if they come across the same error.

Thanks once again for this project!

CyFeng16 commented 4 years ago

@SreeHarshaNelaturu Hi, thank you for reminding. I noticed that the Nvidia compute capability list provided in DAIN is missing a lot of values, the main affected GPUs are as follows:

GPU Compute Capability
Tesla T4 7.5
Tesla V100 7.0
NVIDIA TITAN RTX 7.5
Geforce RTX 2080 Ti 7.5
Geforce RTX 2080 7.5
Geforce RTX 2070 7.5
Geforce RTX 2060 7.5
NVIDIA TITAN V 7.0

But, it is strange that I can completely compile and test when I use V100. (LOL) Welcome to submit a PR to help us improve this.

nelaturuharsha commented 4 years ago

Sure, will try to do this over the week! That's a point to ponder, but it did work once I added the relevant args.

CyFeng16 commented 4 years ago

We really appreciate it. :+1:

CyFeng16 commented 4 years ago

@SreeHarshaNelaturu DAIN uses CUDA9.0 to compile dependencies, so we only need to cancel the comments before sm_70. See #16 for details. You may close the issue if problem already solved. Welcome to leave a comment if something still goes wrong. :smile: