My problem with compiling MAGMA

Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)
roalmar2
Posts: 20
Joined: Thu Jul 03, 2014 6:06 am

Re: My problem with compiling MAGMA

Post by roalmar2 » Tue Jul 15, 2014 6:53 am

The result of the diff at the testing_dgeqrf_mgpu.cpp code is:

104c104,109
<
---
>
> /* muestra del contenido de la matriz*/ -> shows the matrix
> printf("****** Matriz inicial *********");
> for(int i=0; i<M ; i++)
> for (int j=0;j<N; j++)
> printf("h_A[N*i+j]: %f \n", h_A[N*i+j]);
135a141,167
>
>
> /* checksum*/
> /*lapack y magma*/
> double max_double = 1073741824; // 2^30 (2^52)
> double auxl = 0.0;
> double auxm = 0.0;
> double res_lap = 0.0;
> double res_mag = 0.0;
> for(int i=0; i<M ; i++)
> for (int j=0;j<N; j++)
> {
> if(auxl > max_double)
{
> res_lap /= 100;
> }
> res_lap += res_lap + h_A[N*i+j];
> auxl = res_lap;
> if(auxm > max_double)
> {
> res_mag /= 100;
> }
> res_mag += res_mag + d_lA[j];
> auxm = res_mag;
> }
> printf("---- Checksum lapack: %f Checsum magma: %f \n", res_lap, res_mag);

Is the unic file i modified. I wanto to make the sum of the matrix elements to verify the correct execution with two different methods

Is not French, it is Spanish. :)

When I compile I use de make.inc and make -j24

Thank you a lot!!

mgates3
Posts: 885
Joined: Fri Jan 06, 2012 2:13 pm

Re: My problem with compiling MAGMA

Post by mgates3 » Tue Jul 15, 2014 12:06 pm

Are there differences in ANY other files -- headers, Makefiles, etc. -- because the differences you show here would not explain the compilation problems that you were experiencing with magma_sutil.cpp, etc. That's why I suggested doing a diff of the entire directory with a fresh copy of MAGMA.
-mark

roalmar2
Posts: 20
Joined: Thu Jul 03, 2014 6:06 am

Re: My problem with compiling MAGMA

Post by roalmar2 » Tue Jul 15, 2014 12:13 pm

No. The only difference is in this file.

I posted the make.inc file before in this post.

I don't know why takes errors in files I didn't change.

Anyway I will make the diff of the folder and i will tell you which are the results.

---------------------

The result of the diff between the folders, one with originals, one with changes is:

Code: Select all

 diff -r MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/control/magma.mod MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/control/magma.mod
