I want to know how is the adjacency list graph representation created in OpenCL. The Problem is that dynamic memory allocation can't be done in the kernel code(as far as I know). It can be done only in the host code. But if the nodes are to be created dynamically in the code and they are to take the benefit of parallel programming( making them in the host code will make the code sequential), how are they made in OpenCL program. Is there a way to make them in the kernel code..? and if not in the kernel code then how to make them in the host code, saving the parallel benefits of OpenCL..?