mirror of
https://github.com/amd/blis.git
synced 2026-04-28 19:41:11 +00:00
AOCL Windows: 3.1 BLIS changes
1. CMake script changes for build with Clang compiler. 2. CMake script changes for build test and testsuite based on the lib type ST/MT 3. CMake script changes for testcpp and blastest 4. Added python scripts to support library build and testsuite build. AMD Internal : [CPUPL-1422] Change-Id: Ie34c3e60e9f8fbf7ea69b47fd1b50ee90099c898
This commit is contained in:
22
windows/tests/README.txt
Normal file
22
windows/tests/README.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
#BLIS check execution script
|
||||
|
||||
|
||||
|
||||
Check execution script covers:
|
||||
|
||||
* checkblis
|
||||
|
||||
* checkblis-fast
|
||||
|
||||
* checkblis-md
|
||||
|
||||
* checkblis-salt
|
||||
|
||||
|
||||
|
||||
##Requirements
|
||||
|
||||
* Install latest version of python from python.org(preferably python 3.5 or greater)
|
||||
|
||||
* Add python path and scripts path to the environment variable path
|
||||
|
||||
107
windows/tests/blis_make.py
Normal file
107
windows/tests/blis_make.py
Normal file
@@ -0,0 +1,107 @@
|
||||
"""Copyright (C) 2020, Advanced Micro Devices, Inc. All Rights Reserved"""
|
||||
|
||||
import re
|
||||
|
||||
import subprocess
|
||||
|
||||
import yaml
|
||||
|
||||
import sys
|
||||
|
||||
import os
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class BlisCheck:
|
||||
|
||||
|
||||
|
||||
@staticmethod
|
||||
|
||||
def check_execution():
|
||||
|
||||
|
||||
|
||||
try:
|
||||
|
||||
with open(r'inputs.yaml') as file:
|
||||
|
||||
input_file = yaml.safe_load(file)
|
||||
|
||||
try:
|
||||
|
||||
if (sys.argv[1] == '') or (sys.argv[1] == "--h") or (sys.argv[1] == "--help"):
|
||||
|
||||
print("Below options are available \n")
|
||||
|
||||
print("usage: python blis_make.py ", end='[')
|
||||
|
||||
for var in input_file.keys():
|
||||
|
||||
print(var, end=' | ')
|
||||
|
||||
print('checkcpp | --h | --help]')
|
||||
|
||||
sys.exit()
|
||||
|
||||
except IndexError:
|
||||
|
||||
print("Below options are available \n")
|
||||
|
||||
print("usage: python blis_make.py ", end='[')
|
||||
|
||||
for var in input_file.keys():
|
||||
|
||||
print(var, end=' | ')
|
||||
|
||||
print('checkcpp | --h | --help]')
|
||||
|
||||
sys.exit()
|
||||
|
||||
if sys.argv[1] == "check":
|
||||
|
||||
which_check = 'checkblis-fast'
|
||||
|
||||
command = "test_libblis.exe -g " + input_file['checkblis-fast'][0] + " -o "+input_file['checkblis-fast'][1]
|
||||
|
||||
BlisCheck.test_checkblis(which_check, command)
|
||||
|
||||
flag = 0
|
||||
|
||||
which_check = 'check'
|
||||
|
||||
for i in range(len(input_file[which_check])):
|
||||
|
||||
#print(input_file[which_check][i])
|
||||
|
||||
if '1' in input_file[which_check][i]:
|
||||
|
||||
command = input_file[which_check][i]+' > out.'+input_file[which_check][i][:6]
|
||||
|
||||
print("Running ", input_file[which_check][i], " (output to 'out."+input_file[which_check][i][:6]+"')")
|
||||
|
||||
else:
|
||||
|
||||
command = input_file[which_check][i]
|
||||
|
||||
print("Running ", input_file[which_check][i], " (output to 'out."+input_file[which_check][i][:6]+"')")
|
||||
|
||||
subprocess.check_call(command , shell=True)
|
||||
|
||||
with open(r"out."+input_file[which_check][i][:6]) as out_file:
|
||||
|
||||
strings = re.findall(r'FAIL', out_file.read())
|
||||
|
||||
if strings:
|
||||
|
||||
flag += 1
|
||||
|
||||
|
||||
|
||||
if flag:
|
||||
|
||||
print("At lease one BLAS test failed.")
|
||||
|
||||
print("Please see out.* files for details")
|
||||
11
windows/tests/inputs.yaml
Normal file
11
windows/tests/inputs.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
# Copyright (C) 2020, Advanced Micro Devices, Inc. All Rights Reserved
|
||||
|
||||
|
||||
|
||||
checkblis: [input.general, input.operations]
|
||||
|
||||
|
||||
|
||||
checkblis-fast: [input.general.fast, input.operations.fast]
|
||||
|
||||
|
||||
@@ -1,180 +0,0 @@
|
||||
/*
|
||||
|
||||
BLIS
|
||||
An object-based framework for developing high-performance BLAS-like
|
||||
libraries.
|
||||
|
||||
Copyright (C) 2014, The University of Texas at Austin
|
||||
Copyright (C) 2018 - 2019, Advanced Micro Devices, Inc.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
- Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
- Neither the name(s) of the copyright holder(s) nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef BLIS_CONFIG_H
|
||||
#define BLIS_CONFIG_H
|
||||
|
||||
// Enabled configuration "family" (config_name)
|
||||
#define BLIS_FAMILY_ZEN2
|
||||
|
||||
|
||||
// Enabled sub-configurations (config_list)
|
||||
#define BLIS_CONFIG_ZEN2
|
||||
|
||||
|
||||
// Enabled kernel sets (kernel_list)
|
||||
#define BLIS_KERNELS_ZEN2
|
||||
#define BLIS_KERNELS_ZEN
|
||||
#define BLIS_KERNELS_HASWELL
|
||||
|
||||
|
||||
//This macro is enabled only for ZEN family configurations.
|
||||
//This enables us to use different cache-blocking sizes for TRSM instead of common level-3 cache-block sizes.
|
||||
#if 1
|
||||
#define AOCL_BLIS_ZEN
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define BLIS_ENABLE_OPENMP
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define BLIS_ENABLE_PTHREADS
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
#define BLIS_ENABLE_JRIR_SLAB
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define BLIS_ENABLE_JRIR_RR
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
#define BLIS_ENABLE_PBA_POOLS
|
||||
#else
|
||||
#define BLIS_DISABLE_PBA_POOLS
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
#define BLIS_ENABLE_SBA_POOLS
|
||||
#else
|
||||
#define BLIS_DISABLE_SBA_POOLS
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define BLIS_ENABLE_MEM_TRACING
|
||||
#else
|
||||
#define BLIS_DISABLE_MEM_TRACING
|
||||
#endif
|
||||
|
||||
#if 0 == 64
|
||||
#define BLIS_INT_TYPE_SIZE 64
|
||||
#elif 0 == 32
|
||||
#define BLIS_INT_TYPE_SIZE 32
|
||||
#else
|
||||
// determine automatically
|
||||
#endif
|
||||
|
||||
#if 32 == 64
|
||||
#define BLIS_BLAS_INT_TYPE_SIZE 64
|
||||
#elif 32 == 32
|
||||
#define BLIS_BLAS_INT_TYPE_SIZE 32
|
||||
#else
|
||||
// determine automatically
|
||||
#endif
|
||||
|
||||
#ifndef BLIS_ENABLE_BLAS
|
||||
#ifndef BLIS_DISABLE_BLAS
|
||||
#if 1
|
||||
#define BLIS_ENABLE_BLAS
|
||||
#else
|
||||
#define BLIS_DISABLE_BLAS
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef BLIS_ENABLE_CBLAS
|
||||
#ifndef BLIS_DISABLE_CBLAS
|
||||
#if 0
|
||||
#define BLIS_ENABLE_CBLAS
|
||||
#else
|
||||
#define BLIS_DISABLE_CBLAS
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef BLIS_ENABLE_MIXED_DT
|
||||
#ifndef BLIS_DISABLE_MIXED_DT
|
||||
#if 1
|
||||
#define BLIS_ENABLE_MIXED_DT
|
||||
#else
|
||||
#define BLIS_DISABLE_MIXED_DT
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef BLIS_ENABLE_MIXED_DT_EXTRA_MEM
|
||||
#ifndef BLIS_DISABLE_MIXED_DT_EXTRA_MEM
|
||||
#if 1
|
||||
#define BLIS_ENABLE_MIXED_DT_EXTRA_MEM
|
||||
#else
|
||||
#define BLIS_DISABLE_MIXED_DT_EXTRA_MEM
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
#define BLIS_ENABLE_SUP_HANDLING
|
||||
#else
|
||||
#define BLIS_DISABLE_SUP_HANDLING
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define BLIS_ENABLE_MEMKIND
|
||||
#else
|
||||
#define BLIS_DISABLE_MEMKIND
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
#define BLIS_ENABLE_PRAGMA_OMP_SIMD
|
||||
#else
|
||||
#define BLIS_DISABLE_PRAGMA_OMP_SIMD
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define BLIS_ENABLE_SANDBOX
|
||||
#else
|
||||
#define BLIS_DISABLE_SANDBOX
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
#define BLIS_ENABLE_SHARED
|
||||
#else
|
||||
#define BLIS_DISABLE_SHARED
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
44727
windows/zen2/blis.h
44727
windows/zen2/blis.h
File diff suppressed because it is too large
Load Diff
45642
windows/zen3/blis.h
45642
windows/zen3/blis.h
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user