added "restrict" keyword to preprocess kernel input buffers