
*********************
*** RELEASE NOTES ***
*********************
This file provides the current Release Notes (starting with Intel(R) GTPin version 3.0).

Contact Information
===================
For support and reporting issues:
Write to gtpin_team@intel.com

GTPin official website:
https://www.intel.com/content/www/us/en/developer/articles/tool/gtpin.html

System Requirements
===================
Supported Interfaces:
> OpenCL
> One API (Level-Zero)
> DirectX 11
> DirectX 12 (including DXR)
> Vulkan

Supported GPUs:
> Intel(R) processors with 12th generation of Intel(R) UHD Graphics or Intel(R) Iris(R) Xe Graphics (formerly Tiger Lake) or newer.
> Intel(R) Iris(R) Xe Graphics and Intel(R) Arc discrete devices.
> Intel(R) Iris(R) Xe-HPC Graphics and Intel(R) Arc discrete devices.

Supported Operating Systems:
> Microsoft(R) Windows 10, Windows 11 (32bit, 64bit)
> Linux (64bit)

Supported Drivers:
> You must have the latest drivers.
  Request drivers from Intel Support or download them from the link:
  https://www.intel.com/content/www/us/en/support/products/80939/graphics.html

Additional Requirements:
> GTPin on Linux requires c++ runtime(libstdc++) version > 6.0.26, you can use the c++ runtime
  within GTPin package at Lib/intel64 by setting LD_LIBRARY_PATH

**************************
***  FULL CHANGE LOG   ***
**************************
New Features - GTPin 4.7
===========================
GTPin: Added support for Wildcat Lake (WCL)
GTPin: GTPin injector integrated with Pin-4 kit
GTPin: Feature - Enhanced rt_trace iterative shader calls sequence per ray with Dispatch Ray Index
GTPin Tools: Added HLI Skeleton example tool demonstrating basic HLIF instrumentation
GTPin Tools: Example tools compilation moved to CXX 17
GTPin: Bug fixes and internal improvements





New Features - GTPin 4.6
===========================
GTPin: Added support for Panther Lake (PTL)
GTPin: New feature - Added support for D3D OnPresent event: track frames and filter profiling by frame ID
GTPin: New feature - L0 API tracing log
GTPin Tools: Added rt_trace tool for tracing iterative shader invocations in RT workloads
GTPin Tools: HLIF cachelineprof tool: added mode 5 - memory race detection (detecting memory races from different threads)
GTPin: Bug fixes and internal improvements

New Features - GTPin 4.5
===========================
GTPin Tools: New HLIF cachelineprof tool:
- mode 1 (default) - collects histograms of a number of cachelines accessed by each SEND instruction
- mode 2           - collects a bitvector of all addresses accessed by kernel
- mode 3           - direct mapped cache model
- mode 4           - access analysis (RaR, RaW, WaR, WaW)
GTPin: New feature - filter enqueue by range and kernel name
GTPin: Bug fixes and internal improvements

New Features - GTPin 4.4.1
===========================
GTPin: Bug fixes 
	
New Features - GTPin 4.4
===========================
GTPin Tools: HLIF OOB analysis tool for detecting out-of-bounds memory for L0 kernels
GTPin Tools: HLIF Memory check tool for detecting uninitialized memory read accesses
GTPin: New feature - Conditional instrumentation: given a procedure and virtual register that stores the value of the predicate, going over each instruction, and add the predicate to the instruction
GTPin: New feature - Edge instrumentation: given a procedure to attach to an edge (srcBbl, dstBbl), add the procedure to the dstBbl of the edge
GTPin: New feature - Added error handling events to D3D engine
GTPin: New feature - Added support for D3D multiple devices
GTPin: Bug fixes and internal improvements
	
New Features - GTPin 4.3
===========================
GTPin: New APIs to store send instruction Payload Addresses
GTPin Tools: WIN11 24H2 support
GTPin: Bug fixes and internal improvements

New Features - GTPin 4.2.1
===========================
GTPin: New feature: new HLIF tool - bounds_check, detection of OOB violations in L0
GTPin: Bug fixes and internal improvements

