Shamrock: An OpenCL implementation based on clover