I get the code from 603-dense-mxm-performance-tests, and edit the alpdense.sh including BLAS_ROOT, LAPACK_LIB, LAPACK_INCLUDE. All these libraries and directories are set as standard 'Generating a Complete LAPACK Library' at https://www.hikunpeng.com/document/detail/en/kunpengaccel/math-lib/devg-kml/kunpengaccel_kml_16_0218.html.
After enter the root directory of ALP, mkdir build && cd build/ , then bash ../alpdense.sh, the following configure and compliation is
`-- Setting the datasets directory GNN_DATASET_PATH to ""
-- Found OpenMP_C: -fopenmp
-- Found OpenMP_CXX: -fopenmp
-- Found OpenMP: TRUE
######### Configured with the following backends: #########
reference;reference_omp;alp_reference
######### COMPILATION OPTIONS AND DEFINITIONS #########
Build type: Release
global flags (from CMake):
common definitions:
common options: -g;-Wall;-Wextra
flags for BACKENDS:
definitions: NDEBUG
options: -O3;-march=native;-mtune=native;-funroll-loops
flags for TESTS:
category: unit
mode: unit_ndebug
definitions:
options:
performance definitions: NDEBUG
performance options: -O3;-march=native;-mtune=native;-funroll-loops
mode: unit_debug
definitions:
options:
performance definitions:
performance options: -O0
default test flags (categories: smoke, performance)
common definitions:
common options:
performance definitions: NDEBUG
performance options: -O3;-march=native;-mtune=native;-funroll-loops
######### END OF COMPILATION OPTIONS AND DEFINITIONS #########
-- Configuring done
-- Generating done
And begin 'Starting standardised smoke tests for the alp_reference backend', and the smoke test finished normally until print that
All smoke tests done.
[100%] Built target smoketests_alp
~/ALP-603-dense-mxm-performance-tests/tests/performance/lapack_dstedc.cpp: In function ‘void alp_program(const inpdata&, bool&)’:
~/ALP-603-dense-mxm-performance-tests/tests/performance/lapack_dstedc.cpp:105:108: error: too few arguments to function ‘void dstedc_(const char*, const int*, double*, double*, double*, const int*, double*, const int*, int*, const int*, int*, size_t)’
105 | dstedc_(&compz, &N, &( vec_d[0] ), &( vec_e[0] ), &( mat_z[0] ), &N, &wopt, &lwork, &iwopt, &liwork, &info);
| ^
In file included from ~/full-package/lapack_adapt/netlib/build/include/lapack.h:11,
from ~/full-package/lapack_adapt/netlib/build/include/lapacke.h:36,
from ~/ALP-603-dense-mxm-performance-tests/tests/performance/lapack_dstedc.cpp:24:
~/full-package/lapack_adapt/netlib/build/include/lapack.h:16142:42: note: declared here
16142 | #define LAPACK_dstedc_base LAPACK_GLOBAL(dstedc,DSTEDC)
| ^~~~~~
~/full-package/lapack_adapt/netlib/build/include/lapacke_mangling.h:5:34: note: in definition of macro ‘LAPACK_GLOBAL’
5 | #define LAPACK_GLOBAL(name,NAME) name##_
| ^~~~
~/full-package/lapack_adapt/netlib/build/include/lapack.h:16143:6: note: in expansion of macro ‘LAPACK_dstedc_base’
16143 | void LAPACK_dstedc_base(
| ^~~~~~~~~~~~~~~~~~
~/ALP-603-dense-mxm-performance-tests/tests/performance/lapack_dstedc.cpp:118:139: error: too few arguments to function ‘void dstedc_(const char*, const int*, double*, double*, double*, const int*, double*, const int*, int*, const int*, int*, size_t)’
118 | dstedc_(&compz, &N, &( vec_d_work[0] ), &( vec_e_work[0] ), &( mat_z_work[0] ), &N, &( work[0] ), &lwork, &( iwork[0] ), &liwork, &info);
| ^
In file included from ~/full-package/lapack_adapt/netlib/build/include/lapack.h:11,
from ~/full-package/lapack_adapt/netlib/build/include/lapacke.h:36,
from ~/ALP-603-dense-mxm-performance-tests/tests/performance/lapack_dstedc.cpp:24:
~/full-package/lapack_adapt/netlib/build/include/lapack.h:16142:42: note: declared here
16142 | #define LAPACK_dstedc_base LAPACK_GLOBAL(dstedc,DSTEDC)
| ^~~~~~
~/full-package/lapack_adapt/netlib/build/include/lapacke_mangling.h:5:34: note: in definition of macro ‘LAPACK_GLOBAL’
5 | #define LAPACK_GLOBAL(name,NAME) name##_
| ^~~~
~/full-package/lapack_adapt/netlib/build/include/lapack.h:16143:6: note: in expansion of macro ‘LAPACK_dstedc_base’
16143 | void LAPACK_dstedc_base(
| ^~~~~~~~~~~~~~~~~~
Compiling dstedc failed
...
...
...
~/ALP-603-dense-mxm-performance-tests/tests/performance/lapack_dpotri.cpp: In function ‘void alp_program(const inpdata&, bool&)’:
~/ALP-603-dense-mxm-performance-tests/tests/performance/lapack_dpotri.cpp:104:54: error: too few arguments to function ‘void dpotri_(const char*, const int*, double*, const int*, int*, size_t)’
104 | dpotri_( &uplo, &N, &( mat_a_work[0] ), &N, &info );
| ^
In file included from ~/full-package/lapack_adapt/netlib/build/include/lapack.h:11,
from ~/full-package/lapack_adapt/netlib/build/include/lapacke.h:36,
from ~/ALP-603-dense-mxm-performance-tests/tests/performance/lapack_dpotri.cpp:25:
~/full-package/lapack_adapt/netlib/build/include/lapack.h:13505:42: note: declared here
13505 | #define LAPACK_dpotri_base LAPACK_GLOBAL(dpotri,DPOTRI)
| ^~~~~~
~/full-package/lapack_adapt/netlib/build/include/lapacke_mangling.h:5:34: note: in definition of macro ‘LAPACK_GLOBAL’
5 | #define LAPACK_GLOBAL(name,NAME) name##_
| ^~~~
~/full-package/lapack_adapt/netlib/build/include/lapack.h:13506:6: note: in expansion of macro ‘LAPACK_dpotri_base’
13506 | void LAPACK_dpotri_base(
| ^~~~~~~~~~~~~~~~~~
Compiling dpotri failed
#####################################################################
LAPACK smoketests (seq)
#####################################################################
../alpdense.sh: line 84: ./dstedc_lapack_reference.exe: No such file or directory
test dstedc failed
../alpdense.sh: line 84: ./dsyevd_lapack_reference.exe: No such file or directory
test dsyevd failed
../alpdense.sh: line 84: ./dsytrd_lapack_reference.exe: No such file or directory
test dsytrd failed
../alpdense.sh: line 84: ./zhetrd_lapack_reference.exe: No such file or directory
test zhetrd failed
Testing dgeqrf_ ( 100 x 200 )
Test repeated 20 times.
time (ms, total) = 44.9702
time (ms, per repeat) = 2.24851
Tests OK
../alpdense.sh: line 84: ./dgesvd_lapack_reference.exe: No such file or directory
test dgesvd failed
Testing dgetrf_ ( 100 x 200 )
Test repeated 20 times.
time (ms, total) = 6.48435
time (ms, per repeat) = 0.324218
Tests OK
../alpdense.sh: line 84: ./dpotri_lapack_reference.exe: No such file or directory
test dpotri failed
`
And there is no executable binary file undet the dictionary ALP-603-dense-mxm-performance-tests/build/tests/performance/
I want to know how to solve the LAPACK functional arguments nonmatching problem.