I translated your request in google translator. and i think i can do this job, but i reallly neeed more description about the job.
please provide more information if u want to this job to be done.
----------
According to my properties to the CUDA threads and block design
Adapted for the realization of the CPU GPU implementation (as follows:
bool canMerge function rewritten _device_ bool canMerge
void merge function is rewritten as _device_ void merge
void findEssential function rewritten _global_ void findEssential
From the CPU side initialization value in memory as showData (dataFile, imp, minx, count);
The value passed in memory memory
Obtained from the GPU side eimp [ecount] = imp [i];
eimp [ecount + +]. mark = false values
And transmitted to the CPU side
Draw a flowchart programming