Commit Graph

3268 Commits

Author SHA1 Message Date
Eleni Vlachopoulou
edbbbe8791 GTestSuite: Templatizing printing function for test name.
- Using a template class for the printing operator that depends
  on the type.
- USe a macro to denote which interface is being tested.

AMD-Internal: [CPUPL-4500]

Change-Id: I453c4ef4842c354064f49ff32ec4bf42920cc17c
2024-05-02 12:00:17 -04:00
Edward Smyth
82e628b833 GTestSuite: seg faults in data generator
Following a recent change to the data generators to allow a stride
to be specified (60cc23f3d3), seg
faults can occur if m<=0 for column storage or n<=0 for row storage.
Prevent this by having separarate code paths to handle these
scenarios.

AMD-Internal: [CPUPL-4500]
Change-Id: I23ed8b2dccaaca140e2ddfda45bcdb4c888d5708
2024-05-01 05:46:52 -04:00
Edward Smyth
25c15bb471 GTestSuite: test name consistency changes 2
Improve consistency in test names across different APIs.

In this commit, standardize m, n, k and b in test names.

AMD-Internal: [CPUPL-4500]
Change-Id: I53e7dd83cbf426ab1ebe8aa4af1da01594f4af23
2024-05-01 04:55:58 -04:00
Hari Govind
9c26de1a18 Optimisiation COPYV APIs
- Implemented AVX512 kernels for scopyv_, dcopyv_ and  zcopyv_
  using respective AVX512 intrinsics including masked
  load and store operations.

- Implemented AVX512 kernels for scopy_, dcopy_ and
  zcopy_ using assembly language to prevent loss of
  performance during the translation of intrinsics.

- Updated the dcopy_blis_impl( ... ) and
  zcopy_blis_impl( ... ) function to support
  multithreaded calls to the respective computational
  kernels, if and when the OpenMP support is enabled.

- Implemented OpenMP parallelization for dcopyv_ and
  zcopyv_ APIs, while scopyv_ and ccopyv_ only support
  single thread.

AMD-Internal: [CPUPL-4854]
Change-Id: I5fbd0bcca4e59001fbe2b1168b624d0c33242b3e
2024-05-01 00:23:01 +05:30
vignbala
b55c86cce7 GTestSuite : Cleanups to ensure proper build of GTestSuite
- Updated the IIT_ERS tests for SUBV to avoid using undefined
  variables. These tests are enabled only when GTestSuite is
  configured for BLIS_TYPED interface testing.

- Updated an instantiator in DAXPBY accuracy tests, to avoid
  parsing error(extra comma). These tests are enabled only when
  GTestSuite is configured for BLIS_TYPED interface.

AMD-Internal: [CPUPL-4500]
Change-Id: If6894daadbbc353dd66968649642ff07fa663782
2024-04-30 09:15:43 +00:00
srigovin
2c838dadfb Updated return type of xerbla and xerbla_array APIs to void
Return type of xerbla and xerbla_array APIs are defined as int in BLIS, but according to netlib it should be void. Updated the defination and declaration accordingly.

Signed-off-by: Sridhar Govindaswamy <Sridhar.Govindaswamy@amd.com>
Change-Id: I3072ba76111189de5c5cf08df83ea154163dd34d
2024-04-29 00:51:10 -04:00
Edward Smyth
f4612238b4 GTestSuite: test name consistency changes 1
First in a series of commits to improve consistency in test names
across different APIs. This will help with gtest filtering.

In this commit, standardize alpha, beta, incx and incy.

AMD-Internal: [CPUPL-4500]
Change-Id: I0cde85f9a4cf969c0b12ac589b232786ad011f09
2024-04-26 07:13:59 -04:00
Meghana Vankadari
ceee4b7818 Fix in DGEMMSUP for cases where C matrix is row-major.
Details:
- variable m0 is being loaded into a register without typecasting
  it to uint64_t. This resulted in seg-fault when int size is set
  to be 32 bits during configure time.
- Any variable that is loaded using mov in assembly needs to be
  typecasted to uint64_t before begin_asm, so that change in size
  of integer doesn't affect the functionality.
- Modified all instances using variable m0 to use variable 'm' where
  m = (uint64_t)m0;

