OpenCL for heterogeneous reconfigurable systems programming