1,2c1,2
< GFORTRAN module version '0' created from magma.f90 on Mon Jul  7 13:26:16 2014
< MD5:f970c7e4f1049966ecc1fb851a8e1248 -- If you edit this, you'll get what you deserve.
---
> GFORTRAN module version '0' created from magma.f90 on Mon Jul 14 12:05:09 2014
> MD5:e0f2e13e8052e6ec1fd314389d0cb90f -- If you edit this, you'll get what you deserve.
12819a12820,12822
> 3466 'ptrnew' '' 'ptrnew' 3465 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
> UNKNOWN UNKNOWN DUMMY) (INTEGER 8 0 0 INTEGER ()) 0 0 () () 0 () () () 0
> 0)
12834,12836d12836
< 3466 'ptrnew' '' 'ptrnew' 3465 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
< UNKNOWN UNKNOWN DUMMY) (INTEGER 8 0 0 INTEGER ()) 0 0 () () 0 () () () 0
< 0)
diff -r MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/control/magma_sfortran.mod MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/control/magma_sfortran.mod
1,2c1,2
< GFORTRAN module version '0' created from magma_sfortran.F90 on Mon Jul  7 13:26:16 2014
< MD5:b1cace74137a22b0fb30cccb4c024125 -- If you edit this, you'll get what you deserve.
---
> GFORTRAN module version '0' created from magma_sfortran.F90 on Mon Jul 14 12:05:08 2014
> MD5:ea43b8df2a127093e3c0c42fb61ce02c -- If you edit this, you'll get what you deserve.
3235c3235
< 585 'ptrold' '' 'ptrold' 583 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
---
> 584 'ptrnew' '' 'ptrnew' 583 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
3238c3238
< 584 'ptrnew' '' 'ptrnew' 583 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
---
> 585 'ptrold' '' 'ptrold' 583 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/exp/tools/magmasubs.pyc y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/exp/tools/magmasubs.pyc son distintos
diff -r MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/include/magma.mod MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/include/magma.mod
1,2c1,2
< GFORTRAN module version '0' created from magma.f90 on Mon Jul  7 13:26:16 2014
< MD5:f970c7e4f1049966ecc1fb851a8e1248 -- If you edit this, you'll get what you deserve.
---
> GFORTRAN module version '0' created from magma.f90 on Mon Jul 14 12:05:09 2014
> MD5:e0f2e13e8052e6ec1fd314389d0cb90f -- If you edit this, you'll get what you deserve.
12819a12820,12822
> 3466 'ptrnew' '' 'ptrnew' 3465 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
> UNKNOWN UNKNOWN DUMMY) (INTEGER 8 0 0 INTEGER ()) 0 0 () () 0 () () () 0
> 0)
12834,12836d12836
< 3466 'ptrnew' '' 'ptrnew' 3465 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
< UNKNOWN UNKNOWN DUMMY) (INTEGER 8 0 0 INTEGER ()) 0 0 () () 0 () () () 0
< 0)
diff -r MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/include/magma_sfortran.mod MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/include/magma_sfortran.mod
1,2c1,2
< GFORTRAN module version '0' created from magma_sfortran.F90 on Mon Jul  7 13:26:16 2014
< MD5:b1cace74137a22b0fb30cccb4c024125 -- If you edit this, you'll get what you deserve.
---
> GFORTRAN module version '0' created from magma_sfortran.F90 on Mon Jul 14 12:05:08 2014
> MD5:ea43b8df2a127093e3c0c42fb61ce02c -- If you edit this, you'll get what you deserve.
3235c3235
< 585 'ptrold' '' 'ptrold' 583 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
---
> 584 'ptrnew' '' 'ptrnew' 583 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
3238c3238
< 584 'ptrnew' '' 'ptrnew' 583 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
---
> 585 'ptrold' '' 'ptrold' 583 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/lib/libmagma.a y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/lib/libmagma.a son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/cgeadd_batched.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/cgeadd_batched.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/cgetmatrix_transpose.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/cgetmatrix_transpose.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/chemv_fermi_mgpu_32.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/chemv_fermi_mgpu_32.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/chemv_fermi_mgpu.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/chemv_fermi_mgpu.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/chemv_tesla.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/chemv_tesla.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/clacpy.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/clacpy.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/clange.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/clange.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/clanhe.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/clanhe.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/clarfbx.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/clarfbx.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/csetmatrix_transpose.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/csetmatrix_transpose.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/csymv_fermi.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/csymv_fermi.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/csymv_tesla.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/csymv_tesla.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ctranspose.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ctranspose.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ctranspose_inplace.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ctranspose_inplace.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ctranspose-v2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ctranspose-v2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgeadd_batched.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgeadd_batched.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_fermi.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_fermi.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_reduce.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_reduce.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_tesla_a_0.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_tesla_a_0.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_tesla.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_tesla.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_tesla_N_N_special.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_tesla_N_N_special.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_tesla_T_T.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_tesla_T_T.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_tesla_T_T_special.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemm_tesla_T_T_special.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemv_fermi.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemv_fermi.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemv_MLU.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgemv_MLU.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgeqr2x_gpu-v4.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgeqr2x_gpu-v4.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgetf2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dgetf2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlag2s.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlag2s.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlansy.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlansy.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlaqps2_gpu.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlaqps2_gpu.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlarfg-v2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlarfg-v2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlarfgx-v2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlarfgx-v2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlarfx.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlarfx.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlascl.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlascl.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlat2s.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dlat2s.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dnrm2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dnrm2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dpotf2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dpotf2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsaxpycp.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsaxpycp.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsetmatrix_transpose.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsetmatrix_transpose.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsetmatrix_transpose_mgpu.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsetmatrix_transpose_mgpu.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dswapblk.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dswapblk.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dswapdblk.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dswapdblk.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsymmetrize.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsymmetrize.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsymmetrize_tiles.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsymmetrize_tiles.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsymv_fermi_mgpu_32.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsymv_fermi_mgpu_32.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsymv_fermi_mgpu.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dsymv_fermi_mgpu.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dtranspose_inplace.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/dtranspose_inplace.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sauxiliary.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sauxiliary.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgeadd_batched.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgeadd_batched.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgeadd.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgeadd.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemm_fermi.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemm_fermi.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemm_tesla_a_0.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemm_tesla_a_0.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemm_tesla_ab_0.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemm_tesla_ab_0.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemm_tesla_N_T.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemm_tesla_N_T.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemm_tesla_T_T.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemm_tesla_T_T.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemv_fermi.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgemv_fermi.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgeqr2x_gpu-v4.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgeqr2x_gpu-v4.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgetf2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgetf2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgetmatrix_transpose.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sgetmatrix_transpose.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/slag2d.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/slag2d.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/slarfx.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/slarfx.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/snrm2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/snrm2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/spotf2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/spotf2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sswapdblk.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/sswapdblk.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ssymv_fermi.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ssymv_fermi.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ssymv_fermi_mgpu_32.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ssymv_fermi_mgpu_32.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ssyr2k.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/ssyr2k.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/stranspose.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/stranspose.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/stranspose-v2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/stranspose-v2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zauxiliary.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zauxiliary.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zcaxpycp.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zcaxpycp.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgeadd_batched.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgeadd_batched.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgeadd.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgeadd.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgemm_fermi.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgemm_fermi.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgeqr2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgeqr2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgeqr2x_gpu-v4.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgeqr2x_gpu-v4.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgetf2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgetf2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgetmatrix_transpose.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zgetmatrix_transpose.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlag2c.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlag2c.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlange.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlange.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlanhe.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlanhe.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlaqps2_gpu.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlaqps2_gpu.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlaqps3_gpu.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlaqps3_gpu.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlarfbx.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlarfbx.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlarfgx-v2.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlarfgx-v2.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlascl.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlascl.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlaswp.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlaswp.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlat2c.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zlat2c.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zswapblk.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zswapblk.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zswap.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zswap.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zswapdblk.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zswapdblk.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zsymmetrize.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zsymmetrize.cu_o son distintos
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zsymmetrize_tiles.cu_o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/magmablas/zsymmetrize_tiles.cu_o son distintos
Sólo en MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing: {
Sólo en MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing: }
Sólo en MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing: auxl
Sólo en MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing: auxm
Sólo en MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing: diff_result.txt
Sólo en MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing: double
Sólo en MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing: res_mag
Sólo en MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing: salida.txt
diff -r MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_cutil.cpp MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_cutil.cpp
8c8
<        @generated c Tue Dec 17 13:18:57 2013
---
>        @generated c Mon Jul 14 12:07:47 2014
24c24
< void magma_cmake_hermitian( magma_int_t N, magmaFloatComplex* A, magma_int_t lda )
---
> void magma_cmake_hermitian( magma_int_t N, magmaDoubleComplex* A, magma_int_t lda )
41c41
< void magma_cmake_hpd( magma_int_t N, magmaFloatComplex* A, magma_int_t lda )
---
> void magma_cmake_hpd( magma_int_t N, magmaDoubleComplex* A, magma_int_t lda )
Sólo en MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing: testing_dgeqrf_mgpu
diff -r MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_dgeqrf_mgpu.cpp MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_dgeqrf_mgpu.cpp
104c104,109
<             
---
>  
>  /* muestra del contenido de la matriz*/
>   	    printf("****** Matriz inicial *********");
>      	    for(int i=0; i<M ; i++)
>      		for (int j=0;j<N; j++)
>  			  printf("h_A[N*i+j]: %f \n", h_A[N*i+j]);           
135a141,167
> 
> 
> /* checksum*/
>     /*lapack y magma*/
>     double max_double = 1073741824; // 2^30 (2^52)
>     double auxl = 0.0;
>     double auxm = 0.0;
>     double res_lap = 0.0;
>     double res_mag = 0.0; 
>     for(int i=0; i<M ; i++)
>       for (int j=0;j<N; j++)
>       {
> 	if(auxl > max_double)					  			{
> 	res_lap /= 100;
> 	}
> 	res_lap += res_lap + h_A[N*i+j];
> 	auxl = res_lap;
> 	if(auxm > max_double)
> 	{
> 	res_mag /= 100;
> 	}
> 	res_mag += res_mag + d_lA[i][j]; // OJO
> 	auxm = res_mag;
>       }
> printf("---- Checksum lapack: %f  Checsum magma: %f \n", res_lap, res_mag);
> 
> 
Los ficheros binarios MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_dgeqrf_mgpu.o y MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_dgeqrf_mgpu.o son distintos
Sólo en MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing: testing_dgeqrf_mgpu_original.cpp
diff -r MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_sutil.cpp MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_sutil.cpp
8c8
<        @generated s Tue Dec 17 13:18:57 2013
---
>        @generated s Mon Jul 14 12:07:47 2014
24c24
< void magma_smake_symmetric( magma_int_t N, float* A, magma_int_t lda )
---
> void magma_smake_hermitian( magma_int_t N, magmaDoubleComplex* A, magma_int_t lda )
41c41
< void magma_smake_hpd( magma_int_t N, float* A, magma_int_t lda )
---
> void magma_smake_hpd( magma_int_t N, magmaDoubleComplex* A, magma_int_t lda )
Sólo en MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1: tools
diff -r MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/testing/testing_dgeqrf_mgpu.cpp MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/testing/testing_dgeqrf_mgpu.cpp
104c104,110
<             
---
>  
> /* muestra del contenido de la matriz  */
>  	    printf("****** Matriz inicial *********");
>  	    	    for(int i=0; i<M ; i++)
>  	    	    	for (int j=0;j<N; j++)
>  	    	    		printf("h_A[N*i+j]: %f \n", h_A[N*i+j]);
>            
136a143,169
> 
> /* checksum*/
>  	    /*lapack y magma*/
>  	    	    double max_double = 1073741824 // 2^30 (2^52)
>  	    	    	    double auxl= 0.0;
>  	    	    	    	    double auxm= 0.0;
>  	    	    	    	    	    double res_lap = 0.0;
>  	    	    	    	    	    	    double res_mag = 0.0; 
>  	    	    	    	    	    	    	    
>  	    	    	    	    	    	    	    	    for(int i=0; i<M ; i++)
>  	    	    	    	    	    	    	    	    		for (int j=0;j<N; j++)
>  	    	    	    	    	    	    	    	    				{
>  	    	    	    	    	    	    	    	    						  if(auxl > max_double)
>  	    	    	    	    	    	    	    	    						  			{
>  	    	    	    	    	    	    	    	    						  						  res_lap /= 100;
>  	    	    	    	    	    	    	    	    						  						  			}
> 	    	    	    	    	    	    	    	    						  						  					  res_lap += res_lap + h_A[N*i+j];
>  	    	    	    	    	    	    	    	    						  						  					  		  auxl = res_lap;
>  	    	    	    	    	    	    	    	    						  						  					  		  		  if(auxm > max_double)
>  	    	    	    	    	    	    	    	    						  						  					  		  		  			{
>  	    	    	    	    	    	    	    	    						  						  					  		  		  						  res_mag /= 100;
>  	    	    	    	    	    	    	    	    						  						  					  		  		  						  			}
>  	    	    	    	    	    	    	    	    						  						  					  		  		  						  					  res_mag += res_mag + d_lA[i][j]; // OJO
>     	    	    	    	    	    	    	    						  						  					  		  		  						  					  		  auxm = res_mag;
>     	    	    	    	    	    	    	    						  						  					  		  		  						  					  		  		}
>     	    	    	    						  						  					  		  		  						  					  		  			    printf("---- Checksum lapack: %f  Checsum magma: %f.\n", res_lap, res_mag);
> 
Sólo en MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/testing: testing_dgeqrf_mgpu_original.cpp 
Son distintos -> are differents (but I think that it refers only by the creation date)

