●Larrabee的vector运算单元
同时Intel在进行Larrabee设计的时候,非常注意区分传统CPUscalar演算管线和GPUvector运算管线的风格设计。Larrabee的scalar运算管线是以Pentium处理器为基础的In-Order Dualissue管线。总之Larrabee上加入了相当于Pentium处理器强劲的vector运算单元构造。如果只有scalar核心程序,那么对于有x86程序编制经验的人来说就是CPU产品。
Gelsinger先生确认了Larrabee的vector运算管线与与不同的CPU内核(scalar管线)可以进行组合。据说Larrabee可以支持像SSE一样的x86SIMD指令扩张。
Intel架构的进化
同时通过此次的IDF可以了解Larrabee是如何进行软件处理。Intel公司graphicsfellow Tom Piazza先生表示Shop Talk,Larrabee和task scheduling都是全软件处理。而现在的DirectX 10 GPU进行YUNIFAIDOSHEDA处理则是基于的硬件。从Single Program, Multiple Data(SPMD)到管线的控制,各个的处理器簇内的load balancing和硬件管理的风格都是一样的。而且Larrabee所有的scheduling都是基于的软件控制。
●Intel计划推出新语言“Ct”
Intel在本次IDF上明确将支持支撑数据并列处理software stack和编译程序“Ct”与Larrabee之间的关系。Ct是指“C for Throughput Computing”,这个是C++的升级语言,面向的是数据并列处理。从这个方面来说,与NVIDIA同样基于C语言面向数据并列处理的“CUDA (kuda:compute unified device architecture)”在某种程度上是一样的。 Ct不仅仅是SSE系列指令,还将会支持Sandy Bridge上新的vector指令“Intel Advanced Vector Extensions (Intel AVX)”,Larrabee新的vector指令“Larrabee New Instructions(LNI)”以及将来的指令都能够支持。此次在IDF大什明确不仅仅包括Core 2和Larrabee处理器,还将会支持AVX的通用CPU内核和类似于Larrabee CPU的混合CPU。
Ct,CUDA和目标处理器运行时间stack然后转到host CPU上,然后JIT编译器再进行处理器原生指令的转换。如果是Ct时,不仅仅可以抽象化目标处理器的vector(SIMD),隐藏核心数量,memory model以及缓存容量等。这些要素都会自动最优化。同时Intel Larrabee还对Native C/C++编译程序支持也进行了准备。
Larrabee采用与CPU相似的software stack
软件的机会和风险
Ct范围扩大了
Ct的运行时间stack
Ct2可以使用次手法