Migration from CLAPACK 22.0.0
Hi,
I've been asked to migrate some code that uses CLAPACK 22.0.0 to LAPACK-3.4.1 and so far everything compiles and links correctly. But my problem comes when I compare in unit tests the outputs between CLAPACK and LAPACK: for the same given inputs I get different results. The functions in question in CLAPACK 22.0.0 are dgelsd_, dgeqrf_, dtrtri_ and dstev_. I have tried to migrate them to LAPACK 3.4.1 functions: LAPACK_dgelsd, LAPACK_dgeqrf, LAPACK_dtrtri, LAPACK_dstev and also to LAPACKE_dgelsd_work, LAPACKE_dgeqrf_work, LAPACKE_dtrtri_work, LAPACKE_dstev_work.
I get the best results (the ones that are similar to CLAPACK 22.0.0) with LAPACKE_*_work with column major, but I still get some different values in array WORK and IWORK. Should I worry about theses differences?
For example for array WORK I only get one element in the array with a different value:
CLAPACK-22.0.0(dgelsd_) -> WORK[9] = 1
LAPACK-3.4.1(LAPACKE_dgelsd_work) -> WORK[9] = 32
For all the other functions the significant differences are similar.
I'm compiling with GCC 4.7.2 and the makefile flags are the following:
- CLAPACK 22.0.0:
CFLAGS=-c -Wall -I./clapack/lib -I./clapack/include -Wno-deprecated
LDFLAGS=-L./clapack/lib -llapack -lblas -lf2c
- LAPACK 3.4.1:
CFLAGS=-c -Wall -I./lapack-3.4.1 -I./lapack-3.4.1/lapacke/include -Wno-deprecated
LDFLAGS=-L./lapack-3.4.1 -llapack -llapacke -lrefblas -DLAPACK_ILP64 -lgfortran
Thanks,
Sebastian.
I've been asked to migrate some code that uses CLAPACK 22.0.0 to LAPACK-3.4.1 and so far everything compiles and links correctly. But my problem comes when I compare in unit tests the outputs between CLAPACK and LAPACK: for the same given inputs I get different results. The functions in question in CLAPACK 22.0.0 are dgelsd_, dgeqrf_, dtrtri_ and dstev_. I have tried to migrate them to LAPACK 3.4.1 functions: LAPACK_dgelsd, LAPACK_dgeqrf, LAPACK_dtrtri, LAPACK_dstev and also to LAPACKE_dgelsd_work, LAPACKE_dgeqrf_work, LAPACKE_dtrtri_work, LAPACKE_dstev_work.
I get the best results (the ones that are similar to CLAPACK 22.0.0) with LAPACKE_*_work with column major, but I still get some different values in array WORK and IWORK. Should I worry about theses differences?
For example for array WORK I only get one element in the array with a different value:
CLAPACK-22.0.0(dgelsd_) -> WORK[9] = 1
LAPACK-3.4.1(LAPACKE_dgelsd_work) -> WORK[9] = 32
For all the other functions the significant differences are similar.
I'm compiling with GCC 4.7.2 and the makefile flags are the following:
- CLAPACK 22.0.0:
CFLAGS=-c -Wall -I./clapack/lib -I./clapack/include -Wno-deprecated
LDFLAGS=-L./clapack/lib -llapack -lblas -lf2c
- LAPACK 3.4.1:
CFLAGS=-c -Wall -I./lapack-3.4.1 -I./lapack-3.4.1/lapacke/include -Wno-deprecated
LDFLAGS=-L./lapack-3.4.1 -llapack -llapacke -lrefblas -DLAPACK_ILP64 -lgfortran
Thanks,
Sebastian.