views:

181

answers:

2

Hello, Are there some implementation for KD-Tree on shared memory machines?

thanks
Arman.

+2  A: 

libkdtree++ or kdtree

R Samuel Klatchko
Thanks, but both of them are serial libraries. I cannot build the tree in parallel from different threads.
Arman
I was looking for such a library myself, but with no luck. You will probably have to implement it yourself, or extend/change an existing opensource solution. I did the second thing with ANN, but i did not parallelize tree creation, just searching.
PeterK
@PeterK: Thanks peter for response. I have a oct-tree with fully MPI parallel implementation, so I was thinking to save the time and use some opensource with thread based parallel version. So if I will succeed with my implementation, I am going to put it in the google.code to share with others.
Arman
@Arman: You are wellcome. I believe my extension to the ANN library will be publicly (opensource) available soon (in a few weeks i hope). It allows parallel searching though not addition or removal of records. I even think that is not possible since the tree structure changes if some record is added or removed, thus it breaks any search being done.
PeterK
You might have some luck if you start with kdtree, the libkdtree++ is so messed that it's painful to watch. Like they spent 99% of the time playing with templates and trying to use every STL template in the book and for some reason every single name starts with _ or __ - function names, params ... Maybe that's a new way to hide an algorithm :-))
ZXX
A: 

Hi,I was interested in knowing if there is any open source library for a thread safe ANN which works for higher dimensionality data?

taru