AMD-Internal: [CPUPL-4971]
Change-Id: I49b66d2cacf19ace40ab44c9f85904644e8921f4
2024-04-25 13:07:23 -04:00
Vignesh Balasubramanian
29ae28dd8f GTestSuite: Additional fix for GEMV
- Updated test_gemv.h to pass the right boolean
  to computediff( ... ), based on whether we run
  it for exception value tests or not.

AMD-Internal: [CPUPL-4500]
Change-Id: I1ad2cde4f9b4bb1dadc32d1f7d02a90a457e218f
2024-04-25 06:35:31 -04:00
eseswari
34422757fa Added testcases for GER API :
*covered large sizes, scalar combinations and strides greater than the
size for cger, dger, sger and zger.
Signed-off-by: Sangadala Eswari <Sangadala.Eswari@amd.com>
AMD-Internal: CPUPL-4414
Change-Id: I6fba26a35903d1f6dbd713f19eac6bb537b3d8d2
2024-04-25 03:17:21 -04:00
Vignesh Balasubramanian
7bd87e3057 GTestSuite: Fixes for IMATCOPY and GEMV
- Changed the macro guard for accuracy tests of SIMATCOPY,
  to ensure that tests are enabled/disabled based on the reference.

- Updated test_gemv.h to make sure the contents of y vector is copied
  to y_ref post inducing exception values.

AMD-Internal: [CPUPL-4500]
Change-Id: I7249e643677e7e493eba5d072567615bc913a532
2024-04-24 19:36:59 +05:30
Edward Smyth
1ef7fb428a GTestSuite: print name of variable in error messages
Add name of variable being tested in error output from
computediff functions. First step to adding (optional)
tests on input arguments.

AMD-Internal: [CPUPL-4379]
Change-Id: I9553b660bcf5ecf1dd675cb837655078933455ac
2024-04-23 11:14:08 -04:00
Edward Smyth
7bb82eee6e GTestSuite: BLAS1 thresholds
Modify thresholds to reflect number of operations that
accumulate results into each output element. Different
limits are set for early return and special cases.

Constants are still subject to experimentation and change.

AMD-Internal: [CPUPL-4378]
Change-Id: I81f63a36c161ff1866f2d404b9e3cbb9a2948d3a
2024-04-23 05:57:31 -04:00
Edward Smyth
bcae225517 GTestSuite: BLAS3 thresholds
Modify thresholds to reflect number of operations that
accumulate results into each output element. Different
limits are set for early return and special cases.

Constants are still subject to experimentation and change.

AMD-Internal: [CPUPL-4378]
Change-Id: I03cd8901e574f2e44e85ce8b0bc234e36edb4819
2024-04-22 13:25:23 -04:00
Edward Smyth
ccf3910209 BLIS: bli_cpuid.c incorrectly selecting zen5 on zen4 hardware
Correct the order of tests in bli_cpuid.c to test all known zen
AVX512 platforms before considering fallback tests on AVX512
support. This avoids builds with "configure auto" or
"cmake -DBLIS_CONFIG_FAMILY=auto" incorrectly selecting zen5
sub-configuration on zen4 systems.

AMD-Internal: [CPUPL-4966]
Change-Id: I8706382e2df7c9ae4bb456e3a7f465053e15beea
2024-04-22 03:26:06 -04:00
jagar
e52de030a6 Gtestsuite : Fixing issue on Windows OS
1. Fixed issue related to linking reference library.
2. Clean-up of how reference library variables are set.
2. Compilation error related to std::max() and std::min().

AMD-Internal: [CPUPL-4879]
Change-Id: I427a4a4c0ea56a340a8bbd1a6649252e9680b937
2024-04-19 11:20:25 +00:00
Arnav Sharma
b293a29fb4 Gtestsuite: Memory and Extreme Value Tests for GEMV
- Added Memory Access Test support for GEMV.

- Added Extreme Value Tests for various combinations of NaN, Inf and
  -Inf for ?GEMV.

- Also fixed some invalid IIT_ERS tests.

AMD-Internal: [CPUPL-4825]
Change-Id: Iee77b305f6c6b9427153fbbc5191176dae9fbfea
2024-04-16 09:57:12 -04:00
Shubham Sharma
14bab0eb17 Fixed out of bounds read in CTRSM small kernel
- In 2x1 fringe case in [RUN/RLT] kernel, 3 scomplex
  precision numbers are being read instead of 1 scomplex.

