performance ocl porting