Releases: amd/aocl
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