- Fixed the code to read only one scomplex.

AMD-Internal: [CPUPL-4403]
Change-Id: If3ac03ed864618382d3a382a8cdff7ff8a94eb7d
2024-04-16 02:42:34 -04:00
Shubham Sharma
632c32767b Avoid alpha scaling in ZTRSV/ZTRSM when alpha = 1
- Scaling vector X is skipped when alpha is 1 in ZTRSV.
- Scaling matrix A is skipped when alpha is 1 in ZTRSM.

AMD-Internal: [CPUPL-4324]
Change-Id: I03c5a454ed1f5be36dac0f121408749bfc9cfc81
2024-04-16 02:24:02 -04:00
Shubham Sharma
ea010c5dc2 Improve perf of bli_obj_equals for 1x1 matrices
- Comparision using bli_eqsc is slower than direct comparison.
- Changed comparision logic for 1x1 matrix
   from bli_sqsc to direct comparision.

AMD-Internal: [CPUPL-4324]
Change-Id: Ifb2d0ad7a97c8bf33b66d624a7ecc53e38c1c803
2024-04-16 00:43:28 -04:00
Edward Smyth
c51b4628b4 BLIS: Implement zen5 sub-configuration in cmake
Correction to commit 2450a1813b
to add -DBLIS_CONFIG_FAMILY=zen5 support in cmake.

AMD-Internal: [CPUPL-3518]
Change-Id: Iecff2b64d5d95960cecbbf98d5269133747b122e
2024-04-15 07:40:50 -04:00
Edward Smyth
2450a1813b BLIS: Implement zen5 sub-configuration
Implement full support for zen5 as a separate BLIS sub-configuration
and code path within amdzen configuration family.

AMD-Internal: [CPUPL-3518]
Change-Id: Iaa5096e0b83bf0f0c3fd1c41e601ccd29bda3c09
2024-04-12 07:26:31 -04:00
Harish
13211119e4 Level2 GEMV gtest for below tests is implemented for all data types
1. Different matrix sizes
2. Different Stride values and Scalar values
3. Added Early Return tests in new file
Signed-off by: Harish Kumar<harish.kumar@amd.com>
AMD-Internal: [CPUPL-4417]

Change-Id: I5e645612808336e11da0c5ed8da9fe17a5543fbd
2024-04-08 14:46:59 -04:00
Vignesh Balasubramanian
1b7980a38d Added support to benchmark AXPYV APIs
- Implemented the feature to benchmark ?AXPYV APIs
  for the supported datatypes. The feature allows to
  benchmark BLAS, CBLAS or the native BLIS API, based
  on the macro definition.

- Added a sample input file to provide examples to benchmark
  AXPYV for all its datatype supports.

- Updated the sample input file for SCALV to provide examples
  to benchmark all of its datatype supports.

AMD-Internal: [CPUPL-4805]
Change-Id: I550920e3a57fcc2e4900e9e698330d8b8595bdee
2024-04-08 00:06:54 -04:00
Edward Smyth
c2d4f1d7a5 GTestSuite: Avoid infinite recursion in generators
Previous commit introduced an infinite recursion problem in
generators for symmetric matrices. This was reported as a
compiler warning by gcc 12.2 but not by gcc 11.4.

AMD-Internal: [CPUPL-4862]
Change-Id: I8642b81a62f0643b5a9ebedb4fcc83b25542de1b
2024-04-04 19:46:18 +05:30
Vignesh Balasubramanian
60cc23f3d3 Test-case development for ?IMATCOPY and ?OMATCOPY2 APIs
- Added test-cases to verify the functional behaviour
  of the BLAS-extension API ?imatcopy_() and ?omatcopy2_().
  The test-cases cover the following categories for the
  supported datatypes :
  - Functional and memory testing.
  - Negative parameter testing with invalid inputs.
  - Early return scenarios.
  - Exception value testing.

- Updated functions in testinghelpers to include strides
  in addition to leading-dimension, when initializing
  a matrix. The default value for stride is set as 1.

- Implemented functions to load the reference symbol, based
  on the choice of the reference library. The function definition
  is overloaded due to different API standards being exposed by
  different libraries.

- Code cleanup of files for ?OMATCOPY API.

