Abstracted additional gpu fields as a new 'gpu_data' type.
That way, I hope that any additional fields to gpu's will not
entails modifying non gpu code.