At the files with errors, the difference is also the date, only ( I think )

roalmar2
Posts: 20
Joined: Thu Jul 03, 2014 6:06 am

Re: My problem with compiling MAGMA

Post by roalmar2 » Wed Jul 16, 2014 10:14 am

Hello, I solved the problem.

I don't know why or how, two files were modified when I coppied all the folder (to make changes)

The files testing_cutil.cpp and testing_sutil.cpp, were corrupted (I didn't change them, ¿wtf?)

So, making diff I saw it:

Code: Select all

diff -r MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_cutil.cpp MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_cutil.cpp
8c8
<        @generated c Tue Dec 17 13:18:57 2013
---
>        @generated c Mon Jul 14 12:07:47 2014
24c24
< void magma_cmake_hermitian( magma_int_t N, magmaFloatComplex* A, magma_int_t lda )
---
> void magma_cmake_hermitian( magma_int_t N, magmaDoubleComplex* A, magma_int_t lda )

diff -r MAGMA_SRC/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_sutil.cpp MAGMA_CHECK/MAGMA/1.4.1/mkl+cuda60/magma-1.4.1/testing/testing_sutil.cpp
8c8
<        @generated s Tue Dec 17 13:18:57 2013
---
>        @generated s Mon Jul 14 12:07:47 2014
24c24
< void magma_smake_symmetric( magma_int_t N, float* A, magma_int_t lda )
---
> void magma_smake_hermitian( magma_int_t N, magmaDoubleComplex* A, magma_int_t lda )
I copied the files individually and recompiled all.
All works ok, the new errors are for my bad programming, ;)

If anyone knows why that passed, tell me, please.

Thank yoy very much, specially for mgates3

mgates3
Posts: 885
Joined: Fri Jan 06, 2012 2:13 pm

Re: My problem with compiling MAGMA

Post by mgates3 » Wed Jul 16, 2014 4:30 pm

Glad you found the difference. It looks like maybe you got testing_sutil.cpp and testing_cutil.cpp files from two different releases, since the @generated dates (which would be fixed when MAGMA was released) are different. A bit bewildering.

-mark

Post Reply