AMD-Internal: [CPUPL-4862]
Change-Id: If63b348f517e2cde1fe48f3a195808b33a91c312
2024-04-04 16:26:20 +05:30
Arnav Sharma
f71495a135 Support for DOTC in DOTV Bench and DTL updates
- Added support for ?DOTC in bench.

- Updated DTL to accept conjx as a parameter:
    - 'N', i.e., no conjugate for DOTU
    - 'C', i.e., conjugate for DOTC

- Updated DTL calls in the interface with respective values of
  conjx.

AMD-Internal: [CPUPL-4804]
Change-Id: I447b19a6273566c6021c1721ce173bac4a59142c
2024-04-04 12:27:53 +05:30
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
Vignesh Balasubramanian
70b57cd16f Test-case development for ?OMATCOPY APIs
- Added test-cases to verify the functional behaviour
  of the BLAS-extension API ?omatcopy_(). The test-cases
  cover the following categories for the supported datatypes :
  - Functional and memory testing.
  - Negative parameter testing with invalid inputs.
  - Early return scenarios.
  - Exception value testing.

- Implemented a function to load the reference symbol, based
  on the choice of the reference library. The function definition
  is overloaded due to different API standards being exposed by
  different libraries.

AMD-Internal: [CPUPL-4810][SWLCSG-2706]
Change-Id: I8dcaeeaa36d392b752eb0685e32583a12ddc4220
2024-03-27 23:34:47 -04:00
jagar
bd80488af1 CMake: Update code to support blastest for ILP64 on windows
Change-Id: I8e87ee073ffcb893fbcc7c9580add217ae347449
2024-03-27 12:02:26 -04:00
Arnav Sharma
c29918c3bf Gtestsuite: Updated generate_NAN_INF() in TRSM test
- Updated the generate_NAN_INF() in test_trsm.h to properly induce NaNs
  and Infs for complex types.

AMD-Internal: [CPUPL-4639]
Change-Id: I4226e5c5b5f7de85eb89271551f897f87755f4f5
2024-03-26 17:14:14 +05:30
Edward Smyth
21e66b667d GTestSuite: Misc corrections
- Handle -0.0 separately in get_value_string()
- Avoid unused variable warning when not TEST_BLIS_TYPED in
  subv_evt_testing.cpp
- Remove unused variables in dgemm_ukernel.cpp
- Remove unnecessary local copies of greenzone1 in test
  programs now that greenzone_1 and greenzone_2 will
  not overlap.
- Protect tests of haswell kernels by ifdef on
  BLIS_KERNELS_HASWELL rather than BLIS_KERNELS_ZEN.
- Added GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST
  statements in TRSM kernel tests.
- Correct descriptions of trsm and trmm operations.
- Correct typos.

AMD-Internal: [CPUPL-4500]
Change-Id: If8520347e417785e6aa953a0c8a65d4f5f3c1591
2024-03-25 09:32:50 -04:00
Mangala V
220c7bb627 Gtestsuite: Added test for ?SWAPV
- Added API tests
  - Added Invalid input test cases (IIT).
  - Added memory testing for SWAPV API.
  - Added micro kernel testing for single and double precision
  - Added reference swapv functionality in testinghelpers
  - Added binary comparison method for two vectors with different
    increments in check_error.h

AMD-Internal: [CPUPL-4814]

Change-Id: I32bcca51b4e998d51ede70869035da76a7f6dbca
2024-03-25 22:56:31 +05:30
Harish
0c64723012 Level1 AMAXV gtest for below tests is implemented for all data types
> 1. Ranges with small and average sizes
> 2. Values with different orders
> 3. Negative tests added with negative range of values and stride values.
> 4. Added Early Return tests.
> Signed-off by: Harish Kumar<harish.kumar@amd.com>
AMD-Internal: [CPUPL-4419]

Change-Id: Iaadc0f3104c237d3fb6ccf2c2b398b30edcd1ee4
2024-03-22 14:54:28 -04:00
Vignesh Balasubramanian
8f4cb485c6 Added unit-tests for SAMAXV and DAMAXV APIs
- Added unit-test cases for accuracy and memory-testing of the
  following kernels :
  - bli_samaxv_zen_int( ... ) and bli_samaxv_zen_int_avx512( ... )
  - bli_damaxv_zen_int( ... ) and bli_damaxv_zen_int_avx512( ... )

