The format is based on Keep a Changelog.
2025.0 2024-10-22
- Added glibc_wrap to provide Linux OS backwards compatibility (#362)
- Update aocl_mmd.h version to 2024.2 (#342)
- Set default values for kernel image static part and skip CSR write if no change (#349)
- Update kernel invocation image debug print (#349)
- Use a RAII approach for linux signal blocking (#363)
- Remove runtime unit test dependency on aoc (#368)
- Update loaded_bin if the same binary is wrapped with different cl_program (#351)
- Fix USM mem blocking free corruption (#360)
- Use mutex to ensure segment update and CRA read/write happens atomically (#363)
- Return the global memory with enough capacity as default mem_id (#361)
- Handle printf format as the last item in the format string (#372)
- Refactor queue submission to resolve a hang (#379)
- Various Coverity fixes (#380)
- Remove hardcoded paths being built into libraries (#375)
2024.2 - 2024-06-14
- Support arbitary Buffer Location for accessor (#343).
- Informally support atomic fence capability device query (#345).
- Use c++ constructs to replace malloc calls in
acl_kernel_if
(#325). - Various Runtime code clean up (#334, #335).
- Update Thread Sanitizer to use Ubuntu 22.04 (#339).
- Prerequisite changes for getting rid of simulation environment variable (#341).
- Correct CSR pipe behaviour when StallFree is used (#340).
2024.1 - 2024-02-20
- Add support for hostpipe sideband signals (#323).
- Update clGetDeviceInfo to follow OpenCL 1.2 spec (#317).
- Update invocation image debug prints (#318).
- Delay erasing context from contexts_set during
acl_idle_update
(#322). - Only write changing parts of kernel arguments to kernel CRA (#324).
- Pass information on whether a streaming kernel has CRA arguments to MMD (#330).
- Remove simulator device from offline devices (#319).
- Resolves hang when the device op queue gets full and no more commands can be submitted (568569a).
- Fix CSR pipe write handshaking (#326).
2024.0 - 2023-10-24
- Device global dedicated interface Runtime changes (#295).
- Introduce
ACL_CONTEXT_CALLBACK_DEBUG
env variable to logacl_context_callback
function (#300). - Added Fuzz Testing in the repo (#298).
- Support AVALON_MM CSR hostpipe (#304).
- Relax hostpipe assertion to allow non-byte aligned data type to pass (#306).
- Clean up runtime code for simulation preprogram autodiscovery string load (#308).
- Coverity fixes for
pkg_editor_test.cpp
(#291). - Fix
TAINTED_SCALAR
Coverity issues forpkg_editor.c
(#277). - Created a workaround for host pipe atomic hang issue (#301).
- Coverity fixes for
acl_hal_mmd.cpp
that cloes opened mmd lib properly. (#290).
2023.2 - 2023-07-06
- Add
accel_id
parameter tosimulation_streaming_kernel_start()
function (#282). - Support program scope hostpipe and CSR pipe (#284, #288, #289).
- Parse device global address in base 16 (#249).
- Declare dlopen() wrappers as static functions in
acl_hal_mmd
(#280). - Auto discovery change for Device Global (#278).
- Modify USM device allocation information returned by
clGetDeviceInfo
(#286).
- Remove CL_CONTEXT_COMPILER_MODE_SIMULATION_INTELFPGA mode (#244).
- Remove ACL_CONTEXT_MSIM mode (#258).
- Remove trylock + unlock in
acl_reset_condvar()
(#279).
- Add copy constructor & assignment operator to
acl_device_binary_t
(#236). - Remove dead code in
acl_program.cpp
(#237). - Fix
size_t
printf statement to%zu
inacl_offline_hal.cpp
(#238). - Fix Unused value in
acl_auto_configure.cpp
(#222). - Fix Unchecked return value in
acl_globals.cpp
(#231). - Fix dead link to implementation reference in
acl_threadsupport
(#242). - Remove code making lock acquisition order inconsistent in
acl_threadsupport.c
(#243). - Fix various coverity issue in
acl_program
,pkg_editor.c
,acl_event_test.cpp
,acl_device_op_test.cpp
,acl_device_test.cpp
,acl_context_test.cpp
,acl_event_test.cpp
(#228, #247, #254, #255, #256). - Fix Reliance on integer endianness in
acl_kernel_if.cpp
(#226). - Prevent zlib from being dynamically loaded in
pkg_editor.c
(#248, #251). - Fix Deadcode issue in
acl_context_test.cpp
(#253). - Fix various coverity issue in test files (#259, #260, #261, #262, #263, #265, #267, #271, #272, #273 #274, #275).
- Fix kernel id - csr address mapping issue in simulation runtime (#285).
- Fix Resource Leak issue in
acl_hal_mmd.cpp
(#229). - Fix Dereference before null check in
acl_hostch.cpp
(#233). - Fix function pointer conversion issue in
acl_support.cpp
(#239).
2023.1 - 2023-03-23
- Enable new CSR protocol from the compiler with separated start registers (#167, #200).
- Perform a memory copy for simulation buffer with buffer location (#214).
- Implement runtime support for device global with init_mode reprogram (#161).
- Enabled
ACL_SUPPORT_DOUBLE
to supportcl_khr_fp64
(#230).
- Refactor runtime multi-threading/synchronization support (#152).
- Skip CSR version check when cra_ring_root doesn't exist (#195).
- Fix integer conversion warning in
acl_hash.cpp
,acl_hash_test.cpp
andacl_threadsupport.cpp
(#199, #201). - Fix warnings in unit test BSP (#204).
- Fix coverity issue,
AUTO_CAUSES_COPY
, inacl_usm.cpp
andacl_context.cpp
(#218, #223). - Fix wrong printf formatter and uninitialized scalar variable issue in
acl_kernel.cpp
andacl_pll.cpp
(#221, #224). - Fix
NEGATIVE_RETURNS
Coverity issue inacl_device.cpp
(#225). - Fix printf formatter issue in
acl_kernel_if.cpp
(#220). - Cache context offline device setting specified by environment variables (#235)
- Resolve multiple memory leaks and stack buffer overflow in the
pkg_editor
library andpkg_editor_test
(#190, #191). - Fix undefined behaviour in acl_profiler_test (#196, #197).
- Enable address sanitizer to catch memory safety issues (#118).
- Check for null pointer before dereference in
acl_svm.cpp
,acl_kernel.cpp
andacl_profiler.cpp
(#202, #203, #206). - Unconditionally null-terminate output of
strncpy()
in pkg_editor (#215) - Fix various Coverity issues (memory leaks, wrong conditional statetment, dereference after null check ) in
acl_mem.cpp
andacl_mem_test.cpp
(#219).
2023.0 - 2022-12-12
- Resolve multiple memory leaks and stack buffer overflow (#154).
2022.3 - 2022-10-28
- Support
CL_MEM_ALLOC_BUFFER_LOCATION_INTEL
property (#34, #46, #88). - Support early print buffer flushing in debug mode (#61).
- Document how buffers are managed in the runtime (#81).
- Add
cl_intel_unified_shared_memory
to supported extensions (#94). - Parse
device_global
memory definitions from auto-discovery string (#100, #110). - Enable macro
MEM_DEBUG_MSG
in debug mode (#106). - Print warning when kernel argument has multiple
buffer_location
attributes (#109). - Support streaming kernels (#103, #108, #114, #115, #142, #145, #146, #153, #158).
- Document purpose of FPGA Runtime for OpenCL (#102).
- Support Ubuntu 22.04 LTS (#112, #113, #182).
- Document phase-locked-loop settings (#131).
- Support
buffer_location
for shared/host USM allocations (#141, #149). - Read environment variable
INTELFPGA_SIM_DEVICE_SPEC_DIR
(#156). - Document issue where multiple runtime libraries get linked (#166).
- Update Khronos OpenCL headers (#62, #67, #68).
- Support Rocky Linux 8 since CentOS 8 was discontinued (#72, #73).
- Require C++17 compiler support (#75).
- Load
libz.so.1
alongsidelibz.so
on Linux (#69). - USM device allocations when simulating multiple global memories (#104).
- Consistently enable verbose output for all tests (#121).
- Inaccessible links to MMD functions in documentation (#128).
- Compile with hardening flags (#48).
- Add CMake flag
ACL_TSAN
to build with thread sanitizer (#63, #76). - Fix data races detected by thread sanitizer (#74, #89).
- Fix compiler warnings (#77, #83, #84, #86, #87).
- Update zlib to 1.2.13 on Windows (#169).
2022.2 - 2022-04-01
- Document running unit tests individually (#35).
- Document internal use of pre-C++11 standard library ABI (#31, #39).
- Document recommended settings for forked repository (#44).
- Implement OpenCL Core 3.0 clCreateBufferWithProperties (#53).
- Document running clang-format (#60).
- Document git identity setup (#70).
- Simulation of systems with multiple global memories (#29).
- Explicitly require C++11 compiler support (#47).
- Link failure with
-Wl,--no-undefined
(#49).
- Check for null pointer before dereference (#42, #43).
- Update Windows installation script for zlib to 1.2.12 (#96).
2022.1 - 2021-12-01
- Initial public release.