I know about CPU, GPU and TPU. But, it is the first time for me to read about XPU from PyTorch documentation about MODULE.


Moves all model parameters and buffers to the XPU.

This also makes associated parameters and buffers different objects. So it should be called before constructing optimizer if the module will live on XPU while being optimized.

Note: This method modifies the module in-place.


    device (int, optional) – if specified, all parameters will be copied to that device



Return type


CPU stands for Central Processing Unit. GPU stands for Graphical Processing Unit. TPU stands for Tensor Processing Unit.

Most of us know that these processing units are highly useful in research of some computational intensive domains of AI including deep learning. So, I am wondering whether XPU is also useful in AI research since it is used in PyTorch.

From the context, I can say that PU stands for processing unit. But I have no idea of what X is.

What is the full form for XPU? Where can I read about XPU in detail?


XPU is a device abstraction for Intel heterogeneous computation architectures, which can be mapped to CPU, GPU, FPGA and other accelerators. The "X" from XPU is just like a variable, like in maths, so you can do X=C and you get CPU accceleration, or X=G and you get GPU acceleration... That's the intuition behind that abstract name.

In order to integrate a new accelerator you need 2 things:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.