init
openCL fuction separated