vecLibFort icon indicating copy to clipboard operation
vecLibFort copied to clipboard

errors when running the Netlib BLAS tests on Intel Monterey

Open KayDiederichs opened this issue 2 years ago • 0 comments

I try to use gfortran 12.1 (from https://github.com/fxcoudert/gfortran-for-macOS/releases) with the Accelerate framework of Xcode CLT 13.1. I test with the binaries produced in the TESTING subdirectory of Netlib BLAS 3.11.0 , expecting that these should exercise BLAS thoroughly. The Makefile is

FC = gfortran
FFLAGS = -fautomatic 
LDFLAGS = /usr/local/lib/libvecLibFort.a -framework Accelerate
#LDFLAGS = -lblas 


.PHONY: all single double complex complex16
all: single double complex complex16
single:    xblat1s xblat2s xblat3s
double:    xblat1d xblat2d xblat3d
complex:   xblat1c xblat2c xblat3c
complex16: xblat1z xblat2z xblat3z

xblat1s: sblat1.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)
xblat1d: dblat1.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)
xblat1c: cblat1.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)
xblat1z: zblat1.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)

xblat2s: sblat2.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)
xblat2d: dblat2.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)
xblat2c: cblat2.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)
xblat2z: zblat2.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)

xblat3s: sblat3.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)
xblat3d: dblat3.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)
xblat3c: cblat3.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)
xblat3z: zblat3.o 
	$(FC) $(FFLAGS) -o $@ $^ $(LDFLAGS)

.PHONY: run
run: all
	./xblat1s > sblat1.out
	./xblat1d > dblat1.out
	./xblat1c > cblat1.out
	./xblat1z > zblat1.out
	./xblat2s < sblat2.in
	./xblat2d < dblat2.in
	./xblat2c < cblat2.in
	./xblat2z < zblat2.in
	./xblat3s < sblat3.in
	./xblat3d < dblat3.in
	./xblat3c < cblat3.in
	./xblat3z < zblat3.in

.PHONY: clean cleanobj cleanexe cleantest
clean: cleanobj cleanexe cleantest
cleanobj:
	rm -f *.o
cleanexe:
	rm -f xblat*
cleantest:
	rm -f *.out core

but make run gives error messages. If I run the binaries manually in the order shown in the Makefile, I get

 BLAS error: Parameter number 5 passed to cblas_scopy had an invalid value
 BLAS error: Parameter number 5 passed to cblas_dcopy had an invalid value
** On entry to SGEMV , parameter number  1 had an illegal value
 BLAS error: Parameter number 3 passed to cblas_sgemv had an invalid value
** On entry to DGEMV , parameter number  1 had an illegal value
 BLAS error: Parameter number 4 passed to cblas_dgemv had an invalid value
** On entry to CGEMV , parameter number  1 had an illegal value
 BLAS error: Parameter m passed to cblas_cgemv was -1, which is invalid.
** On entry to ZGEMV , parameter number  1 had an illegal value
 BLAS error: Parameter m passed to cblas_zgemv was -1, which is invalid.
** On entry to SGEMM , parameter number  1 had an illegal value
** On entry to SGEMM , parameter number  1 had an illegal value
** On entry to SGEMM , parameter number  2 had an illegal value
** On entry to SGEMM , parameter number  2 had an illegal value
M cannot be less than zero 0, but has value -1. BLAS error: Parameter number 4 passed to cblas_sgemm had an invalid value
** On entry to DGEMM , parameter number  1 had an illegal value
** On entry to DGEMM , parameter number  1 had an illegal value
** On entry to DGEMM , parameter number  2 had an illegal value
** On entry to DGEMM , parameter number  2 had an illegal value
M cannot be less than zero 0, but has value -1. BLAS error: Parameter number 4 passed to cblas_dgemm had an invalid value
** On entry to CGEMM , parameter number  1 had an illegal value
** On entry to CGEMM , parameter number  1 had an illegal value
** On entry to CGEMM , parameter number  1 had an illegal value
** On entry to CGEMM , parameter number  2 had an illegal value
** On entry to CGEMM , parameter number  2 had an illegal value
** On entry to CGEMM , parameter number  2 had an illegal value
M cannot be less than zero 0, but has value -1. BLAS error: Parameter number 4 passed to cblas_cgemm had an invalid value
** On entry to ZGEMM , parameter number  1 had an illegal value
** On entry to ZGEMM , parameter number  1 had an illegal value
** On entry to ZGEMM , parameter number  1 had an illegal value
** On entry to ZGEMM , parameter number  2 had an illegal value
** On entry to ZGEMM , parameter number  2 had an illegal value
** On entry to ZGEMM , parameter number  2 had an illegal value
M cannot be less than zero 0, but has value -1. BLAS error: Parameter number 4 passed to cblas_zgemm had an invalid value

and

dikay@Kays-MacBook-Air-2018 TESTING % grep FAIL *out
cblat1.out:                                       FAIL
zblat1.out:                                       FAIL

In addition to the 2 FAILs, there are 26 PASSed tests. It appears to me that something is missing in vecLibfFort that would prevent these errors.

KayDiederichs avatar Feb 19 '23 18:02 KayDiederichs