Hi all,
I'm running MAGMA on windows through Visual Studios. I'm attempting to run the magma_cgglse function and I'm receiving the following errors.
1>magma.lib(cgglse.obj) : error LNK2001: unresolved external symbol caxpy_
1>magma.lib(cgglse.obj) : error LNK2001: unresolved external symbol ccopy_
1>magma.lib(cgglse.obj) : error LNK2001: unresolved external symbol cgemv_
1>magma.lib(cgglse.obj) : error LNK2001: unresolved external symbol ctrmv_
1>magma.lib(cgglse.obj) : error LNK2001: unresolved external symbol ctrsv_
1>magma.lib(cggrqf.obj) : error LNK2001: unresolved external symbol cgerqf_
1>magma.lib(cgeqrf_mgpu.obj) : error LNK2001: unresolved external symbol clarft_
1>magma.lib(cgeqrf2_gpu.obj) : error LNK2001: unresolved external symbol clarft_
1>magma.lib(cunmrq.obj) : error LNK2001: unresolved external symbol clarft_
1>magma.lib(cunmqr.obj) : error LNK2001: unresolved external symbol clarft_
1>magma.lib(cgeqrf.obj) : error LNK2001: unresolved external symbol clarft_
1>magma.lib(cgeqrf_ooc.obj) : error LNK2001: unresolved external symbol clarft_
1>magma.lib(cunmrq.obj) : error LNK2001: unresolved external symbol cunmrq_
1>magma.lib(cunmqr.obj) : error LNK2001: unresolved external symbol cunmqr_
1>magma.lib(magma_cauxiliary.obj) : error LNK2001: unresolved external symbol slamch_
1>magma.lib(cgeqrf.obj) : error LNK2001: unresolved external symbol cgeqrf_
1>magma.lib(cgeqrf_m.obj) : error LNK2001: unresolved external symbol cgeqrf_
1>magma.lib(cgeqrf_mgpu.obj) : error LNK2001: unresolved external symbol cgeqrf_
1>magma.lib(cgeqrf2_gpu.obj) : error LNK2001: unresolved external symbol cgeqrf_
From what I can tell these unresolved externals are from LAPACK. Upon installing MAGMA, I did not have any BLAS or LAPACK libraries at the time. If I rebuild MAGMA through CMake and include the locations of both libraries will that solve this problem?
On another note, I have attempted to download LAPACK but I do not have access to a Fortran compiler. Is there a way to download LAPACK without Fortran like there is for MAGMA?
Thank you,
Josh
cgglse and LAPACK
Re: cgglse and LAPACK
Yes, you need BLAS and LAPACK libraries. Try OpenBLAS, which comes with LAPACK. (I mean, get a prebuilt OpenBLAS, so you don’t need the Fortean compiler.)
Mark
Mark
Re: cgglse and LAPACK
Thank you! I downloaded prebuilt BLAS and Lapack libraries and that removed those errors. However, my code will now build correctly but will experience the following error when I attempt to launch:
The code execution cannot proceed because libgfortran_64-3.dll was not found. Reinstalling the program may fix this problem.
The code execution cannot proceed because libgcc_s_seh_64-1.dll was not found. Reinstalling the program may fix this problem.
After some more research I downloaded MinGW-w64 for Windows to obtain these two dll files. I am attempting to launch on a 64 bit platform but I can only seem to find the 32 bit versions of these two files within MinGW-w64.
Thank you,
Josh
The code execution cannot proceed because libgfortran_64-3.dll was not found. Reinstalling the program may fix this problem.
The code execution cannot proceed because libgcc_s_seh_64-1.dll was not found. Reinstalling the program may fix this problem.
After some more research I downloaded MinGW-w64 for Windows to obtain these two dll files. I am attempting to launch on a 64 bit platform but I can only seem to find the 32 bit versions of these two files within MinGW-w64.
Thank you,
Josh
Re: cgglse and LAPACK
These seem to be DLLs that OpenBLAS requires on Windows. We're not very familiar with the issues on Windows — sorry. Alternatively, you can get a free community version of Intel MKL which will have both BLAS and LAPACK.
See: https://software.intel.com/en-us/articl ... -libraries
-mark
See: https://software.intel.com/en-us/articl ... -libraries
-mark
Re: cgglse and LAPACK
Gotcha, I've since remedied the problem by downloading the free version of MKL but I have now run into a different problem.
I am attempting to use the magma_cgglse function and have run into the following problem. The size of the matrices that I am attempting to input to the function cannot satisfy some of the input constraints. I have two 1090 x 990 matrices, which cause the corresponding input parameters to need to be set. M = Rows of Matrix A = 1090, N = Columns of Matrix A and B = 990, and P = Rows of Matrix B = 1090. These three parameters must satisfy the following condition according to the function documentation:
0 <= P <= N <= M+P
0 <= 1090 <= 990 <=1090+990
With my input matrices, I cannot satisfy this condition. Is there a process I should be using on my input matrices before inputting them to magma_cgglse? I am somewhat unfamiliar with preparing data for input to a LSE solver.
Thank you,
Joshua E. Collins
I am attempting to use the magma_cgglse function and have run into the following problem. The size of the matrices that I am attempting to input to the function cannot satisfy some of the input constraints. I have two 1090 x 990 matrices, which cause the corresponding input parameters to need to be set. M = Rows of Matrix A = 1090, N = Columns of Matrix A and B = 990, and P = Rows of Matrix B = 1090. These three parameters must satisfy the following condition according to the function documentation:
0 <= P <= N <= M+P
0 <= 1090 <= 990 <=1090+990
With my input matrices, I cannot satisfy this condition. Is there a process I should be using on my input matrices before inputting them to magma_cgglse? I am somewhat unfamiliar with preparing data for input to a LSE solver.
Thank you,
Joshua E. Collins