Beignet is an open-source OpenCL implementation for Intel graphics cores on Linux.
Most Popular This Year
- add bswap64 for gen7/gen75 and gen8 seperately
Luo Xionghu: as the long type data layout is not continous on platform gen7/gen75, the indirect address access pattern is a bit different than gen8.
- GBE: Add llvm3.7 support
Yang Rong: Move all llvm relative includes to llvm_includes.
- runtime: Add cl device's standalone extension
Junyan He: The cl device may have different extensions from the platform.
- add basic function to dump Selection IR
Guo Yejun: Selection IR is a representation between Gen IR and Gen ASM, it is almost a Gen instruction but *before* the register allocation.
only basic dump supported, not fully completed yet.
- Backend: Add half support for CHV and SKL.
- add basic structure for selection IR optimization
Guo Yejun: The idea is that many optimzations can be done at selection IR level, which is nearly ISA-like *before* physical register allocation.
- add Broxton support
Guo Yejun: special versions of linux kernel and libdrm are needed.
- make Beignet as intermedia layer of CMRT
Guo Yejun: CMRT is C for Media Runtime on Intel GPU, see
- GBE: optimize phi elimination
Ruiling Song: This is special optimization for below situation:
bb2: x = phi [x1, bb1], [x2, bb2] x2 = x+1; after de-ssa: bb2: mov x, x-copy add x2, x, 1 mov x-copy, x2 obviously x2, x-copy and x2 can be mapped to same virtual register.
v2: only coaleasce if the source register comes from insn def.
- enable CL_UNSIGNED_INT8 for CL_RG to fix regression
Guo Yejun: the regression is caused when only enable CL_UNORM_INT8 for CL_RG, the reason is that during the image copy implementation with internal kernel, all formats are considerd as integer format, it becomes unknown since CL_UNSIGNED_INT8 is not enabled yet.