New Features - GTPin 4.2
===========================
GTPin: BMG/LNL support
GTPin: Extended the kernel execution descriptor (GtKernelExecDesc) with L0/OCL runtime information (kernel handles, module handles, etc.) .
GTPin: New APIs to query descriptors and values of kernel payload arguments; added to IGtKernel and IGtKernelDispatch interfaces.
GTPin: New APIs that provide information about memory resources available to the kernel: global buffers, SLM and Scratch spaces; added to the IGtKernelDispatch interface.
GTPin: Bug fixes and internal improvements
	
New Features - GTPin 4.1
===========================
GTPin: New feature: Funlatency tool - measurement of cycles, frequency and percentage of time for each function.
GTReplay: DPAS instruction emulation
GTPin & GTReplay: Bug fixes and internal improvements

New Features - GTPin 4.0
===========================
GTPin: New feature: High Level Instrumentation Interface (HLIF) is an integral part of the GTPin API that allows 
       instrumenting kernels with functions, written in a high-level language, like OpenCL C.
GTPin: Added support for clCloneKernel OpenCL API
GTPin: Fixed support for GROMACS and Blender applications
GTPin: Stopped support 9th-11th generation of Intel(R) HD Graphics
GTPin: Bug fixes and internal improvements

New Features - GTPin 3.7
===========================
GTPin: Bug fixes and internal improvements

New Features - GTPin 3.6.1
===========================
GTPin: Bug fixes
	
New Features - GTPin 3.6
===========================
GTPin: Added support for L0 Immediate Command Lists
GTPin: Expose BDF (Bus Device Function) for OCL/L0 devices
GTPin & GTReplay: Bug fixes and internal improvements

New Features - GTPin 3.5.1
===========================
GTPin: Fixed error in the compilation of API headers with STLport

New Features - GTPin 3.5
==========================
GTPin: Removed old C-style interface
GTPin: Added event handling mechanism and complement API for notifications
GTPin: Added support for Mesh Shaders (MS) and Task Shaders (TS)
GTPin: Added new API IGtKernelInstrument::RemoveInstruction
GTPin & GTReplay: Bug fixes and internal improvements

New Features - GTPin 3.4
==========================
GTReplay: Added emulation of BFREV and BFE
GTPin: Added more atomic instructions to the IGtInsFactory interface
GTPin: Fixed a bug related to GTPin's scratch area offset calculation
GTPin & GTReplay: Bug fixes and internal improvements

New Features - GTPin 3.3
==========================
GTPin: Added support for Ray-Tracing (DXR) continuation shaders
GTPin: Added 2 new knobs for filtering Ray-Tracing shaders: --rt_primary_only, --rt_continuation_only
GTPin: Introduced new knobs for selecting specific range of BBLs or instructions to be profiled:
       --min_instrument_bbl, --max_instrument_bbl, --min_instrument_ins, --max_instrument_ins
GTPin: Bug fixes and internal improvements

New Features - GTPin 3.2.2
==========================
GTPin: Bug fixes

New Features - GTPin 3.2.1
==========================
GTPin: Bug fixes

New Features - GTPin 3.2
==========================
GTPin & GTReplay: Added support for Intel(R) Iris(R) Xe-HPC Graphics
GTPin: Added "subname" option for filtering kernels using a given substring

New Features - GTPin 3.1
==========================
GTPin: added Tile ID support (see usage example in Funtime sample)
GTPin: added support for Level-Zero version 1.4
GTPin: changed Level-Zero-ELF output files to resemble OpenCL-ELF format
GTPin: added support for libc 2.34 (dlopen, dlsym and dlerror symbols moved from libdl.so to libc.so)

New Features - GTPin 3.0
==========================
GTPin: moved to new tool API (Low-Level Interface). Note: Old API will be deprecated starting Q3.2022.
GTPin: added support for Intel(R) Arc devices.
GTPin: added support for coexisting DX11 and DX12 drivers
GTPin: added support for function calls in Level-Zero interface.
GTPin: added support for multi-device in Level-Zero interface.
GTReplay: added support for Intel(R) Arc devices

