Opt out OpenCL codes with the macro USE_OPENCL
Replace all the blob data getters with the device independent version
Dynamically get the device to perform the math computations
Implement device independent data getters for the SyncedMemory