-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify the meaning of different device types #727
Conversation
The description of what constitutes a CPU or GPU has always been unclear. This commit adjusts these descriptions to clarify that it is ultimately up to the implementation to decide whether a device is identified as a specific device type. It also attempts to separate normative behaviors (like the connection between device type aspects and info::device_type) from non-normative descriptions of what a device type may mean.
Amazing, thanks a lot! I wanted to make those kinds of changes but didn't know how to tackle them. They look nice!
Typos, Should be PS: I will not make any joke about using self-affirming terminology on the SYCL Spec... |
Good catch, thanks!
Since you brought it up... I did wonder if this wording could be problematic, because somebody might think we're trying to make a joke. Maybe:
...would be better? It's arguably more accurate, too, since different implementations may choose to represent the same device in different ways. I'll make that change. |
The previous wording could be read in a way that implied the (hardware) device could somehow declare what its device type should be, which is misleading. It is more accurate to say that the implementation identifies the device as a specific type, since different implementations may choose to identify the same piece of hardware differently.
Look good to me! |
fe25480
to
3e958a1
Compare
|
||
{note}A device with this aspect will typically be a dedicated accelerator | ||
device, with a peripheral interconnect for communication. | ||
{endnote} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think FPGA devices are normally exposed as this type. Would a reader think that a "dedicated accelerator" might be an FPGA? This is an honest question. I don't know what most people would think of when reading the term "dedicated accelerator".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good question. I have no idea, and I only used this phrasing because it was already there.
My reading of "accelerator" is something like "a piece of hardware that is not the host CPU", and I think "dedicated" implies that it's not going to be used to run anything except kernels you enqueue to it (i.e., it's not running anything related to the OS). An FPGA would fit that description. I guess an implementation might also choose to expose a "GPU" without graphics API support or one that isn't running a display as an "accelerator" instead of a "GPU".
WG approved to merge. Fix to 2020 |
The description of what constitutes a CPU or GPU has always been unclear.
This commit adjusts these descriptions to clarify that it is ultimately up to the implementation to decide whether a device is identified as a specific device type. It also attempts to separate normative behaviors (like the connection between device type aspects and
info::device_type
) from non-normative descriptions of what a device type may mean.Closes #7, closes #545.