Compute Express Link (CXL)

Compute Express Link (CXL) #

CXL Specs, Protocols, Device Types #

CXL specifications have three major versions so far - CXL 1.0, CXL 2.0 and CXL 3.0. These CXL specifications also supports three sub-protocols - CXL.io, CXL.cache and CXL.mem. Apart from protocols, CXL specifications also defines three device types - Type 1, Type 2 and Type 3.

Type 1 devices are specialized accelerators (e.g., smart NIC) with no local memory and rely on coherent access to host CPU memory using CXL.io and CXL.cache sub-protocols. Type 2 devices are general-purpose accelerators (e.g., GPU) with local memory that can coherently access host CPU memory and provide coherent or non-coherent access to device local memory using CXL.io, CXL.cache and CXL.mem sub-protocols. Type 3 CXL devices are memory expanders (e.g., CXL-attached DRAM) that allow access to device local memory using the CXL.io and CXL.mem sub-protocols.

Different versions of the CXL specifications defines and refines the sub-protocols used to access and manage CXL devices and how these devices interact with other CXL and non-CXL devices in local and/or remote systems.

Source: Wikipedia

CXL I/O Path #

Source: ACM

Source: Semiconductor Engineering

Source: CXL Consortium

Source: servethehome.com

Tools to configure CXL-attached Memory #

CXL-attached Memory Device List [Sep 2024] #