Under Intels datacenterkonferens Inteconnect Day 2019 presenterades CXL, ett nytt gränssnitt för kommunikation mellan kretsar. Till skillnad från PCI Express, som är ett rent gränssnitt för kommunikation, är CXL både länklager och integrerad styrenhet för kommunikation mellan processorer. Information om standarden antyder att den kan länka samman Intels kommande grafikkort i Xe-familjen.

CXL Press Briefing Deck.jpg
Intel-CXL-1.jpg
Intel-CXL-2.jpg
Intel-CXL-3.jpg
Intel-CXL-5.jpg
Intel-CXL-6.jpg
Intel-CXL-7.jpg
Intel-CXL-8.jpg
Intel-CXL-10.jpg

CXL är en förkortning av Compute Express Link, en öppen standard som utöver Intel även backas av Alibaba, Cisco, Dell EMC, Facebook, Google, HPE, Huawei och Microsoft. Standarden bygger på det fysiska och elektriska länklagret i PCI Express för snabb kommunikation mellan kretsar.

Inledande implementationer av CXL bygger på PCI Express 5.0 för fysiska och elektriska anslutningar mellan processorer och andra kretsar, med grafikkort och programmerbara kretsar (FPGA:s) som troliga första tillämpningsområden. Skillnaden mellan CXL och PCI Express ligger i att den förstnämnda stöder synkronisering av minne mellan anslutna enheter.

CXL-protocols.jpg
Intel-Xe-Heterogenous-Computing-CXL.jpg

CXL består av tre olika protokoll. Dels CXL.io, vilken ersätter PCI Express, och ansvarar för upptäckt och konfiguration av enheter. Övriga två protokoll heter CXL.cache och CXL.memory, och det är dessa som ligger till grund för synkroniseringen av cacheminne mellan anslutna enheter som representerar potential för parkopplade grafikkort.

Just synkronisering av cacheminne mellan enheter antyder att CXL kan bli en nyckelkomponent i parkoppling av grafikkort, så kallad multi-GPU, för Intels kommande grafikkort i Intel Xe-familjen. Tidigare lösningar för multi-GPU har förlitat sig på PCI Express-anslutningar, som saknar möjligheten att synkronisera minnesinformation mellan anslutna enheter.

AMD:s och Nvidias lösningar för multi-GPU har dels byggt på fysiska hårdvarulänkar, SLI i Nvidias fall och Crossfire i AMD:s fall, och dels mjukvarubaserade lösningar där renderingen av bilder fördelats mellan de parkopplade grafikkorten. Dessa lösningar har dragits med avsevärd latens i kommunikationen och även begränsat utnyttjande av grafikkortens kapacitet i speltitlar som inte optimerats för multi-GPU.

Nuvarande implementationer av parkopplade grafikkort över PCI Express lider av begränsningar i det att resurserna hos parkopplade grafikkort isoleras från varandra. Minnespoolen hos ett grafikkort är isolerat från övriga grafikkort, och kommunikationen mellan de olika parkopplade enheterna introducerar latens som leder till begränsat utnyttjande av grafikkortens resurser.

CXL-länkarnas synkronisering innebär att en enhetlig minnespool kan skapas för anslutna enheter, vilket ska göra det möjligt att skala prestanda utan många av prestandaförlusterna som traditionell multi-GPU lider av. Om CXL används i Intels kommande grafikkortsfamilj Xe skulle det kunna innebära en fördel över AMD och Nvidia, vilka tonat ned fokus på multi-GPU de senaste åren.

Då standarden tog sin början hos Intel är det sannolikt att den första implementationen sker just i Intels grafikkortsfamiljer, men då det är en öppen standard är det fritt fram för konkurrenterna att också bygga lösningar för multi-GPU runt CXL. Då CXL 1.0 bygger på PCI Express 5.0 är sådana lösningar inte att vänta förrän tidigast nästa år, och arbetet på CXL 2.0 är redan igång.

Grafikkortsfamiljen Intel Xe väntas lanseras under 2020. Huruvida grafikkorten kommer nyttja CXL för parkoppling återstår att se.

Läs mer om Intel Xe: