Skip to content

Releases: intel/intel-graphics-compiler

igc-1.0.10200

18 Feb 12:54
Compare
Choose a tag to compare

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.

igc-1.0.10183...igc-1.0.10200

Dependencies revisions

Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.

igc-1.0.10183

09 Feb 17:29
Compare
Choose a tag to compare

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.

igc-1.0.9933...igc-1.0.10183

Dependencies revisions

Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.

igc-1.0.9933

03 Jan 15:52
Compare
Choose a tag to compare

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

Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.

igc-1.0.9636

22 Dec 13:24
Compare
Choose a tag to compare

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

igc-1.0.9441...igc-1.0.9636

Dependencies revisions

Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.

igc-1.0.9441

02 Dec 13:37
Compare
Choose a tag to compare

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.

igc-1.0.9389...igc-1.0.9441

Dependencies revisions

Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.

igc-1.0.9389

23 Nov 16:12
Compare
Choose a tag to compare

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

Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.

igc-1.0.9289

23 Nov 12:11
Compare
Choose a tag to compare

Fixed Issues / Improvements

  • Implement support for KHR SPV-IR for select functions from OpenCL Extended Instruction Set
  • Automatic detection of SPMD, ESIMD and SPMD+ESIMD SPIR-V modules
  • Implement support for KHR SPV-IR for native math functions from OpenCL Extended Instruction Set
  • ZEBinary: Split const buffer into two, one for general consts, one for strings
  • Support for SPV_INTEL_group_instructions extension
  • Support relocations inside const/global sections
  • Implement support for KHR SPV-IR for math_ext functions from OpenCL Extended Instruction Set
  • Implement KHR SPV-IR support for OpSMulExtended and OpUMulExtended
  • Automatic detection of SPMD, ESIMD and SPMD+ESIMD SPIR-V modules
  • Implement support for KHR SPV-IR for integer math functions from OpenCL Extended Instruction Set
  • ZEBIN: Support emitting .visaasm section if the corresponding field in program output is set.
  • Implement support for KHR SPV-IR for half math functions from OpenCL Extended Instruction Set
  • Implement support for KHR SPV-IR for geometric math functions from OpenCL Extended Instruction Set
  • Implement support for KHR SPV-IR for GenericCastToPtrExplicit and GenericPtrMemSemantics
  • Implement support for KHR SPV-IR for opcodes operating on OpTypePipe and OpTypeReserveId
  • Make FunctionControl and SelectiveFunctionControl compatible with each other
  • Selectively set FunctionControl for functions subset
  • Implement support for KHR SPV-IR for common math functions from OpenCL Extended Instruction Set
  • No LUT log() implementation for double.
  • Implement support for KHR SPV-IR for shuffle2 from Extended Instruction Set
  • Implement support for KHR SPV-IR for opcodes operating on OpTypeEvent
  • Implement support for KHR SPV-IR for s_min and u_min from OpenCL Extended Instruction Set
  • Implement support for KHR SPV-IR for prefetch function from OpenCL Extended Instruction Set
  • Implement support for KHR SPV-IR for opcodes operating on OpTypePipe and OpTypeReserveId
  • Implement support for KHR SPV-IR for shuffle and shuffle2 from Extended Instruction Set
  • Implement support for KHR SPV-IR for opcodes operating on OpTypeDeviceEvent and OpTypeQueue
  • Change the Spill Threshold for SLM heuristic for better SIMD selection
  • New VISA_BUILDER_API for user to query the generated .visaasm string.
  • Add mapping for DWARF language codes to SourceLanguage
  • Separate SymbolTable and RelocTable generation for patch token and ZEBinary
  • Allowing to combine canonicalization and saturation
  • Parametrize handling of 2d images in runtime info
  • Promote Arg/Ret to virtual variables for eliminations after subroutine call conversion
  • Improve decoding of constant composites
  • Move replacement of 2d image type to OCL runtime info
  • Implement support for KHR SPV-IR for OpBuildNDRage
  • Support Unordered SPIR-V builtin in VC
  • Implement popcnt and czt via BiFs in VC
  • Allow implicit arg usage in subroutine to load from buffer
  • Update to make CreateVISALabelVar always return a fresh label.
  • Implement SPIR-V globals via BIFs in VC
  • Implement support for KHR SPV-IR for image query opcodes
  • Enabling LTO for stage compilation
  • Enable preemption for VC path on SKL+
  • Implement support for KHR SPV-IR for OpImageRead and OpImageWrite opcodes
  • Minimize chances of spilling unaligned scalars. Spilling unaligned scalars may not benefit register pressure, and in fact could cause avalanche effect on spills.
  • Change data type of mask to an STL type for protection from memory overruns.
  • Replace known workgroup size after inlining
  • Move VCPassManager to VCSupport library
  • Enable URBPartialWrites pass by default
  • Variables marked as live-in should be treated as input variables.
  • Add bundle conflict for none-dpas three source instructions
  • Add new vISA opcode "add3o" for ternary add with overflow condition modifier.
  • Add new implicit args intrinsics support
  • Check to Avoid Load merge for negative addresses.
  • Add bundle conflict for three source instructions
  • Deduce general operand instead of indirect in inline assembly if indirection doesn't exist
  • Allowing to combine canonicalization and saturation
  • Enable URBPartialWrites pass by default
  • Change the default ArgKind in CMABI pass
  • Support Ordered SPIR-V builtin in VC
  • Implement support for KHR SPV-IR for SPV_INTEL_subgroups opcodes
  • Improve of mapping instr to func in IGCMetric
  • Disallow aligned scalar split if variable is used as send dst.

Dependencies revisions

Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.

Full Changelog: igc-1.0.8744...igc-1.0.9289

igc-1.0.8744

28 Sep 15:42
Compare
Choose a tag to compare

Fixed Issues / Improvements

  • Initial implementation of INTEL Joint Matrix SPIR-V extension,
  • Fix cross-compiling elf_packager,
  • LLVM 13 build fixes,
  • Continued work on DIModule SPIRV extension,
  • Extend VC dumps with the debug info diagnostics,
  • Other fixes and improvements.

Dependencies revisions

Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.

igc-1.0.8708

20 Sep 18:59
Compare
Choose a tag to compare

Fixed Issues / Improvements

  • Switch to LLVM11.1.0
  • Part fix for buildbreak on LLVM12
  • Part fix for buildbreak on LLVM13
  • Fix for excessive stateless allocations
  • Simplify extraction of DISubprogram node
  • Support funnel shift intrinsics
  • Enable madw use in i64 mul emulator.
  • Forcing SIMD16 when there are too many memory access instructions
  • Support for cl_khr_integer_dot_product
  • Formatting fixes in DWARF emitters
  • Other minor fixes and improvements.

igc-1.0.8517...igc-1.0.8708

Dependencies revisions

Ubuntu 18.04 binary packages for LLVM11/Clang11 are included.

igc-1.0.8517

01 Sep 07:15
Compare
Choose a tag to compare

Fixed Issues / Improvements

  • Fix compile output dumping when recompilation happens
  • simplify extraction of DISubprogram nodes
  • Apply WA on flag spill
  • regsiter allocation support for NoMask WA
  • Enable madw use in i64 mul emulator
  • Fix the madw issue if the dst is not GRF-aligned or the stride is not 1.
  • Enabling CustomPasses for OpenCL
  • Calculate correct sub-reg offset for spilled destination when preload is skipped.
  • Add missing check on argument type.
  • Add support for FNeg instruction uniform analysis
  • Prepare VCBE to handle standalone stack calls
  • Parsing Options for internal options
  • Add diagnostics to GenXLegalization
  • Insert extra mov to avoid immediate source for BF_CVT instruction
  • Change passing -debug option to finalizer
  • Add diagnostics to GenXLegalization
  • Refactor SPIRV builtins related to SPV_INTEL_subgroups extension
  • Mark payload live-outs as busy for gtpin.
  • Remove unecessary DebugFlag enum values
  • Add PatternMatch support for FNeg instruction
  • Mark setup inputs as PayloadLiveOut to avoid GTPin's issue
  • Fix arguments kind rewriting in bindless promotion
  • Enable optimization to skip redundant fill in RMW.
  • Convert URB partial writes to full-mask writes
  • Fix the src/dst regioning issue in emitSimdMediaBlockWrite().
  • Autogenerate getTranslatedBuiltinOperands in CMCL
  • Autogenerate getTranslatedBuiltinType in CMCL
  • Add an assertion in GenXAggregatePseudoLowering
  • Emit error for externs unresolved during lining
  • Autogenerate IntrinsicForBuiltin array in CMCL
  • Remove strinstream usage causing memory freeing issues
  • Add support for LLVM 12 in Vector Compiler
  • Support plain samplers for ze binary
  • Fix predicate commonning in GenXCategory
  • Add option for scheduling control
  • Apply WA on flag spill
  • Autogenerate BuiltinCallHandlers array in CMCL.
  • Fix use-after-free in GenXSimdCFConformance
  • Fix non-deterministic processing in GenXCisaBuilder
  • Fix calculation of type size for function pointers
  • Mark payload live-outs as busy for gtpin.
  • Allow mid-thread pre-emption even when stack calls are used.
  • Preserve memory ordering in GenXBaling
  • Fix FixInvalidFuncName pass
  • Adding numWorkgroupUsed
  • ZEBIN ELF spec update.
  • Support plain samplers for OCL binary
  • Treat all memory-related operations as high-cost in baling
  • Refactor CMCL builtin return type definition

Dependencies revisions

Ubuntu 18.04 binary packages for LLVM10/Clang10 are included.


Update 2021-09-06 07:45 UTC: Packages uploaded at the original time of release have broken version number (1629709536). Please use newely uploaded packages with version number 8517.

Update 2021-11-17 19:57 UTC: Package with broken version number (1629709536) removed.