Skip to content

Releases: intel/intel-graphics-compiler

igc-1.0.3698

08 Apr 16:52
Compare
Choose a tag to compare

Fixed issues/improvements:

  • IGC now links with LLVM10,
  • Emulation of 64-bit subgroup arithmetic and clustered non-uniform functions for platforms not supporting 64-it type natively,
  • Fixes to cl_khr_subgroup_shuffle_relative and cl_khr_subgroup_clustered_reduce,
  • Skip prefixes when parsing build options,
  • Indirect address access is not allowed when dst is accumulator,
  • Fix for SubgroupLtMask,
  • Using local fences for local atomics,
  • Fix sub_group_shuffle_down for long and double,
  • Fix local block read builtins,
  • Other fixes and improvements.

Ubuntu 18.04 binary packages for LLVM10/Clang10 are included.

igc-1.0.3627

01 Apr 18:14
Compare
Choose a tag to compare

Fixed Issues / Improvements

  • Fixed kernel args iterator that causes compile error.
  • Following llvm style for print and dump function.
  • Fix for derived constants optimization.
  • Fix FNeg intrinsic-function for the vector type.
  • Emulation of 64-bit subgroup arithmetic and clustered non-uniform functions for platforms not supporting 64-bit type natively.
  • SWSB: Ignore sync's dependency.
  • Update GED for compact encoding.
  • Minor fixes and improvements.

Ubuntu 18.04 binary packages for LLVM9/Clang9 are included.

igc-1.0.3586

25 Mar 14:27
Compare
Choose a tag to compare
  • Support for extended subgroup functions.
  • Improve IGCConstProp pass to support constant folding in rounding-mode-specific GenISA intrinsics.
  • Add sat and overflow operation support for add and sub.
  • Fixes realted to cl_khr_fp16 and cl_khr_fp64 types.
  • Introduce inline asm support for SPIRV reader.
  • Handling of splitting of rare regions like r[a0.0]<2,0> correctly.
  • Small CMake path change
  • Refactor IEEE FP32 divide/sqrt macro to avoid hard-coded execution size.
  • Fixing the implementations of FENCE_PRE_OP and FENCE_POST_OP. The OCL’s GPU memory model problem was originally identified and reported by Tyler Sorensen and Jake Kirkham from Princeton University.
  • Add address register initialization on ICL platform.
  • Implement scratch space allocation for CMC thread-private memory.
  • Increase OCL inlining threshold to 4500 to resolve the performance regression reported.
  • And other bug fixes.

Ubuntu 18.04 binary packages for LLVM9/Clang9 are included.

igc-1.0.3529

20 Mar 12:21
Compare
Choose a tag to compare

Changelog

  • Add VF immediate support for divm/sqrtm/pow,
  • Emit scalar atomic load,
  • Fix vISA options printing in the .asm file,
  • Set loop unroll threshold for high register pressure shaders via IGC flag,
  • Control the register pressure threshold used to limit the loop unroll to smaller loops via IGC flag,
  • Support struct type return values for caller/callee,
  • Dumping basic-blocks type by name,
  • Support for cl_khr_subgroup_extended_types,
  • Fixed referencing null iterator when KernelArgs size is 0,
  • Added an ocl internal option -cl-intel-vector-coalesing=<0-5> to control vector coalescing,
  • Fix alignment for MemCpy instructions,
  • Added SPIRV-Tools configuration.

Ubuntu 18.04 binary packages for LLVM9/Clang9 are included.

igc-1.0.3471

13 Mar 07:36
Compare
Choose a tag to compare

Fixed Issues / Improvements

  • Fix for gtpin when stackcall is enabled. rera pass is off, free GRFs are not computed.
  • Add gen11 and gen 12 debug SIPs.
  • Adding new compile time macros.
  • Add a legalization check on scalar byte to half conversion.
  • Minor fixes and improvements.

Ubuntu 18.04 binary packages for LLVM9/Clang9 are included.

igc-1.0.3445

06 Mar 12:05
Compare
Choose a tag to compare
  • Handle the splitting of Vx1
  • Modify spill/fill intrinsics' offset units.
  • Support for hardware native atomic subtract.
  • Add interface with dualsubslice information.
  • Adding a configuration flag for enforcing double precision floating point emulation on unsupported platforms as an experimental feature.
  • Fix live-interval in debug info when trivial RA is run.
  • Fixing regression caused by wrong rounding.
  • Don't do integer mad if thre are more than 1 immediate sources.
  • Avoid splitting an instruction with byte dst into even/odd when one of its sources has vertical stride 32.
  • Cache debug source line information during assembly dump.
  • Fix for subgroup function resolution.
  • Add Induction Variable Elimination pass.
  • Remove redundant goto instructions.

Ubuntu 18.04 binary packages for LLVM9/Clang9 are included.

igc-1.0.3390

26 Feb 10:37
Compare
Choose a tag to compare

Fixed Issues / Improvements

  • Add support for execution mask computation in SIMD32 mode.
  • Add vISA verifier checks for illegal execution size and masks.
  • Add Induction Variable Elimination pass.
  • Minor fixes and improvements.

Ubuntu 18.04 binary packages for LLVM9/Clang9 are included.

igc-1.0.3342

21 Feb 09:56
Compare
Choose a tag to compare

Fixed Issues / Improvements

  • Compiler outputs per-function attributes for function pointer linking support.
  • Multirate shading improvements and fixes.
  • Adding the fix for bailing out the promote pass if loops identified in the phi path while tracing the source buffer from its use.
  • Add spir-v path for local block IO.
  • Override the loop unroll threshold if its set using flags.
  • Constant propagate through Round instruction.
  • Add -fasterRA and -noLocalSplit params if FastVISACompile is true .
  • Improvements to split heuristic.
  • and other smaller fixes.

Ubuntu 18.04 binary packages for LLVM9/Clang9 are included.

igc-1.0.3289

12 Feb 16:20
Compare
Choose a tag to compare

Fixed Issues / Improvements

  • Further changes to code aimed to raise compatibility with upcoming LLVM10 upgrade.
  • Refactor preload checks for spills.
  • Fix SPIRV-Tools project build in multi-configuration cmake generator.
  • Fix an issue with multiplation overhead for unrolling estimation.
  • Add ocl compiler flag "-cl-intel-disable-a64WA" to disable A64 WA.
  • Add option to disable instruction debug information.
  • Remove EnableSCAWA flag as it is no longer needed.
  • Fix ArgumentNumber in PATCH TOKENS for implicit image arguments.
  • Implemented explicit variable split intrinsic. Feature is off by default.
  • Implemented enabling registry keys flags using internal options.
  • Fix related to ShaderOverride functionality

Ubuntu 18.04 binary packages for LLVM9/Clang9 are included.

igc-1.0.3151

21 Jan 13:55
Compare
Choose a tag to compare

Fixed Issues / Improvements

  • Fix for the unrolling limit threshold for cases in which we get large count of integers operation inside of a loop
  • Change the way the compiler reports line information for instructions generated by VISA
  • Add compiler option to force private memory allocation in global memory
  • Implementation of explicit variable split intrinsic
  • Mix mode support for acc substitution
  • Support for multiple SIMD compilation for Function Pointers
  • Add support to emit per thread offsets for gtpin
  • Make support for local block i/o available for Gen11+
  • Fixes for Android compliation
  • Enable dump functions only when available
  • Minor fixes and improvements.

Ubuntu 18.04 binary packages for LLVM9/Clang9 are included.