I have a point cloud of $50,000$ points in a 3D space.
I want to count the number of neighbors each point $\{(x_1,y_1,z_1), (x_2,y_2,z_2), (x_3,y_3,z_3), ... ...,(x_N,y_N,z_N)\}$ has at radii $\{r_1, r_2, r_3, ..., r_M\}$.
Which algorithm should I use?
You might want to consider using a k-D tree algorithm. Often used in raytracers as well but slightly less efficient you may also want to partition some domain of your coordinate system into a quadtree if your points are evenly distributed or an R-tree if you can always decide a statistical distribution for their concentration.