Skip to content

Releases: amd/aocl

AOCL-BIY 5.3.1 Submodules Release Notes

27 May 17:44

Choose a tag to compare

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.

Bug Fixes

  • Fixed multiple issues in rename_symbols.py: FLAME.h/mkl_lapack.h coexistence, --so-libs argument parsing, preprocessor-only #define renaming, CBLAS enum redefinition errors, stdlib symbol exclusion (now runtime-queried), and C++ symbol handling (templates, RTTI, vtables). Fixed ILP64 segfault in test symbols (f77_int types). Updated LICENSE/NOTICES to 5.3.1.

AOCL-BIY 5.2.1 Submodules Release

15 Jan 05:05

Choose a tag to compare

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 script
    • commands.txt (224 lines) - Command reference documentation
    • test/CMakeLists.txt (362 lines) - Testing framework
    • test/test_aocl_symbols.c (1,598 lines) - Comprehensive symbol tests
    • test/test_aocl_symbols.h (29 lines) - Test header
    • test/mix_libraries.F90 (98 lines) - Fortran mixed library tests

2. ISA-Specific Optimization Support

  • Added AMD_CONFIG variable 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_SUBMODULES option (default: ON) to control source location for submodules branch
  • Added BUILD_CORES variable 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_BLAS to ENABLE_AOCL_LAPACK_BLAS_COUPLING to 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

  1. 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-Submodules

Key commits:

  • 66d392f - Feature: Symbol renaming with comprehensive testing
  • 56a91d9 - Add AMD_CONFIG for ISA-specific optimizations
  • fae7c44 - Fix naming conflict: ENABLE_AOCL_BLAS renamed
  • 87bfcf2 - Update aocl-libm submodule to 5.2.1

AOCL-BIY 5.2 Submodules Release

09 Jan 06:52

Choose a tag to compare

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_LIBMEM option 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.json and win-ninja.json preset files

Configuration Corrections

  • Updated the correct flags for AOCL-LAPACK in AOCL-GA configure presets
  • Corrected a typo in the aocl_libflame_build.cmake module
  • 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

  1. Fixed AOCL-LAPACK flags and typo in libflame build
  2. Resolved AOCL 5.1 release build issues
  3. 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-Submodules

AOCL-BIY 5.2 Release

05 Jan 06:41

Choose a tag to compare

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_LIBMEM option 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.json and win-ninja.json preset 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.cmake module
    • 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

  1. Fixed AOCL-LAPACK flags and typo in libflame build
  2. Resolved AOCL 5.1 release build issues
  3. 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.2

AOCL 5.1 – Submodules Integration and Documentation Updates

31 Aug 19:52

Choose a tag to compare

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.
  • Documentation Enhancements:

    • Updated README.md with instructions for cloning external repositories.
    • Added a dedicated section for submodules usage and setup.
  • License and Notices:

    • Updated LICENSE.txt and NOTICES.txt to reflect the latest information.
    • Added a comment clarifying that component licenses apply only if the component is downloaded.

AOCL-5.1-GA

16 May 13:53

Choose a tag to compare