graphs and structures on gpu

i’m interested in creating /traverse ,binary trees and graphs in general on gpu.
There is a book(better) or other documentation on data structures for gpus?
thanks.

Processing irregular data structures on GPUs is a very new topic, and I’m not aware of
any books on it yet.

There is an ongoing debate on the right data structures to use for a given algorithm, especially
for graph problems. Implementations of both binary trees and well-known graph representations
(e.g. adjacency lists) can be written for GPUs. However, they are significantly easier to
traverse than they are to update in parallel.

A good rule of thumb is to try to find a well known parallel algorithm for your problem
and ask the following question “if I scale this up to ten-thousand threads, do I expect the
number of synchronization operations to be significantly less than number of other operations
performed.” Many parallel algorithms that can be used efficiently without modification.

There has been quite a lot of success recently even on hard problems like mesh refinement,
graph partitioning, and suffix array construction. However, algorithms that require in-place
data structure updates are still difficult. For example, traversing values in a hash table is
easy, but inserting a single new element into the hash table while 10,000 other threads are
accessing it is not.

If you have any specific questions, I’m sure that people on the forums would be happy to work through
them with you.

very thanks.