OpenCL infrastructure and basic waves functions