Study of the effect of optimizations on OpenCL code when executed on different heterogeneous architectures