Intel近日公佈了第38個版本的ISA指令集擴展說明書,證實了非常奇怪的一個配置:14nm時代增加一個重要的指令集,但是進入10nm後一度消失,等到第二代再回歸。這就是AVX512_BF16,一種矢量神經網路指令,支援bfloat16(BF16)格式。
這種格式介於標準化的半精度FP16、單精度FP32格式之間,能在16位元空間內透過降低精度來獲取更大的數值空間,在記憶體中存放更多數據,減少數據進出空間的時間,還能降低電路複雜度,最終帶來計算速度的提升。
這種格式已經成為深度學習事實上的標準Google TPU、Intel FPGA/神經網路處理器都支援,將在今年上半年交付的Cooper Lake將會把它首次導入XEON產品線。Cooper Lake還是14nm製程和Skylake架構、最多56核心,但插槽變成LGA4189,可以說唯一亮點就是AVX512_BF16目前Intel已經重新調整其定位,僅供非常狹小的四路、八路市場。
更受期待的還是採用10nm Ice Lake的更下一代XEON,新製程新架構,今年晚些時候交付,但是根據Intel最新公佈的文件,Ice Lake XEON雖然增加了PCONFIG、WBNOINVD、MKTME、ENCLV等新指令集,但是AVX512_BF16卻莫名其妙消失了,驗證了早先的猜測。Intel沒有解釋具體原因很可能是因為Ice Lake更換了新架構,設計之初並未考慮AVX512_BF16。
幸運的是第二代10nm Sapphire Rapids XEON會重新支援AVX512_BF16,並加入一大堆其他指令集,包括AVX512_VP2INTERSECT、CET、ENQCMD、PTWRITE、TPAUSE/UM、Arch LBRs、HLAT、SERIALIZE、TSXLDTRK,不過也有一個懸念,那就是PCONFIG、WBNOINVD、MKTME、ENCLV等指令集是否繼續支援尚未明確。
Sapphire Rapids將在明年正式發布,美國的下代頂級超級電腦Aurora就會配備這一平台(同時也有AMD EPYC版本)。
消息來源 |