This repository has been archived by the owner on Mar 21, 2024. It is now read-only.
This repository has been archived by the owner on Mar 21, 2024. It is now read-only.
RadixSort does not compile for sm_20 in cub 1.8.0 #137
Closed
Description
RadixSort tries to use shfl instructions even for arch <30, resulting in nvcc refusing to compile with these errors:
ptxas /tmp/tmpxft_00007c9d_00000000-6_ex.ptx, line 216; error : Instruction 'shfl' requires .target sm_30 or higher
ptxas /tmp/tmpxft_00007c9d_00000000-6_ex.ptx, line 4240; error : Instruction 'shfl' requires .target sm_30 or higher
ptxas /tmp/tmpxft_00007c9d_00000000-6_ex.ptx, line 5130; error : Instruction 'shfl' requires .target sm_30 or higher
ptxas /tmp/tmpxft_00007c9d_00000000-6_ex.ptx, line 6751; error : Instruction 'shfl' requires .target sm_30 or higher
ptxas /tmp/tmpxft_00007c9d_00000000-6_ex.ptx, line 7598; error : Instruction 'shfl' requires .target sm_30 or higher
ptxas fatal : Ptx assembly aborted due to errors
The simple code will not compile for me when using arch 20 in CUDA 8 or 7.5 (CUDA 9+ does not support arch 20 anyway...) .
#include"cub/cub.cuh"
int main(){
size_t temp = 0;
int *ptr = nullptr;
cub::DeviceRadixSort::SortPairs(ptr, temp,
ptr, ptr, ptr, ptr, 0);
return 0;
Compiling with nvcc -arch=sm_20 ex.cu
will result in the errors above, while compiling with nvcc -srch=sm_30 ex.cu
gives no error and compiles fine (do not try to run it though...).
Metadata
Assignees
Labels
No labels
Activity