Independent Component Analysis using OpenCL and BFGS/CG