<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Beignet 1.1.0 (2015-07-31)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">========================<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Beignet development team is pleased to announce that Beignet version 1.1.0 has been released. The is another milestone after version 1.0.0. In this release, Beignet got Khronos OpenCL 1.2 conformance certification on BDW. Meanwhile, Beignet
 supports more and more platforms, include 3rd to 6th Generation Intel Core Processors and some Intel Atom Processors. This release also add some new features, such as cl_intel_subgroups and cl_khr_spir extensions and half data type support. This release continue
 to improve the quality and performance, some OpenCV 3.0 benchmarks has 3x ~ 4x performance gain.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The highlighted improvements are as below:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">1. Added 6th generation Intel Core Processors (SKL) support.<o:p></o:p></p>
<p class="MsoNormal">2. Added 5th generation Intel Atom Processors (BSW) support.<o:p></o:p></p>
<p class="MsoNormal">3. Re-implement structurized control flow algorithm.<o:p></o:p></p>
<p class="MsoNormal">4. Added half data type support after BDW.<o:p></o:p></p>
<p class="MsoNormal">5. Implement a new BTI solution to support dynamic bti.<o:p></o:p></p>
<p class="MsoNormal">6. Added extension cl_intel_subgroups support.<o:p></o:p></p>
<p class="MsoNormal">7. Replace some built-ins with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">8. Add Indirect structure argument read support.<o:p></o:p></p>
<p class="MsoNormal">9. Enable cl_khr_spir extension to build and run from SPIR binary.<o:p></o:p></p>
<p class="MsoNormal">10. Improvement some opencv test suite performance on all platforms.<o:p></o:p></p>
<p class="MsoNormal">11. Several other bug fixes since last release.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Git tag: Release_v1.1.0<o:p></o:p></p>
<p class="MsoNormal">Gitweb URL: http://cgit.freedesktop.org/beignet<o:p></o:p></p>
<p class="MsoNormal">https://01.org/sites/default/files/beignet-1.1.0-source.tar.gz
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">md5sum: a7a9276a3e635266274240e8fc8e4490  beignet-1.1.0-source.tar.gz<o:p></o:p></p>
<p class="MsoNormal">sha1sum: 67f58f3f1df9cd970998342b0df619e41c80b20b  beignet-1.1.0-source.tar.gz<o:p></o:p></p>
<p class="MsoNormal">sha256sum: 4afe09ea13cd7f8475b9f6534e97cb4dcd307c602095c6968b0ed22290753386  beignet-1.1.0-source.tar.gz<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-----------------------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Changes since 1.0.0:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Andreas Beckmann (2):<o:p></o:p></p>
<p class="MsoNormal">      prefer newer llvm versions over 3.3<o:p></o:p></p>
<p class="MsoNormal">      remove unsafe define -D__$(USER)__<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Brian Kloppenborg (1):<o:p></o:p></p>
<p class="MsoNormal">      BUGFIX: Prohibit 'make package' from doing system install of ICD vendor file<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Chuanbo Weng (11):<o:p></o:p></p>
<p class="MsoNormal">      Change CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR from 8 to 16.<o:p></o:p></p>
<p class="MsoNormal">      Refine benchmark output.<o:p></o:p></p>
<p class="MsoNormal">      Refine copy_buf benchmark and rename the file.<o:p></o:p></p>
<p class="MsoNormal">      Implement 1D/2D image array related cl_mem_kernel_copy_image in cl way instead of cpu way.<o:p></o:p></p>
<p class="MsoNormal">      Add example to show libva buffer sharing with extension clCreateImageFromLibvaIntel.<o:p></o:p></p>
<p class="MsoNormal">      Add document to describe the detials of libva buffer sharing.<o:p></o:p></p>
<p class="MsoNormal">      Add benchmark of clEnqueueCopyImageToBuffer(copy 2d image to buffer).<o:p></o:p></p>
<p class="MsoNormal">      Optimization of clEnqueueCopyImageToBuffer for 16 aligned case.<o:p></o:p></p>
<p class="MsoNormal">      Fix error in CMakeLists.txt of examples.<o:p></o:p></p>
<p class="MsoNormal">      Add example to show v4l2 buffer sharing with extension clGetMemObjectFdIntel.<o:p></o:p></p>
<p class="MsoNormal">      Add document to describe the detials of v4l2 buffer sharing.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">David Couturier (1):<o:p></o:p></p>
<p class="MsoNormal">      Fix: (v3) Event callback that were not executed when command was already CL_COMPLETE + thread safety for callbacks<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Guo Yejun (37):<o:p></o:p></p>
<p class="MsoNormal">      re-enable userptr with fix: CPU access after GPU finishes the rendering<o:p></o:p></p>
<p class="MsoNormal">      fix issue to create cl image from libva with non-zero offset<o:p></o:p></p>
<p class="MsoNormal">      add test for clCreateImageFromLibvaIntel<o:p></o:p></p>
<p class="MsoNormal">      fix issue to pass utest of runtime_climage_from_boname for BDW<o:p></o:p></p>
<p class="MsoNormal">      clean code, the logic is already at the beginning of function<o:p></o:p></p>
<p class="MsoNormal">      add test of cl_mem_use_host_ptr into benchmark<o:p></o:p></p>
<p class="MsoNormal">      refine utest of cl_mem_use_host_ptr<o:p></o:p></p>
<p class="MsoNormal">      enable CL_MEM_ALLOC_HOST_PTR with user_ptr to avoid copy between GPU/CPU<o:p></o:p></p>
<p class="MsoNormal">      add utest of CL_MEM_ALLOC_HOST_PTR<o:p></o:p></p>
<p class="MsoNormal">      replace hash_map with map<o:p></o:p></p>
<p class="MsoNormal">      do not include llvm/clang headers for libgbeinterp<o:p></o:p></p>
<p class="MsoNormal">      change Immediate::operator= from private to public<o:p></o:p></p>
<p class="MsoNormal">      do not use C++11 features inside libgbeinterp<o:p></o:p></p>
<p class="MsoNormal">      fix utest build for some old gcc version<o:p></o:p></p>
<p class="MsoNormal">      refine gbe_bin_generater usage to add -t option<o:p></o:p></p>
<p class="MsoNormal">      remove useless dependency libocl<o:p></o:p></p>
<p class="MsoNormal">      add option BUILD_STANDALONE_GBE_COMPILER to build static compiler<o:p></o:p></p>
<p class="MsoNormal">      add CMake option USE_STANDALONE_GBE_COMPILER and STANDALONE_GBE_COMPILER_DIR<o:p></o:p></p>
<p class="MsoNormal">      only build tests that do not need compiler when standalone compiler is provided<o:p></o:p></p>
<p class="MsoNormal">      add howto for old gcc version<o:p></o:p></p>
<p class="MsoNormal">      correct the cache line size to be 64<o:p></o:p></p>
<p class="MsoNormal">      loose the alignment limitation for host_ptr of CL_MEM_USE_HOST_PTR<o:p></o:p></p>
<p class="MsoNormal">      update utest to loose userptr limitation<o:p></o:p></p>
<p class="MsoNormal">      correct env var to output llvm IR<o:p></o:p></p>
<p class="MsoNormal">      add simd level function __gen_ocl_get_simd_size<o:p></o:p></p>
<p class="MsoNormal">      add utest for __gen_ocl_get_simd_size<o:p></o:p></p>
<p class="MsoNormal">      add simd level function __gen_ocl_get_simd_id<o:p></o:p></p>
<p class="MsoNormal">      add utest for __gen_ocl_get_simd_id<o:p></o:p></p>
<p class="MsoNormal">      add introduction to build Beignet with yocto<o:p></o:p></p>
<p class="MsoNormal">      rename __gen_ocl_get_simd_id/size to get_sub_group_id/size<o:p></o:p></p>
<p class="MsoNormal">      add sub group functions intel_sub_group_shuffle<o:p></o:p></p>
<p class="MsoNormal">      rename __gen_ocl_simd_any/all to sub_group_any/all<o:p></o:p></p>
<p class="MsoNormal">      add utest for intel_sub_group_shuffle<o:p></o:p></p>
<p class="MsoNormal">      correct the src output of alu3 when OCL_OUTPUT_ASM=1<o:p></o:p></p>
<p class="MsoNormal">      enable CL_RG + CL_UNORM_INT8 for image<o:p></o:p></p>
<p class="MsoNormal">      enable CL_UNSIGNED_INT8 for CL_RG to fix regression<o:p></o:p></p>
<p class="MsoNormal">      Use a separate pattern for simd shuffle instead of binary pattern<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Jeff McGee (2):<o:p></o:p></p>
<p class="MsoNormal">      Add driver callback for updating device info<o:p></o:p></p>
<p class="MsoNormal">      Query the driver directly for compute units and subslice<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Junyan He (82):<o:p></o:p></p>
<p class="MsoNormal">      Fix the printf buffer size bug.<o:p></o:p></p>
<p class="MsoNormal">      Import the native long type of ul1 ul8 and ul16<o:p></o:p></p>
<p class="MsoNormal">      Add long type support for disasm.<o:p></o:p></p>
<p class="MsoNormal">      Add long imm value in gen8 instruction.<o:p></o:p></p>
<p class="MsoNormal">      Add unpacked ud and unpacked uw for long type.<o:p></o:p></p>
<p class="MsoNormal">      Add the long unpacked ud uw into the instruction schedule consideration<o:p></o:p></p>
<p class="MsoNormal">      Modify the split logic in encoder<o:p></o:p></p>
<p class="MsoNormal">      Add the u64 imm type in register<o:p></o:p></p>
<p class="MsoNormal">      Add long support flag into gen selection<o:p></o:p></p>
<p class="MsoNormal">      Modify the load IMM 64 function.<o:p></o:p></p>
<p class="MsoNormal">      Disasm supports to print long imm value in instruction.<o:p></o:p></p>
<p class="MsoNormal">      Add functions for conversion between native and fake long.<o:p></o:p></p>
<p class="MsoNormal">      Overload the READ64 and WRITE64 function for Gen8<o:p></o:p></p>
<p class="MsoNormal">      Add the canHandleLong virtual function into gen encoder<o:p></o:p></p>
<p class="MsoNormal">      Overload all the alu1 and alu1withtemp functions.<o:p></o:p></p>
<p class="MsoNormal">      Overload all the simple binary functions.<o:p></o:p></p>
<p class="MsoNormal">      Modify the convert logic in gen selection.<o:p></o:p></p>
<p class="MsoNormal">      Modify the fake dst register for CMP in register allocation.<o:p></o:p></p>
<p class="MsoNormal">      Overload I64MUL function.<o:p></o:p></p>
<p class="MsoNormal">      Overload the i64MULHI function.<o:p></o:p></p>
<p class="MsoNormal">      Overload the I64HADD function.<o:p></o:p></p>
<p class="MsoNormal">      Overload I64RHADD function.<o:p></o:p></p>
<p class="MsoNormal">      Overload the I64MADSAT function.<o:p></o:p></p>
<p class="MsoNormal">      Overlaod I64 Div and Rem function.<o:p></o:p></p>
<p class="MsoNormal">      Modify the cmp and sel for I64 and cleanup all virtual functions.<o:p></o:p></p>
<p class="MsoNormal">      Add test case for long mul_sat and mul_hi<o:p></o:p></p>
<p class="MsoNormal">      Add test case for i64 div and rem.<o:p></o:p></p>
<p class="MsoNormal">      Add long NOT test case.<o:p></o:p></p>
<p class="MsoNormal">      Add PackLong and UnpackLong functions<o:p></o:p></p>
<p class="MsoNormal">      Modify the bitcast to support native long<o:p></o:p></p>
<p class="MsoNormal">      Add the logic for UPSAMPLE_LONG<o:p></o:p></p>
<p class="MsoNormal">      Add test case for long bitcast.<o:p></o:p></p>
<p class="MsoNormal">      Add the missing LOAD_INT64_IMM virtual function for GEN8.<o:p></o:p></p>
<p class="MsoNormal">      Fix bug for bitcast test case because of long type.<o:p></o:p></p>
<p class="MsoNormal">      Add the check for src and dst span different registers.<o:p></o:p></p>
<p class="MsoNormal">      Fix the long bitcast post schedule bug.<o:p></o:p></p>
<p class="MsoNormal">      Add the logic for pack/unpack long for scalar.<o:p></o:p></p>
<p class="MsoNormal">      Correct the wrong type annotation for long in disasm.<o:p></o:p></p>
<p class="MsoNormal">      Fix bug for scalar long conversion.<o:p></o:p></p>
<p class="MsoNormal">      Backend: fix one bug of long mad_sat.<o:p></o:p></p>
<p class="MsoNormal">      Re-format the asm print for long imm<o:p></o:p></p>
<p class="MsoNormal">      Fix a bug of 1d image array test case.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Fix one bug of printf because of ir reorder.<o:p></o:p></p>
<p class="MsoNormal">      Fix the bug of ulong mad sat<o:p></o:p></p>
<p class="MsoNormal">      Correct the bit fields error for indirect address of Gen8<o:p></o:p></p>
<p class="MsoNormal">      Backend: Add the indirect fields and functions for gen register.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Add functions to set a0 register.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Correct indirect mode encoder setting for Gen7.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Correct indirect mode encoder setting for Gen8.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Handle the bswap using indirect mode access.<o:p></o:p></p>
<p class="MsoNormal">      Add a0 setting and bswap logic for GEN8<o:p></o:p></p>
<p class="MsoNormal">      Backend: Delete bswap logic in the llvm_to_gen stage.<o:p></o:p></p>
<p class="MsoNormal">      Modify the utest case for bswap.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Add the logic to handle uniform src for BSwap Gen8.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Fix errors in disasm for indirect instruction Gen8.<o:p></o:p></p>
<p class="MsoNormal">      Add LLVM_INCLUDE_DIR to CMakeList of src.<o:p></o:p></p>
<p class="MsoNormal">      Generate NAN for UNDEF value in printf parser.<o:p></o:p></p>
<p class="MsoNormal">      Kill the A0 cache in GenContext.<o:p></o:p></p>
<p class="MsoNormal">     Backend: Add half float as a new type.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Add half float support for immediate.<o:p></o:p></p>
<p class="MsoNormal">      backend: Add half float type into the instruction.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Add half float support in gen backend.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Add half to insn selection.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Add half float ASM output support.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Enable fp16 extension in the header.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Add half builtin functions for relational module.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Add half builtin functions to math module.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Add half builtin functions for common module.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Add the builtin xxx_as functions for half.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Add builtin convert functions for half.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Add vector generation for half type.<o:p></o:p></p>
<p class="MsoNormal">      backend: Add convert_sat functions for half in the gen_backend.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Add support for half's div and rem.<o:p></o:p></p>
<p class="MsoNormal">      backend: Add conversion support between half and other type.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Add all the half defines for script generation.<o:p></o:p></p>
<p class="MsoNormal">      utest: Add test cases for half.<o:p></o:p></p>
<p class="MsoNormal">      runtime: Add fp16 extension to BDW later platform.<o:p></o:p></p>
<p class="MsoNormal">      runtime: Use cl_get_platform_default to replace global value.<o:p></o:p></p>
<p class="MsoNormal">      runtime: Add cl device's standalone extension.<o:p></o:p></p>
<p class="MsoNormal">      Backend: Add half support for CHV and SKL.<o:p></o:p></p>
<p class="MsoNormal">      Runtime: Add default extension for platforms before BDW.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Add macro define for fp16.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Koop Mast (2):<o:p></o:p></p>
<p class="MsoNormal">      Fix comparison in if() check.<o:p></o:p></p>
<p class="MsoNormal">      Reorder GBE_BIN_GENERATER arguments.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Luo (3):<o:p></o:p></p>
<p class="MsoNormal">      add llvm intrinsic call translate.<o:p></o:p></p>
<p class="MsoNormal">      fix llvm.trunc.float instruction bug.<o:p></o:p></p>
<p class="MsoNormal">      check the predication in case of endless loop.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Luo Xionghu (47):<o:p></o:p></p>
<p class="MsoNormal">      reuse the loop info from llvm.<o:p></o:p></p>
<p class="MsoNormal">      add the reduced self loop node detection.<o:p></o:p></p>
<p class="MsoNormal">      fix dnetc overflow issue.<o:p></o:p></p>
<p class="MsoNormal">      fix bswap implementation issue.<o:p></o:p></p>
<p class="MsoNormal">      refine bswap utest to cover nsetc fail cases.<o:p></o:p></p>
<p class="MsoNormal">      refine overflow utest to cover nsetc fail cases.<o:p></o:p></p>
<p class="MsoNormal">      disable overflow utest test before llvm-3.5<o:p></o:p></p>
<p class="MsoNormal">      add half math function support.<o:p></o:p></p>
<p class="MsoNormal">      fix max_parameter_size not correct on x86 platforms.<o:p></o:p></p>
<p class="MsoNormal">      fix min_max_read_image_args and min_max_parameter_size issue.<o:p></o:p></p>
<p class="MsoNormal">      add collectImageArgs to handle image count limitations.<o:p></o:p></p>
<p class="MsoNormal">      add LZD IR instruction.<o:p></o:p></p>
<p class="MsoNormal">      add clz(count leading zero) utest.<o:p></o:p></p>
<p class="MsoNormal">      fix the wrong implementation of popcount.<o:p></o:p></p>
<p class="MsoNormal">      reimplement the LZD instruction in backend.<o:p></o:p></p>
<p class="MsoNormal">      libocl: reimplement clz with lzd instruction instead of fbh.<o:p></o:p></p>
<p class="MsoNormal">      fix clz utest issue.<o:p></o:p></p>
<p class="MsoNormal">      remove the libFunc interface.<o:p></o:p></p>
<p class="MsoNormal">      replace sin/cos with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      replace sqrt with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      replace log with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      replace exp with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      enable cl_khr_spir extension to build and run from SPIR binary.<o:p></o:p></p>
<p class="MsoNormal">      change the workitem related api to OVERLOABABLE.<o:p></o:p></p>
<p class="MsoNormal">      SPIR binary support for printf function.<o:p></o:p></p>
<p class="MsoNormal">      add utest for load spir binary.<o:p></o:p></p>
<p class="MsoNormal">      replace fabs with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      replace rndz with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      replace rnde with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      replace rndu with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      replace rndd with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      replace mad with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      replace pow with llvm intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      reset the SPIR target datalayout.<o:p></o:p></p>
<p class="MsoNormal">      only support spir extension for beignet build with llvm 3.5 or later.<o:p></o:p></p>
<p class="MsoNormal">      simple return if spir extension not supported.<o:p></o:p></p>
<p class="MsoNormal">      strip PointerCast for call instructions before use.<o:p></o:p></p>
<p class="MsoNormal">      Optimization of clEnqueueCopyBufferToImage for 16 aligned case.<o:p></o:p></p>
<p class="MsoNormal">      add benckmark for copy data from buffer to image.<o:p></o:p></p>
<p class="MsoNormal">      add environment variable OCL_OUTPUT_KERNEL_SOURCE.<o:p></o:p></p>
<p class="MsoNormal">      reimplement structurize algorithm.<o:p></o:p></p>
<p class="MsoNormal">     fix global variable out of boundary writing in libocl.<o:p></o:p></p>
<p class="MsoNormal">      use self test to determine enable/or disable atomics in L3 for HSW.<o:p></o:p></p>
<p class="MsoNormal">      don't merge serial blocks with barrier.<o:p></o:p></p>
<p class="MsoNormal">      structuralize bug fix: check the loop successor before merge.<o:p></o:p></p>
<p class="MsoNormal">      fix utest bug.<o:p></o:p></p>
<p class="MsoNormal">      runtime bug: brw GT3 devices reported to GT2.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Lv Meng (1):<o:p></o:p></p>
<p class="MsoNormal">      Fix a makefile bug for gcc is not the default compiler<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Meng Mengmeng (4):<o:p></o:p></p>
<p class="MsoNormal">      utests: make utests maths ULP values consistent with specification<o:p></o:p></p>
<p class="MsoNormal">      add edge case detection for powr in utests<o:p></o:p></p>
<p class="MsoNormal">      CHV: Add cherryview support in the runtime.<o:p></o:p></p>
<p class="MsoNormal">      correct ULP value in utests<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Rebecca N. Palmer (11):<o:p></o:p></p>
<p class="MsoNormal">      Return error, don't crash, on allocation failure<o:p></o:p></p>
<p class="MsoNormal">      Crash when hardware inaccessible<o:p></o:p></p>
<p class="MsoNormal">      Enable multiarch (32/64-bit co-installation)<o:p></o:p></p>
<p class="MsoNormal">      FindLLVM: allow LLVM/Clang 3.6<o:p></o:p></p>
<p class="MsoNormal">      Don't crash if device inaccessible<o:p></o:p></p>
<p class="MsoNormal">      utest_pow: don't fail on declared lack of denormals.<o:p></o:p></p>
<p class="MsoNormal">      Make tgamma meet the accuracy standard.<o:p></o:p></p>
<p class="MsoNormal">      Allow building with Python 3<o:p></o:p></p>
<p class="MsoNormal">      utests: fix test case builtin_tgamma.<o:p></o:p></p>
<p class="MsoNormal">      Add a sanity test in clGetDeviceIDs<o:p></o:p></p>
<p class="MsoNormal">      Docs: update/clarify Haswell issues<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Rebecca Palmer (1):<o:p></o:p></p>
<p class="MsoNormal">      Use matching versions of clang/llvm and libclang/libllvm<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Ruiling Song (50):<o:p></o:p></p>
<p class="MsoNormal">      GBE: Place loop exits after loop blocks when sorting basic blocks.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Output CFG of Gen IR to dot file.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Re-implement BTI logic in backend<o:p></o:p></p>
<p class="MsoNormal">      GBE: support const private array initialization.<o:p></o:p></p>
<p class="MsoNormal">      utests: Add const private array initialization test.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Fix a disassembly bug.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Fix the printf issue caused by new bti implementation<o:p></o:p></p>
<p class="MsoNormal">      libocl: Fix precision of builtin tanpi.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Move spec required macro to header file.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Improve precision of pow/powr.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Imporve precision of exp()<o:p></o:p></p>
<p class="MsoNormal">      libocl: Flush denorm input into zero in rootn()<o:p></o:p></p>
<p class="MsoNormal">      libocl: flush denorm into zero in ldexp()<o:p></o:p></p>
<p class="MsoNormal">      libocl: Correctly handle -inf in exp10.<o:p></o:p></p>
<p class="MsoNormal">      libocl: flush denorm to zero in remquo()<o:p></o:p></p>
<p class="MsoNormal">      libocl: implement high precision pown()<o:p></o:p></p>
<p class="MsoNormal">      libocl: remove useless code.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Reimplement trigonometric functions.<o:p></o:p></p>
<p class="MsoNormal">      libocl: Refine char/short abs() implementation.<o:p></o:p></p>
<p class="MsoNormal">      libocl: refine implementation of abs_diff()<o:p></o:p></p>
<p class="MsoNormal">      libocl: using mad() to implement dot()<o:p></o:p></p>
<p class="MsoNormal">      GBE: Only add non-zero offset in gep lowering pass.<o:p></o:p></p>
<p class="MsoNormal">      libocl: refine length() implementation.<o:p></o:p></p>
<p class="MsoNormal">      libocl: refine implementation of normalize().<o:p></o:p></p>
<p class="MsoNormal">      libocl: refine implementation of logb().<o:p></o:p></p>
<p class="MsoNormal">      GBE: Import constantexpr lower pass from pNaCl<o:p></o:p></p>
<p class="MsoNormal">      GBE: expand large integer instructions<o:p></o:p></p>
<p class="MsoNormal">      GBE: Fix a build error against llvm release version<o:p></o:p></p>
<p class="MsoNormal">      GBE: Fix a bug in legalize pass.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Load/store should use same address space as before.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Import PromoteIntegers pass from pNaCl<o:p></o:p></p>
<p class="MsoNormal">      libocl: refine implementation of sign().<o:p></o:p></p>
<p class="MsoNormal">      GBE: We need use exiting block here.<o:p></o:p></p>
<p class="MsoNormal">      libocl: define NULL to zero<o:p></o:p></p>
<p class="MsoNormal">      libocl: Directly scalarize built-in with vector input.<o:p></o:p></p>
<p class="MsoNormal">      GBE: unify element type before insertelement in legalize pass.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Support unaligned load/store of dword/qword in GenIR.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Fix fast-math issue under llvm 3.6.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Only emit multiply when immediate is not one.<o:p></o:p></p>
<p class="MsoNormal">      GBE: make all memory operation share same bti dependency.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Fix the immediate data type<o:p></o:p></p>
<p class="MsoNormal">      GBE: remove unnecessary assert<o:p></o:p></p>
<p class="MsoNormal">      gbe: Implement a new BTI solution to support dynamic bti<o:p></o:p></p>
<p class="MsoNormal">      GBE: Fix a typo that cause gpu hang.<o:p></o:p></p>
<p class="MsoNormal">      GBE: add offsetID in SelectionVector.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Support storing/loading pointers to/from private array<o:p></o:p></p>
<p class="MsoNormal">      GBE: optimize phi elimination.<o:p></o:p></p>
<p class="MsoNormal">      GBE/IMM: Temporarily allow integer type in getFloatValue()<o:p></o:p></p>
<p class="MsoNormal">      GBE: Fix a bug in phicopy coaleasing.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Fix a bug in assigning image bti.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Yan Wang (4):<o:p></o:p></p>
<p class="MsoNormal">      Fix based on piglit OpenCL falied case (cl-api-compile-program).<o:p></o:p></p>
<p class="MsoNormal">      Fix delete operator using.<o:p></o:p></p>
<p class="MsoNormal">      Fix PrintfState copying.<o:p></o:p></p>
<p class="MsoNormal">      Fix loop condition of PrintfSet constructor.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Yang Rong (38):<o:p></o:p></p>
<p class="MsoNormal">      Change the IVB/HSW L3 SQC credit setting.<o:p></o:p></p>
<p class="MsoNormal">      Fix NO_TILING alignment bug.<o:p></o:p></p>
<p class="MsoNormal">      BDW: Change the default tiling mode to TILING_Y on BDW.<o:p></o:p></p>
<p class="MsoNormal">      Fix the opencv_test_core/OCL_Arithm random segment fault.<o:p></o:p></p>
<p class="MsoNormal">      Change the IVB/HSW's max_work_group_size to 512, and BYT to 256.<o:p></o:p></p>
<p class="MsoNormal">      Add read buffer/image benchmark.<o:p></o:p></p>
<p class="MsoNormal">      SKL: Add skl pci ids and device.<o:p></o:p></p>
<p class="MsoNormal">      SKL: enable skl device.<o:p></o:p></p>
<p class="MsoNormal">      SKL: Use TILE_Y as default TILING mode in skl.<o:p></o:p></p>
<p class="MsoNormal">      SKL: correct the pipe control struct.<o:p></o:p></p>
<p class="MsoNormal">      SKL: Add the function gen9' intel_build_idrt.<o:p></o:p></p>
<p class="MsoNormal">      SKL: add skl select_pipeline and cache_control functions.<o:p></o:p></p>
<p class="MsoNormal">      SKL: Add function intel_gpgpu_bind_image_gen9.<o:p></o:p></p>
<p class="MsoNormal">      SKL: fix skl LD fail.<o:p></o:p></p>
<p class="MsoNormal">      SKL: fix some 3D and 2D array image fail.<o:p></o:p></p>
<p class="MsoNormal">      SKL: fix some failed piglit tests, caused by read constant error.<o:p></o:p></p>
<p class="MsoNormal">      SKL: Fix opencv perf hang.<o:p></o:p></p>
<p class="MsoNormal">      Change the KB and MB define to enum.<o:p></o:p></p>
<p class="MsoNormal">      Use llvm-c's LLVMLinkModules instead of llvm::Linker::LinkModules.<o:p></o:p></p>
<p class="MsoNormal">      Add llvm3.6 build support.<o:p></o:p></p>
<p class="MsoNormal">      Remove useless llvm head file FindUsedTypes.h.<o:p></o:p></p>
<p class="MsoNormal">      Correct the error llvm link msg copy in function genProgramLinkFromLLVM.<o:p></o:p></p>
<p class="MsoNormal">      Fix llvm3.6 build error.<o:p></o:p></p>
<p class="MsoNormal">      BDW: Refine I64HADD and I64RHADD.<o:p></o:p></p>
<p class="MsoNormal">      BDW: Refine unpacked_ud in the gen8_context.cpp.<o:p></o:p></p>
<p class="MsoNormal">      Chv: Add chv backend support.<o:p></o:p></p>
<p class="MsoNormal">      Fix two argument lowering bug.<o:p></o:p></p>
<p class="MsoNormal">      Add Indirect struct argument read support.<o:p></o:p></p>
<p class="MsoNormal">      Add stuct argument indirect load test.<o:p></o:p></p>
<p class="MsoNormal">      CHV: Fix a chv long convert bug.<o:p></o:p></p>
<p class="MsoNormal">      Fix a indirect register bug.<o:p></o:p></p>
<p class="MsoNormal">      Fix a indirect argument load bug.<o:p></o:p></p>
<p class="MsoNormal">      Turn on OCL_STRICT_CONFORMANCE as default.<o:p></o:p></p>
<p class="MsoNormal">      Use NP2 stack size to avoid cache line conflict.<o:p></o:p></p>
<p class="MsoNormal">      Use the Byte Gather after HSW when read byte/shor.<o:p></o:p></p>
<p class="MsoNormal">      Set the loop unroll's threshold to 1024.<o:p></o:p></p>
<p class="MsoNormal">      BDW: override GenContext::patchBranches.<o:p></o:p></p>
<p class="MsoNormal">      Runtime: correct event and the wait events compare when check event.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Yang, Rong (1):<o:p></o:p></p>
<p class="MsoNormal">      Separate flush and invalidate in function intel_gpgpu_pipe_control.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Zhenyu Wang (4):<o:p></o:p></p>
<p class="MsoNormal">      Remove deprecated fulsim code<o:p></o:p></p>
<p class="MsoNormal">      Add aub dump support<o:p></o:p></p>
<p class="MsoNormal">      Use libdrm interface to get device id<o:p></o:p></p>
<p class="MsoNormal">      Remove obsolete MI_FLUSH<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Zhigang Gong (94):<o:p></o:p></p>
<p class="MsoNormal">      Remove patch version on master branch.<o:p></o:p></p>
<p class="MsoNormal">      GBE: disable spill register under simd16 mode.<o:p></o:p></p>
<p class="MsoNormal">      utests: fix work group size issue in compiler_fill_image_2d_array.<o:p></o:p></p>
<p class="MsoNormal">      utests: fix a typo in test cases.<o:p></o:p></p>
<p class="MsoNormal">      GBE: don't split instruction for some special case.<o:p></o:p></p>
<p class="MsoNormal">      utests: reduce work group size to 256 to satisfy BYT platform.<o:p></o:p></p>
<p class="MsoNormal">      utests: fix indent in CMakeLists.txt<o:p></o:p></p>
<p class="MsoNormal">      GBE: Fix bug with negative constant GEP index.<o:p></o:p></p>
<p class="MsoNormal">      utests: Add one case to test negative index array access.<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix a regression caused by the negative index handling patch.<o:p></o:p></p>
<p class="MsoNormal">      GBE: optimize GEP constant offset calculation.<o:p></o:p></p>
<p class="MsoNormal">      GBE: remove useless code.<o:p></o:p></p>
<p class="MsoNormal">      GBE: eliminate duplicate GEP handling logic.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Add constant pointer in the memcpy intrinsic.<o:p></o:p></p>
<p class="MsoNormal">      CL: Don't find mesa source code.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Add some missing constant expression cases.<o:p></o:p></p>
<p class="MsoNormal">      Update optimization tips.<o:p></o:p></p>
<p class="MsoNormal">      GBE: don't always treat a multiple destination instruction as root.<o:p></o:p></p>
<p class="MsoNormal">      Refactor all image builtin functions.<o:p></o:p></p>
<p class="MsoNormal">      GBE: switch to use CLANG native image types.<o:p></o:p></p>
<p class="MsoNormal">      GBE: switch to CLANG native sampler_t.<o:p></o:p></p>
<p class="MsoNormal">      GBE: remove some image1d_buffer related builtin functions.<o:p></o:p></p>
<p class="MsoNormal">      GBE/CL: use 2D image to implement large image1D_buffer.<o:p></o:p></p>
<p class="MsoNormal">      GBE: code cleanup.<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix an image regression.<o:p></o:p></p>
<p class="MsoNormal">      GBE: use sr0.1's SLM Offset to eliminate the software SLM offset for HSW.<o:p></o:p></p>
<p class="MsoNormal">      GBE: remove software maintained SLM offset related code.<o:p></o:p></p>
<p class="MsoNormal">      utests: reduce test count.<o:p></o:p></p>
<p class="MsoNormal">      runtime: tweak max memory allocation size.<o:p></o:p></p>
<p class="MsoNormal">      runtime: fix max work group size for IVBGT1.<o:p></o:p></p>
<p class="MsoNormal">      Don't check some edge condtion in non-strict mode.<o:p></o:p></p>
<p class="MsoNormal">      CL/Driver: enable atomics in L3 for HSW.<o:p></o:p></p>
<p class="MsoNormal">      CL/Driver: quick fix regression caused by remove MI_FLUSH.<o:p></o:p></p>
<p class="MsoNormal">      utests: skip one test when it fail to open XDisplay.<o:p></o:p></p>
<p class="MsoNormal">      CL/Driver/HSW: Convert L3 cycle for texture to uncachable.<o:p></o:p></p>
<p class="MsoNormal">      update document.<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix an ACC register related instruction scheduling bug<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix popcount bugs.<o:p></o:p></p>
<p class="MsoNormal">      GBE: add GEN_TYPE_HF to getTypeSize.<o:p></o:p></p>
<p class="MsoNormal">      Add submodule libva for examples.<o:p></o:p></p>
<p class="MsoNormal">      update document.<o:p></o:p></p>
<p class="MsoNormal">      Remove useless old legalize related files.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Need to check invalid register to determine the actual src num.<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix the hacky usage of invalid register.<o:p></o:p></p>
<p class="MsoNormal">      runtime: fix a potential null pointer dereference.<o:p></o:p></p>
<p class="MsoNormal">      runtime: don't free the host_ptr for a subbuffer.<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix build error for llvm 3.6.<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix build error for LLVM 3.4/3.3.<o:p></o:p></p>
<p class="MsoNormal">      build: use @BEIGNET_INSTALL_DIR@ for the icd file.<o:p></o:p></p>
<p class="MsoNormal">      GBE: expand constant expressions in constant vector<o:p></o:p></p>
<p class="MsoNormal">      GBE: remove constant expression handling code in gen writer pass.<o:p></o:p></p>
<p class="MsoNormal">      GBE: remove the unecessary type check for SEL instructio.<o:p></o:p></p>
<p class="MsoNormal">      GBE: support compare two bool variables.<o:p></o:p></p>
<p class="MsoNormal">      GBE: add fastcall support.<o:p></o:p></p>
<p class="MsoNormal">      Build: use -Bsymbolic to fix conflicts with other LLVM users.<o:p></o:p></p>
<p class="MsoNormal">      GBE: add a new incompatible compile option -cl-finite-math-only.<o:p></o:p></p>
<p class="MsoNormal">      Revert "libocl: using mad() to implement dot()"<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix an image related bugs.<o:p></o:p></p>
<p class="MsoNormal">      Build: set 3.5 as the stable LLVM version for beignet.<o:p></o:p></p>
<p class="MsoNormal">      Docs: update team information.<o:p></o:p></p>
<p class="MsoNormal">      Bump to 1.1<o:p></o:p></p>
<p class="MsoNormal">      runtime: fix a conformance bug in cl_get_kernel_arg_info.<o:p></o:p></p>
<p class="MsoNormal">      Build: fix the beignet icd name when CMAKE_INSTALL_FULL_LIBDIR is undefined.<o:p></o:p></p>
<p class="MsoNormal">      update document.<o:p></o:p></p>
<p class="MsoNormal">      GBE: correct some temporary virtual register's simdWidth.<o:p></o:p></p>
<p class="MsoNormal">      GBE: avoid to use the GenRegister::xxxgrf(simdWidth,xxx).<o:p></o:p></p>
<p class="MsoNormal">      runtime: Enhance the error handling when flush gpgpu command queue.<o:p></o:p></p>
<p class="MsoNormal">      strip unsupported attributes and calling conventions.<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix safe type definition.<o:p></o:p></p>
<p class="MsoNormal">      GBE: extend registers/tuples/immediates to 32bit wide.<o:p></o:p></p>
<p class="MsoNormal">      GBE: extend backend label to 32 bit.<o:p></o:p></p>
<p class="MsoNormal">      GBE: don't type cast register/labelindex to integer.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Extend front label ip to 32 bit on demand.<o:p></o:p></p>
<p class="MsoNormal">      GBE: Use actual bti information to determine a pointer's addressspace.<o:p></o:p></p>
<p class="MsoNormal">      GBE: refine error handling for private libva buffer sharing extension.<o:p></o:p></p>
<p class="MsoNormal">      GBE: correct the instruction replacement logic in scalarize pass.<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix an potential assertion in constant expanding pass.<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix a bug in byte scatter write.<o:p></o:p></p>
<p class="MsoNormal">      runtime: don't try to open nonexistent render nodes or device files.<o:p></o:p></p>
<p class="MsoNormal">      utests: don't continue to run any case when fail to initialize device.<o:p></o:p></p>
<p class="MsoNormal">      Doc: add a command to install dependencies.<o:p></o:p></p>
<p class="MsoNormal">      GBE: should initialize useDWLabel to false by default.<o:p></o:p></p>
<p class="MsoNormal">      Doc: update cmd parser issue for HSW platforms.<o:p></o:p></p>
<p class="MsoNormal">      Doc: update known issue for the store/load pointer issue.<o:p></o:p></p>
<p class="MsoNormal">      Revert "CL/Driver: enable atomics in L3 for HSW."<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix LOD initialization for typed write instruction.<o:p></o:p></p>
<p class="MsoNormal">      Remove some LGPL incompatible code.<o:p></o:p></p>
<p class="MsoNormal">      build: use EXECUTE_PROCESS to replace the deprecated EXEC_PROGRAM.<o:p></o:p></p>
<p class="MsoNormal">      GBE: fix one potential register spilling bug.<o:p></o:p></p>
<p class="MsoNormal">      runtime: Need to separate atomic in L3 test and SLM test in self_test().<o:p></o:p></p>
<p class="MsoNormal">      Fixed a thread safe bug.<o:p></o:p></p>
<p class="MsoNormal">      Need to check eventWaitList in clEnqueueNDRangeKernel.<o:p></o:p></p>
<p class="MsoNormal">      runtime: fix a builtin-kernel related thread safe bug.<o:p></o:p></p>
<p class="MsoNormal">      Remove deprecated function cl_context_get_static_kernel().<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Zhu Bingbing (2):<o:p></o:p></p>
<p class="MsoNormal">      change the utest summary code<o:p></o:p></p>
<p class="MsoNormal">      add builtin function atan2pi and ldexp<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">--<o:p></o:p></p>
<p class="MsoNormal">Thanks<o:p></o:p></p>
</div>
</body>
</html>