Nimmy Krishnan 9226641585 Gtestsuite: Added overflow and underflow tests for dgemm
- Added overflow and underflow tests for dgemm

  These tests cause floating point overflow and underflow by feeding
  values close to DBL_MAX and DBL_MIN values to matrices
  DBL_MAX = 1.7976931348623158e+308
  DBL_MIN = 2.2250738585072014e-308

  When computations result in values beyond the range [DBL_MIN, DBL_MAX],
  it leads to an overflow or underflow condition

  Two new arguments are added to test_gemm routine - over_under and input_range

  over_under = 0 indicates overflow
  over_under = 1 indicates underflow

  input_range = -1 indicates values within overflow or underflow limits
  input_range = 0  indicates values very close to DBL_MIN or DBL_MAX
  input_range = 1  indicates values beyond DBL_MIN or DBL_MAX

- New file: dgemm_ovr_undr.cpp

  Overflow and underflow tests are called from this file
  dgemm_overflow and dgemm_underflow. This file uses
  cfloat header file for DBL_MIN and DBL_MAX values

Signed-off-by: Nimmy Krishnan <nimmy.krishnan@amd.com>
AMD-Internal: [CPUPL-4492]
Change-Id: I4bbd519abacc56f322c73d6c0187ed6e1abbbf2b
2024-04-01 11:21:10 +00:00
2019-05-23 12:51:17 -05:00
2023-11-23 08:54:31 -05:00
2019-10-02 10:16:22 +01:00
2021-03-22 17:42:33 -05:00
2023-11-10 13:05:12 -05:00
2018-08-07 14:21:07 -05:00
2023-11-23 08:54:31 -05:00
2023-05-25 14:46:33 +00:00

AOCL-BLAS library

AOCL-BLAS is AMD's optimized version of BLAS targeted for AMD EPYC and Ryzen CPUs. It is developed as a forked version of BLIS (https://github.com/flame/blis), which is developed by members of the Science of High-Performance Computing (SHPC) group in the Institute for Computational Engineering and Sciences at The University of Texas at Austin and other collaborators (including AMD). All known features and functionalities of BLIS are retained and supported in AOCL-BLAS library. AOCL-BLAS is regularly updated with the improvements from the upstream repository.

AOCL BLAS is optimized with SSE2, AVX2, AVX512 instruction sets which would be enabled based on the target Zen architecture using the dynamic dispatch feature. All prominent Level 3, Level 2 and Level 1 APIs are designed and optimized for specific paths targeting different size spectrums e.g., Small, Medium and Large sizes. These algorithms are designed and customized to exploit the architectural improvements of the target platform.

For detailed instructions on how to configure, build, install, and link against AOCL-BLAS on AMD CPUs, please refer to the AOCL User Guide located on AMD developer portal.

The upstream repository (https://github.com/flame/blis) contains further information on BLIS, including background information on BLIS design, usage examples, and a complete BLIS API reference.

AOCL-BLAS is developed and maintained by AMD. You can contact us on the email-id toolchainsupport@amd.com. You can also raise any issue/suggestion on the git-hub repository at https://github.com/amd/blis/issues.

Description
BLAS-like Library Instantiation Software Framework
Readme BSD-3-Clause 72 MiB
Languages
C 86.3%
C++ 9.5%
Fortran 1.9%
Makefile 0.8%
MATLAB 0.5%
Other 0.9%