Releases: intel/intel-graphics-compiler
igc-1.0.10778
Fixed Issues / Improvements
- Add type to Parameter Attributes which change in LLVM12
- Fixed wrong execLaneMask when execSize is 32
- Utils to create read/write_variable_region
- Change max ARG and RET size
- Process unrolling threshold in VC
- IGC Stackcall Spec Changes
- Add support of RuntimeValue vectors: RuntimeValueLegalizationPass adjustment
- Move IndexFlattener to GenX Utils library
- Add offset to load coordinates
- Update IGC metrics output format
- Fix the bug to use LSC for spill/fill in linear scan RA
- Fix dst decl of sqrt translation
- Local atomic fmin, fmax were rewritten for performance increase
- Fix clobbered R0 in the payload section
Dependencies revisions
Project | Branch | Revision |
---|---|---|
opencl-clang | ocl-open-110 |
1815034e3 |
SPIRV-LLVM-Translator | llvm_release_110 |
99420daab |
SPIRV-Tools | master |
sdk-1.3.204.1 |
SPIRV-Headers | master |
sdk-1.3.204.1 |
vc-intrinsics | master |
v0.1.0 |
LLVM project | release/11.x |
llvmorg-11.1.0 |
Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.
igc-1.0.10713
Fixed Issues / Improvements
- Added support of RuntimeValue vectors: RuntimeValueLegalizationPass adjustment,
- vISA LocalScheduler: add 6-instructions-latency to WAR dependency to a send,
- LSC spill/fill support in linear scan RA,
- Adding Raytracing support,
- Refactored and update typed atomic implementation,
- Adding more OpenCL builtins extensions,
- Fixed a bug in indirect spill/fill,
- Introduced
CCLANG_INSTALL_PREBUILDS_DIR
option, - Introduced env flag and internal option for loop unroll threshold in VC,
- Fixed debug print for empty locations,
- Deprecated the uses of vISA::numEltPerGRF APIs in DebugInfo,
- Added support of RuntimeValue vectors: correct size for payload calculation,
- Added SPIRV-Tools prebuild support,
- Local atomic fetch_add was rewritten for performance increase,
- Added support for SPIR-V ceil, floor and trunc,
- Fixing finding LLVM directory when compiling LLVM prebuild,
- Added intrinsics for reading/writing to vISA variables,
- Added support for
@llvm.abs
, @llvm.stacksave
support fix,- Updated Github Actions IGC build types,
- IGA: GED update to 0.105,
- Other minor fixes and improvements.
Dependencies revisions
Project | Branch | Revision |
---|---|---|
opencl-clang | ocl-open-110 |
1815034e3 |
SPIRV-LLVM-Translator | llvm_release_110 |
99420daab |
SPIRV-Tools | master |
sdk-1.3.204.1 |
SPIRV-Headers | master |
sdk-1.3.204.1 |
vc-intrinsics | master |
v0.1.0 |
LLVM project | release/11.x |
llvmorg-11.1.0 |
Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.
igc-1.0.10409
Fixed Issues / Improvements
- Replace calls to kernels when looping through a copied collection of users
- Enable abort on spill for linear Scan RA
- Merge uav writes from branches
- Other minor fixes and improvements.
Dependencies revisions
Project | Branch | Revision |
---|---|---|
opencl-clang | ocl-open-110 |
50bf6d75 |
SPIRV-LLVM-Translator | llvm_release_110 |
cf681c88 |
SPIRV-Tools | master |
eeb973f5 |
SPIRV-Headers | master |
ae217c17 |
vc-intrinsics | master |
v0.1.0 |
LLVM project | release/11.x |
llvmorg-11.1.0 |
Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.
igc-1.0.10395
Fixed Issues / Improvements
- Support for cl_intel_bfloat16_conversions.
- Improve Global Address Space resolution.
- Handle vector bitcasts in loads simplification
- Enable _ocl_dbg* variables in -O2 -g.
- Extending indirect stateless buffer promotion.
- Add ability to compile ELF directly to genBinary.
- Add an ability to disable generation of vISA LOC/FILE by VC.
- Support for HostAccessINTEL decoration.
- Support SPV_INTEL_split_barrier and cl_intel_split_work_group_barrier extensions.
- Adding a possibility to set ShaderOverridePath.
- Transform
SPV_INTEL_uniform_group_instructions
intoSPV_KHR_uniform_group_instructions
.
Dependencies revisions
- intel/opencl-clang@50bf6d7
- KhronosGroup/SPIRV-LLVM-Translator@cf681c8 (for opencl-clang)
- KhronosGroup/SPIRV-Tools@eeb973f
- KhronosGroup/SPIRV-Headers@ae217c1
- intel/vc-intrinsics@5066d94
- llvm/[email protected]
Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.
igc-1.0.10200
Fixed Issues / Improvements
- Fix compilation error with GCC 12
- Remove redundant vector CMCL builtins declarations
printf
implementation with high-level interfaces- VC produces debuggable kernels by default
- Support ptrtoint constexpr in GV initializers
- Applied m16 on a0 init
- Moved KernelInfo to GenX Utils library
- Fixed dependencies handling in genx printer
- Added support of SPIRV floating point fma via CMCL in VC
- SGInvoke: fix for WA when DumpToCurrentDir flag is set
- Added PVC specific named barriers handling
- Improve dump of values in pass printer
- Other minor fixes and improvements.
Dependencies revisions
- intel/opencl-clang@16ff905
- KhronosGroup/SPIRV-LLVM-Translator@cf681c8 (for opencl-clang)
- KhronosGroup/SPIRV-Tools@eeb973f
- KhronosGroup/SPIRV-Headers@ae217c1
- intel/vc-intrinsics@d3cef33
- llvm/[email protected]
Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.
igc-1.0.10183
Fixed Issues / Improvements
-
Adding DG2 & PVC intrinscs
-
Adding more DG2 & PVC code
-
Make spill cleanup less aggressive.
-
Correctly handle llvm::Expected in vISA linker
-
Fold bitcasts to rdregion/wrregion by changing region parameters
-
Enable madw use in i64 mul emulator
-
SIP update DG2/XeHP SDV
-
Enable MergeURBReads pass
-
Refactor builtins operating on images and samplers
-
Support abs and fabs instructions
-
Support fp16 type for OpAtomicLoad, OpAtomicStore and OpAtomicExchange
-
Support printf strings in global addrspace
-
Introducing 2d stateless support for LSC
-
Fix PrivateMemoryResolution pass for XeHP and later
-
Create a GenISA intrinsic for native Mad instructions
-
Fixed problem with resolved values caching in JointMatrix resolution pass
-
Other minor fixes and improvements.
Dependencies revisions
- intel/opencl-clang@16ff905
- KhronosGroup/SPIRV-LLVM-Translator@585ca33 (for opencl-clang)
- intel/vc-intrinsics@d3cef33
- llvm/[email protected]
Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.
igc-1.0.9933
Fixed Issues / Improvements
- Tighten legalization rules for EU fusion platforms
- Extend VC shader dumps to include more DebugInfo-related information
- Add runtime symbol "INTEL_PATCH_CROSS_THREAD_OFFSET_OFF_R0" in ZEBIN.
- Add option for disabling extra coalescing in VC backend
- Add symbols of function declarations to ZeBin
- Add EU fusion feature to appropriate targets.
- Add support of SPIRV floating point mad via CMCL in VC
- Add GenXPredRegionLowering pass
- Add debug info support for global variables.
- Add tests for function groups construction
- ZEBinary: add thread_scheduling_mode to execution environment
- ZEBIN: Merge ZEINFO byval payload arguments when possible.
- Add JointMatrixINTEL fill and slicing operations.
- Remove emitting ld_lz when not supported
- Better private memory estimate for indirect calls
- Disable explicit creation of ISCCP by VC
- Support KHR SPIRV Friendly IR for OpBitCount
- IGA: ARF_ACC layout update and better tool help message
- ZEBIN: Set ELF section flags for TEXT/DATA/BSS sections.
- Disable constant coalescing for retry
- Add Alchemist (aka ACM, DG2) & PVC related methods in Platforms.hpp
- ZEBIN: Add source_offset to zeinfo payload argument.
- Update SPV_INTEL_hw_thread_queries to latest version.
- Respect
fp32-correctly-rounded-divide-sqrt
flag when Scalar IGC uses Khronos SPIRV Translator - Support KHR SPIRV Friendly IR for SPV_INTEL_media_block_io
- Add support for exclusion of IR from zebin output
- Temporary switch off preemption for ICLLP due to regressions
- Mark invoke_simd targets with LTO_InvokeOptTarget attribute
- Better private memory estimate for indirect calls
- Expose vISA LTO options to IGC
- do not reserve Sampler with IDX=0 when debuggability is enabled
- Add DirectCallsOnly flag
- Support implicit args buffer in CMImplParam
- Add subtarget info memeber into GenXLoadStoreLowering pass
- Support 32-bit addressing in Load Store Lowering
- Enhance the preRA flag remat to sink trivial flag evaluation.
- ZEBinary: must not generate const/global base implicit arguments
- Address class pattern detected & removed later in IGC pass
- VC should produce debuggable kernels by default
- Detect uniform invoke_simd arguments
- introduce VC controls for codegen optimization level
- extend VC backend controls related to debuggability
- More dumps available for GenXLiveness
- Support printf strings section in zebin
- Support for DPAS sizes in DPC++ joint_matrix for sizes 1, 3, 5, 7.
- sginvoke: pass ESIMD text visa assembly in the input of SPMD compilation
- Introducing DG2 and PVC support for VC
- SWSB: Remove an unused field in SBBucketDesc.
- SWSB: Set the correct LB and RB of ACC footprint on creation.
Full changelog: igc-1.0.9636...igc-1.0.9933
Dependencies revisions
- intel/opencl-clang@e0e388b
- KhronosGroup/SPIRV-LLVM-Translator@dd29a1f (for opencl-clang)
- intel/vc-intrinsics@d3cef33
- llvm/[email protected]
Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.
igc-1.0.9636
Fixed Issues / Improvements
- vISA: Add DG2 and PVC support
- Update SPIRV-LLVM-Translator revision for VC
- Fixup filenames for auxiliary shader dumps produced by VC
- Added SPV_INTEL_hw_thread_queries support
- VC: Generate debug information if exists in IR
- Max stack call private memory usage deduction from callgraph analysis
- vISA: Fixed the dependence issue between new dataport and other send messages in scheduler
- Updated GTpin enums
- Enabled dumping SPIRV before translation to LLVM
- Prevent memory optimization if function has optnone attribute
- Put indirectly called functions to separate section
- Other fixes and improvements
Dependencies revisions
- intel/opencl-clang@9247630
- KhronosGroup/SPIRV-LLVM-Translator@329ab86 (for opencl-clang)
- intel/vc-intrinsics@8ee8793
- KhronosGroup/SPIRV-LLVM-Translator@2a316b13991fb32876d0275d24b472d3789a88fa(for VectorCompiler)
- llvm/[email protected]
Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.
igc-1.0.9441
Fixed Issues / Improvements
- Improve redundant phi elimination
- Fixing uninitialized vISA use
- Populate vISA assembly in zeBinary
- Added first files for DG2 & PVC
- Fix the issue in SWSB dependence reduction for DPAS
- Other minor fixes and improvements.
Dependencies revisions
- intel/opencl-clang@9247630
- KhronosGroup/SPIRV-LLVM-Translator@329ab86 (for opencl-clang)
- intel/vc-intrinsics@8ee8793
- KhronosGroup/SPIRV-LLVM-Translator@db46659 (for VectorCompiler)
- llvm/[email protected]
Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.
igc-1.0.9389
Fixed Issues / Improvements
- Local data flow analysis for AddrExp
- Implement support for KHR SPV-IR for OpEnqueueKernel opcode
- Call SPIRV builtins instead of OCL builtins in spinlock handling
- Enable LowerFma pass for OpenCL
- Visa Linker Driver: leave declaration of ESIMD function inside SPMD module
- BinaryEncodingIGA: Minor refactoring for regName in src creation
- Enforce HW conformity for BF mixed mode
- ZEBinary: Fix gtpin_info section generation
- Store-to-load forwarding for arguments storing on stacks (LTO)
- Don't use relocation for global variables in kernel functions
- Automatic detection of SPMD, ESIMD and SPMD+ESIMD SPIR-V modules
- Bring VC calling conv in line with IGC conv
- Added a patch for LLVM12+IGC debug build.
- Implement support for KHR SPV-IR for select functions from OpenCL Extended Instruction Set
- Introducing internal options to control 64-bit emulation
- Improve symbol relocation compile time
- VC now generates debug information for implicit arguments
- IGC: Remove vector of annotations for global/const buffers
- VC now generates debug info for localized globals
- cmabi should not set alignment when it's not needed
- Add unsinged MAD operation for JointMatrixINTEL.
Full Changelog: igc-1.0.9289...igc-1.0.9389
Dependencies revisions
- intel/opencl-clang@9247630
- KhronosGroup/SPIRV-LLVM-Translator@329ab86 (for opencl-clang)
- intel/vc-intrinsics@2cd5a7b
- KhronosGroup/SPIRV-LLVM-Translator@55278a4 (for VectorCompiler)
- llvm/[email protected]
Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.