Skip to content

Releases: amd/aocl

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