- Added test cases to verify the compliance of SAMAXV and DAMAXV
  APIs, through Exception Value Testing(EVT). This is done by
  inducing exception values in the input vector(at two places).
  The induction is controlled by the user, through indices given as
  part of the parameterized test-cases.

AMD-Internal: [CPUPL-4660][CPUPL-4661]
Change-Id: I25b7d54487fa9fb6a30ac13563d1497af8b582ab
2024-03-22 14:15:07 +05:30
Shubham Sharma
00b37f30a9 GTestSuite: Added Tests for DGEMMT
- Added API tests for DGEMMT.
  - Added Extreme Value Test cases (EVT) for DGEMMT.
    - Tests for various combinations of INFs
       and NANs for A and B matrix are added.
  - Added Invalid input test cases (IIT).
  - Added memory testing for DGEMMT API.

AMD-Internal: [CPUPL-4724]
Change-Id: Ib40802ea49417b4a4883831c2d971e59a2e093e5
2024-03-21 04:49:01 -04:00
Shubham Sharma
3687356530 Missing comma in DTRSV test
- Added missing comma in DTRSV EVT test.

AMD-Internal: [CPUPL-4715]
Change-Id: I87ba47576bc3295c0e5315c7713c8d837dfa4a03
2024-03-21 00:40:40 -04:00
Nallani Bhaskar
5070343318 Fixed load intrinsic in aocl-gemm addon f32 api
Description:

1. Replaced aligned load intrinsics _mm512_load_ps
   with unaligned load intrinsics _mm512_loadu_ps.
2. There is no guarantee that the memory address
   can be aligned everywhere. The changes are under
   beta multiplication. Copy paste error.

Change-Id: I978231b556e17ad7e66c5028ed1cd904c653e0a8
2024-03-20 06:24:32 -04:00
Shubham Sharma
bd765a4bc7 GTestSuite: Added Tests for ZTRSV
- Added API tests for ZTRSV.
  - Added Extreme Value Test cases (EVT) for ZTRSV.
    - Tests for various combinations of INFs
       and NANs for X vector and B matrix are added.
  - Added memory testing for ZTRSV
    API.

AMD-Internal: [CPUPL-4716]
Change-Id: I0291acaafa78073979c307a4cc9595d429229c0c
2024-03-20 01:06:16 -04:00
Shubham Sharma
9c40473a96 GTestSuite: Added Tests for DTRSV
- Added API tests for DTRSV.
  - Added Extreme Value Test cases (EVT) for DTRSV.
    - Tests for various combinations of INFs
       and NANs for X vector and B matrix are added.
  - Added Invalid input test cases (IIT).
  - Added memory testing for DTRSV
    kernels.
  - Fixed a bug in alphax function where scaling
    of a vector with a scalar was not handled
    correctly when incx was negative.

AMD-Internal: [CPUPL-4715]
Change-Id: I84c873e98f845e05b11860e7ef6083d1184489b4
2024-03-20 01:05:57 -04:00
Eleni Vlachopoulou
e14da6f73d GTestSuite: Generic updates to CMake system and cmake presets.
- Updating gemm/cgemm_ukernel.cpp to cast integers so that gtestsuite works for ILP64.
- Updating BLIS cmake presets to be conditional on Windows and Linux.
- Updating GTestSuite cmake system to use environment variable to set BLIS_PATH and reference library.
- Add more cmake presets options in gtestsuite.
2024-03-19 18:14:49 +00:00
Eleni Vlachopoulou
068c2f6ba6 GTestSuite: Generic changes so that GTestSuite builds and runs as expected.
- Updating printing functionality for vectors and matrices.
- Adding macro definition checks so that GTestSuite builds successfully for shared libraries on zen3.
- Casting integers so that code builds for ILP64.

AMD-Internal: [CPUPL-4500]
Change-Id: I03afd08d5ad8ae50193d9559cf4ab8fc1d08753c
2024-03-14 23:47:33 +05:30
Edward Smyth
d61a74ec8f GTestSuite: Allow fp values in test names
Modifications to testinghelpers::get_value_string() to allow
floating point values (e.g. for alpha and beta) to be used in
generating test names. Values will be generated in the form
1p3 or m2p4, or 3p0_4p5i for complex data. One decimal place
is currently enabled but this can be increased if needed. This
helps prevent duplicate test name errors when the list of values
for alpha or beta includes e.g. 1.0 and 1.3.

