starting GPU implementation