I want to implement Disjoint set Data Structures and Kruskal's algorithm in OpenCL. I have implemented some codes in OpenCL and aslo implemented Kruskal's Algorithm in C, but don't know how to get started with programming the Data Structures in OpenCL. To be more specific, I don't know how dynamic memory allocation is done in the host code of OpenCL and then how these variables are passed in the kernel. I know that dynamic memory allocation can't be done in OpenCL kernel, so then how are data structures programmed in OpenCL kernels. Djkstra's algorithm given in the book by Aftab Munshi is hard to understand. Can anyone suggest another source...?