Releases: amd/aocl
AOCL-BIY 5.3.1 Submodules Release Notes
AOCL Build-It-Yourself (BIY) 5.3.1 — Release Notes
Tag: AOCL-5.3.1-Submodules
Previous release: AOCL-5.3.0-Submodules
Overview
This release builds on AOCL-BIY 5.3.0 by introducing OpenRNG as a new AOCL component submodule with full CMake build integration across all presets, and extending the symbol renaming feature with support for OpenRNG VSL macros and typedefs. The rename pipeline also receives several correctness fixes covering header coexistence, CBLAS enum and LAPACK layout macro renaming, preprocessor-only #define alias handling, and improved C++ symbol coverage for templates, RTTI, and vtables. An ILP64 integer-type correctness fix is applied to the test suite. Licensing documentation has been updated to reflect the 5.3.1 submodule changes.
New Features
- OpenRNG integration: Added OpenRNG as a new AOCL submodule.
- New CMake build module (
aocl_openrng_build.cmake) for building OpenRNG as part of AOCL BIY. - Updated CMake presets (
linux-make,linux-ninja,win-msvc,win-ninja) to include OpenRNG. - Extended symbol renaming support for OpenRNG headers in
rename_symbols.py. - Added test coverage for OpenRNG in the test suite.
- New CMake build module (
Bug Fixes
- Fixed multiple issues in
rename_symbols.py: FLAME.h/mkl_lapack.h coexistence,--so-libsargument parsing, preprocessor-only#definerenaming, CBLAS enum redefinition errors, stdlib symbol exclusion (now runtime-queried), and C++ symbol handling (templates, RTTI, vtables). Fixed ILP64 segfault in test symbols (f77_inttypes). Updated LICENSE/NOTICES to 5.3.1.
AOCL-BIY 5.2.1 Submodules Release
AOCL-BIY 5.2.1 Submodules Release Notes
Overview
This release introduces a major enhancement to AOCL-BIY with dynamic symbol renaming capabilities, enabling multi-version coexistence of AOCL libraries. It also includes important bug fixes, CMake configuration improvements, and updates to AOCL-LibM submodule to version 5.2.1.
Major Features
1. Symbol Renaming Feature
- New capability: Dynamic symbol renaming for AOCL libraries to prevent symbol conflicts when multiple versions coexist
- Custom prefix support: Configure with
AOCL_prefix or custom user-defined prefix - Case-aware renaming: UPPERCASE for Fortran symbols, lowercase for C symbols
- Post-install automation: Integrated CMake hook for automatic symbol renaming after installation
- New files added:
rename_symbols.py(1,122 lines) - Main renaming scriptcommands.txt(224 lines) - Command reference documentationtest/CMakeLists.txt(362 lines) - Testing frameworktest/test_aocl_symbols.c(1,598 lines) - Comprehensive symbol teststest/test_aocl_symbols.h(29 lines) - Test headertest/mix_libraries.F90(98 lines) - Fortran mixed library tests
2. ISA-Specific Optimization Support
- Added
AMD_CONFIGvariable for configuring ISA-specific library optimizations - Enables building libraries optimized for specific AMD processor generations
- Enhanced AOCL-LAPACK and AOCL-LibM build configurations to utilize ISA-specific optimizations
- Added comprehensive documentation in README.md for AMD_CONFIG usage
Build System Improvements
CMake Configuration Enhancements
- Improved CMake defaults for better out-of-box experience
- Added LibMem compatibility checks
- Added
USE_SOURCES_FROM_SUBMODULESoption (default: ON) to control source location for submodules branch - Added
BUILD_CORESvariable for user-configurable parallel build control - Enhanced symbol renaming integration with conditional test building based on
SYMBOL_RENAME_PREFIX
Configuration Fixes
- Naming conflict resolution: Renamed LAPACK's
ENABLE_AOCL_BLAStoENABLE_AOCL_LAPACK_BLAS_COUPLINGto avoid conflicts- Updated in CMakeLists.txt, aocl_libflame_build.cmake, and presets/base.json
- Fixed typos and incorrect changes introduced during merge conflict resolution
- Corrected AOCL-DA build configuration
Bug Fixes
- Build configuration fixes:
- Fixed naming conflict with ENABLE_AOCL_BLAS variable
- Fixed typos in CMakeLists.txt and aocl_libm_build.cmake
- Corrected merge conflict resolution issues
Library Updates
AOCL-LibM
- Updated submodule to version 5.2.1 tag
- Updated submodule to version 5.2 tag (intermediate update)
Documentation Updates
README.md
- Added 211 lines of new documentation covering:
- Symbol renaming feature usage and configuration
- AMD_CONFIG variable for ISA-specific optimizations
- LibMem compatibility information
- Enhanced build instructions
- Test framework documentation
License and Notices
- Updated LICENSE.txt (+1,118 lines changed) for AOCL-5.2.1-Submodules release
- Updated NOTICES.txt (+1,120 lines changed) for AOCL-5.2.1-Submodules release
Testing Framework
New Comprehensive Test Suite
- Dual test executable support: tests for both original and renamed symbols
- Comprehensive C symbol testing (1,598 lines of test code)
- Fortran mixed library testing (98 lines)
- Automatic test building conditioned on SYMBOL_RENAME_PREFIX setting
- Cross-library integration tests
Summary Statistics
- Total files changed: 15
- Total insertions: ~5,811 lines
- Total deletions: ~355 lines
- New test files: 4 files (2,087 lines)
- New feature files: 2 files (1,346 lines)
Acknowledgments
This release is the result of contributions from the AOCL team at AMD, with special recognition for the symbol renaming feature implementation.
Notes
- This release focuses primarily on enabling multi-version AOCL library coexistence through symbol renaming
- Major enhancement for users requiring multiple AOCL versions in the same application
- Improved ISA-specific optimization support for AMD processors
- Comprehensive testing framework ensures renamed symbols work correctly
- AOCL-LibM updated to version 5.2.1
- All configuration conflicts and typos from previous release resolved
For detailed commit information:
git log AOCL-5.2-Submodules..AOCL-5.2.1-SubmodulesKey commits:
66d392f- Feature: Symbol renaming with comprehensive testing56a91d9- Add AMD_CONFIG for ISA-specific optimizationsfae7c44- Fix naming conflict: ENABLE_AOCL_BLAS renamed87bfcf2- Update aocl-libm submodule to 5.2.1
AOCL-BIY 5.2 Submodules Release
AOCL-BIY 5.2 Submodules Release Notes
Overview
This release includes significant enhancements to the AOCL-BIY build system, integration of new libraries (AOCL-DA and AOCL-LibMem), improvements to existing build configurations, and updates to licensing documentation.
New Features
1. AOCL-DA Integration
- Added AOCL-DA (Data Analytics) build support into AOCL-BIY
- New file:
aocl_da_build.cmake(153 lines added) - Updated README.md to include AOCL-DA integration details
2. AOCL-LibMem Integration
- Added AOCL-LibMem build integration for UNIX-based systems
- New file:
aocl_libmem_build.cmake(114 lines added) - Added
ENABLE_AOCL_LIBMEMoption in linux-make.json presets for all build configurations - Updated README.md to include AOCL-LibMem integration details
Build System Improvements
CMake Configuration Enhancements
- Enhanced ENABLE_AOCL_LIBMEM and ENABLE_AOCL_DA option integration
- Resolved issues identified in AOCL 5.1 release builds
Windows Build Fixes
- Enabled additional CMake flags needed to link OpenMP in Windows for AOCL-Sparse
- Updated
win-msvc.jsonandwin-ninja.jsonpreset files
Configuration Corrections
- Updated the correct flags for AOCL-LAPACK in AOCL-GA configure presets
- Corrected a typo in the
aocl_libflame_build.cmakemodule - General improvements in AOCL-BIY configuration
Documentation Updates
README.md
- Updated for AOCL-5.2 Release
- Added details about AOCL-DA integration
- Added details about AOCL-LibMem integration
License and Notices
- Update LICENSE and NOTICES for AOCL-5.2-Submodules release
Bug Fixes
- Fixed AOCL-LAPACK flags and typo in libflame build
- Resolved AOCL 5.1 release build issues
- Corrected OpenMP linking for Windows AOCL-Sparse builds
Acknowledgments
This release is the result of contributions from the AOCL team at AMD.
Notes
- This release focuses primarily on build system enhancements and library integrations
- Two new major libraries added to AOCL-BIY: AOCL-DA and AOCL-LibMem
- Significant documentation and licensing updates
- Improved cross-platform build support (Windows and UNIX-based systems)
- Update submodules to reference AOCL-5.2 sources
For detailed commit information:
git log AOCL-5.1-Submodules..AOCL-5.2-SubmodulesAOCL-BIY 5.2 Release
AOCL-BIY 5.2 Release Notes
Overview
This release includes significant enhancements to the AOCL-BIY build system, integration of new libraries (AOCL-DA and AOCL-LibMem), improvements to existing build configurations, and updates to licensing documentation.
New Features
1. AOCL-DA Integration
- Commit: 5c964fb
- Added AOCL-DA (Data Analytics) build support into AOCL-BIY
- New file:
aocl_da_build.cmake(153 lines added) - Updated README.md to include AOCL-DA integration details
2. AOCL-LibMem Integration
- Commits: c9db75b, adb20e9, 8e9619a
- Added AOCL-LibMem build integration for UNIX-based systems
- New file:
aocl_libmem_build.cmake(114 lines added) - Added
ENABLE_AOCL_LIBMEMoption in linux-make.json presets for all build configurations - Updated README.md to include AOCL-LibMem integration details
Build System Improvements
CMake Configuration Enhancements
-
Commit: 8e9619a
- Enhanced ENABLE_AOCL_LIBMEM and ENABLE_AOCL_DA option integration
-
Commit: 5c964fb
- Resolved issues identified in AOCL 5.1 release builds
Windows Build Fixes
- Commit: 95f7c97
- Enabled additional CMake flags needed to link OpenMP in Windows for AOCL-Sparse
- Updated
win-msvc.jsonandwin-ninja.jsonpreset files
Configuration Corrections
- Commit: 72ddbbe
- Updated the correct flags for AOCL-LAPACK in AOCL-GA configure presets
- Corrected a typo in the
aocl_libflame_build.cmakemodule - General improvements in AOCL-BIY configuration
Documentation Updates
README.md
- Commits: feb9861, adb20e9, 0ba73cf
- Updated for AOCL-5.2 Release
- Added details about AOCL-DA integration
- Added details about AOCL-LibMem integration
License and Notices
- Commits: eceb2fe, 0ba73cf
- Updated LICENSE.txt file (189 insertions)
- Updated NOTICES.txt file (major restructuring: 675 deletions, additions)
Bug Fixes
- Fixed AOCL-LAPACK flags and typo in libflame build
- Resolved AOCL 5.1 release build issues
- Corrected OpenMP linking for Windows AOCL-Sparse builds
Acknowledgments
This release is the result of contributions from the AOCL team at AMD.
Notes
- This release focuses primarily on build system enhancements and library integrations
- Two new major libraries added to AOCL-BIY: AOCL-DA and AOCL-LibMem
- Significant documentation and licensing updates
- Improved cross-platform build support (Windows and UNIX-based systems)
For detailed commit information:
git log AOCL-5.1-GA..AOCL-5.2AOCL 5.1 – Submodules Integration and Documentation Updates
This release introduces the AOCL 5.1 submodules integration along with important updates to documentation and licensing information.
Key Changes
-
Submodule Integration:
- Added AOCL libraries as Git submodules:
- AOCL-BLAS, AOCL-LAPACK, AOCL-ScaLAPACK, AOCL-Sparse, AOCL-LibMem, AOCL-LibM, AOCL-Compression, AOCL-Cryptography, AOCL-Utils, and AOCL-Data-Analytics.
- Located under the
submodules/directory for modular integration and easier updates from upstream repositories.
- Added AOCL libraries as Git submodules:
-
Documentation Enhancements:
- Updated
README.mdwith instructions for cloning external repositories. - Added a dedicated section for submodules usage and setup.
- Updated
-
License and Notices:
- Updated
LICENSE.txtandNOTICES.txtto reflect the latest information. - Added a comment clarifying that component licenses apply only if the component is downloaded.
- Updated
AOCL-5.1-GA
Full Changelog: https://github.com/amd/aocl/commits/AOCL-5.1-GA