* add bruteforce impl
* add nn descent implementation
* change doc-string
* remove redundant func
* use local rng for cuda
* fix lint
* fix lint
* fix bug
* fix bug
* wrap nndescent_knn_graph into knn
* fix lint
* change function names
* add comment for dist funcs
* let the compiler do the unrolling
* use better blocksize setting
* remove redundant line
* check the return of the cub calls
Co-authored-by: Tong He <hetong007@gmail.com>
* add bruteforce impl
* add support for bruteforce-sharemem
* modify python API
* add tests
* change file path
* change python API
* fix lint
* fix test
* also check worst_dist in the last few dim
* use heap and early-stop on CPU
* fix lint
* fix lint
* add device check
* use cuda function to determine max shared mem
* use cuda to determine block info
* add memory free for tmp var
* update doc-string and add dist option
* fix lint
* add more tests
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>