First GPU implementation