Also add support in testinghelpers::get_value_string() for
variables of type gtint_t.

AMD-Internal: [CPUPL-4500]
Change-Id: Icc8ca3c3cfacd7d46fffefee5a6e05452f704d4e
2024-03-14 11:01:58 -04:00
Eleni Vlachopoulou
020b9ff7f0 CMake: Enable builds for both static and shared builds for Linux.
- Added BUILD_STATIC_LIBS option which is on by default, only on Linux.
- Added TEST_WITH_SHARED option which is off by default, only on Linux.
- If only shared or static lib is being built, that's the one that will be used for testing.
- If both are being built, TEST_WITH_SHARED determins which library wil be used for testing.
- Set linux workflows so that they build both static and shared libs, and use linux-static and linux-shared to denote which one should be used for testing.
- Set -fPIC for both static and shared builds to fix issues faced when building blis using AOCC 4.0.0 and gtestsuite using gcc 9.4.0.

AMD-Internal: [CPUPL-2748]
Change-Id: I4227bab97ff31ecddfe218e18499f33b4e4ee63e
2024-03-14 10:32:51 -04:00
Arnav Sharma
d300d7112f Gtestsuite: Unit-tests for GER
- Added Functional Tests, Early Return Scenarios, Invalid Input Tests
  and Extreme Value Tests for S/D/C/ZGER.

- EVTs are added for the sake of sanity since GER is primarily utilizing
  the AXPYV kernel.

AMD-Internal: [CPUPL-4758]
Change-Id: I12db0ba952eeb97ab167656ab5fd614e56437154
2024-03-14 08:18:02 -04:00
jagar
e2de45b454 CMake:Added support for ADDON(aocl_gemm) on Windows
CMakelists.txt is updated to support aocl_gemm on windows.
On windows, BLIS library(blis+aocl_gemm) is built successfully
only with AOCC Compiler. (Clang has an issue with optimizing
VNNI instructions).

$cmake .. -DENABLE_ADDON="aocl_gemm" ....

AMD-Internal: [CPUPL-2748]
Change-Id: I9620878ab6934233fadc9ddc5d5e82ad85be9209
2024-03-14 07:57:02 -04:00
jagar
bbfa4a88ec CMake: Updated compiler ID in cmake files
Updated compiler id in cmake related files from
CMAKE_CXX_COMPILER_ID to CMAKE_C_COMPILER_ID

AMD-Internal: [CPUPL-2748]
Change-Id: Ib0e2a2e3ec8fafeb423fe56b9842a93db0115371
2024-03-14 07:24:04 -04:00
mangala v
4f0c3b9490 GTESTSUITE: Complex GEMM Testing
CGEMM:
API: Functional testing of CGEMM
     Covers different matrix sizes
     Hence it covers SUP and Native code path
EVT: Insertion of Exception values like NAN, +/-INF in Matrix
     EV is inserted in user provided indices of in/out Matrices
     EV is passed as alpha and beta values
     Expectation is output should be complaint with standard output
MEM: To check for out of bound read or write through protected pages

ZGEMM:
- Updated EVT tests for special case for alpha, beta when
  imaginary component is 0
- Updated SUP & Native method to support C/Z datatype

AMD-Internal: [CPUPL-4712]
Change-Id: If8ba99998e0a494375a764bb7756d45147388965
2024-03-14 05:19:24 -05:00
Harsh Dave
51e1bfc1f1 Added dotxf reference implementation for gtestsuite
- dotxf is a blis specific kernel, which performs dotxv 
operation but in multiple of fused factors to speed up
the operations.

- So dotxf reference function is implemented for gtestsuite,
where dotxf computation compared against computation done by
looping over dotxv function.

AMD-Internal: [CPUPL-4764]
Change-Id: I342dab066ceb1710649e54bb73afc5a23e2a8177
2024-03-14 05:05:49 -04:00
Harsh Dave
8f60c9ff6b SGEMM exception value testing for gtestsuite
- Testcases with exception values such as nan and +/-inf.
- Randomly inserting  nan, +/- inf in A,B or C matrix along with
  alpha and beta with extreme values

AMD-Internal: [CPUPL-4681]
Change-Id: Ia92bcdb4519e9a0e4c6026e93b5e2e2f0e19b065
2024-03-14 04:58:42 -04:00