added GPU code