Running tests fail and visual studio configuration

Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)
dannnnn
Posts: 37
Joined: Tue Mar 03, 2015 3:41 pm

Re: Running tests fail and visual studio configuration

Post by dannnnn » Thu Mar 12, 2015 9:54 am

Could you please specify what are old routines? Thank you very much!

hartwig anzt
Posts: 90
Joined: Tue Sep 02, 2014 5:44 pm

Re: Running tests fail and visual studio configuration

Post by hartwig anzt » Thu Mar 12, 2015 9:57 am

Check the Makefile - all routines not in the makefile should be disregarded.

Sorry for the inconvenience!

Hartwig

dannnnn
Posts: 37
Joined: Tue Mar 03, 2015 3:41 pm

Re: Running tests fail and visual studio configuration

Post by dannnnn » Thu Mar 12, 2015 10:05 am

Do you refers to the sparse-iter module?

hartwig anzt
Posts: 90
Joined: Tue Sep 02, 2014 5:44 pm

Re: Running tests fail and visual studio configuration

Post by hartwig anzt » Thu Mar 12, 2015 10:06 am

yes

dannnnn
Posts: 37
Joined: Tue Mar 03, 2015 3:41 pm

Re: Running tests fail and visual studio configuration

Post by dannnnn » Thu Mar 12, 2015 12:03 pm

I got sparse-iter built successfully.

I tried to compile testing_dsolver.cpp in the C:\magma\sparse-iter\testing folder.

My configuration in Visual Studio is:
1. I added the generated sparse_iter.lib into C:\magma_build\lib\Debug where magma.lib, testing.lib and lapacktest.lib are.
2. I added the generated sparse_iter.lib into the addtional dependencies in linker input and under linker additional library directories, I included C:\magma_build\lib\Debug
3. I added C:\magma\sparse-iter\include, C:\magma\{control, include, testing} into the additional directories in both C\C++ and CUDA C\C++
4. I tried both CUDA C/C++ and C/C++ compiler as the build tool

However, I got link errors shown below:

Code: Select all

Error	25	error LNK1120: 24 unresolved externals	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\x64\Debug\magmaTest.exe	magmaTest
Error	11	error LNK2019: unresolved external symbol magma_dbajac_csr referenced in function magma_dbaiter	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dbaiter.obj)	magmaTest
Error	17	error LNK2019: unresolved external symbol magma_dbicgmerge_xrbeta referenced in function magma_dbicgstab_merge	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dbicgstab_merge.obj)	magmaTest
Error	21	error LNK2019: unresolved external symbol magma_dbicgmerge1 referenced in function magma_dbicgstab_merge	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dbicgstab_merge.obj)	magmaTest
Error	18	error LNK2019: unresolved external symbol magma_dbicgmerge2 referenced in function magma_dbicgstab_merge	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dbicgstab_merge.obj)	magmaTest
Error	19	error LNK2019: unresolved external symbol magma_dbicgmerge4 referenced in function magma_dbicgstab_merge	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dbicgstab_merge.obj)	magmaTest
Error	23	error LNK2019: unresolved external symbol magma_dcgmerge_spmv1 referenced in function magma_dcg_merge	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dcg_merge.obj)	magmaTest
Error	22	error LNK2019: unresolved external symbol magma_dcgmerge_xrbeta referenced in function magma_dcg_merge	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dcg_merge.obj)	magmaTest
Error	15	error LNK2019: unresolved external symbol magma_dcompact referenced in function magma_dlobpcg	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dlobpcg.obj)	magmaTest
Error	14	error LNK2019: unresolved external symbol magma_dcompactActive referenced in function magma_dlobpcg	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dlobpcg.obj)	magmaTest
Error	10	error LNK2019: unresolved external symbol magma_dgecsrmv_shift referenced in function magma_d_spmv_shift	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(magma_d_blaswrapper.obj)	magmaTest
Error	6	error LNK2019: unresolved external symbol magma_dgeellmv referenced in function magma_d_spmv	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(magma_d_blaswrapper.obj)	magmaTest
Error	9	error LNK2019: unresolved external symbol magma_dgeellmv_shift referenced in function magma_d_spmv_shift	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(magma_d_blaswrapper.obj)	magmaTest
Error	5	error LNK2019: unresolved external symbol magma_dgeellrtmv referenced in function magma_d_spmv	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(magma_d_blaswrapper.obj)	magmaTest
Error	7	error LNK2019: unresolved external symbol magma_dgeelltmv referenced in function magma_d_spmv	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(magma_d_blaswrapper.obj)	magmaTest
Error	8	error LNK2019: unresolved external symbol magma_dgeelltmv_shift referenced in function magma_d_spmv_shift	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(magma_d_blaswrapper.obj)	magmaTest
Error	4	error LNK2019: unresolved external symbol magma_dgesellpmv referenced in function magma_d_spmv	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(magma_d_blaswrapper.obj)	magmaTest
Error	24	error LNK2019: unresolved external symbol magma_djacobi_diagscal referenced in function magma_d_applyprecond	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(magma_d_precond_wrapper.obj)	magmaTest
Error	12	error LNK2019: unresolved external symbol magma_djacobisetup_vector_gpu referenced in function magma_djacobisetup_vector	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(djacobi.obj)	magmaTest
Error	13	error LNK2019: unresolved external symbol magma_dlobpcg_maxpy referenced in function magma_dlobpcg	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dlobpcg.obj)	magmaTest
Error	16	error LNK2019: unresolved external symbol magma_dlobpcg_res referenced in function magma_dlobpcg	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dlobpcg.obj)	magmaTest
Error	20	error LNK2019: unresolved external symbol magma_dmdotc referenced in function magma_dbicgstab_merge	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(dbicgstab_merge.obj)	magmaTest
Error	2	error LNK2019: unresolved external symbol magma_dmgeellmv referenced in function magma_d_spmv	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(magma_d_blaswrapper.obj)	magmaTest
Error	3	error LNK2019: unresolved external symbol magma_dmgeelltmv referenced in function magma_d_spmv	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(magma_d_blaswrapper.obj)	magmaTest
Error	1	error LNK2019: unresolved external symbol magma_dmgesellpmv referenced in function magma_d_spmv	C:\Users\Administrator\Documents\Visual Studio 2010\Projects\magma_test\magmaTest\sparse_iter.lib(magma_d_blaswrapper.obj)	magmaTest

I would like to know did I miss anything in the configuration or my sparse-iter.lib is not building successfully ? Thank you!

dannnnn
Posts: 37
Joined: Tue Mar 03, 2015 3:41 pm

Re: Running tests fail and visual studio configuration

Post by dannnnn » Fri Mar 13, 2015 11:44 am

I tried to run a piece of code below and got some weird results:

Code: Select all

// includes, system
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include<iostream>

// includes, project
#include "flops.h"
#include "magma.h"
#include "magmasparse.h"
#include "magma_lapack.h"
#include "testings.h"


int main(  int argc, char** argv )
{
	magma_d_sparse_matrix A;
	magma_queue_t queue;
    magma_queue_create( /*devices[ opts->device ],*/ &queue );
	magma_dm_5stencil(5, &A, queue );
	std::cout<<"A.num_rows="<<A.num_rows<<std::endl;
	std::cout<<"A.num_cols="<<A.num_cols<<std::endl;
	std::cout<<"A.num_nnz="<<A.nnz<<std::endl;
}
Result:

Code: Select all

A.num_rows=485331304473
A.num_cols=-3689348818177884155
A.num_nnz=20302400
I would like to know where I am wrong here?

hartwig anzt
Posts: 90
Joined: Tue Sep 02, 2014 5:44 pm

Re: Running tests fail and visual studio configuration

Post by hartwig anzt » Fri Mar 13, 2015 12:25 pm

I can not reproduce this error on a linux system. Seems to be a windows-specific bug. I will look into it at some point.

Sorry for the inconvenience!

Hartwig

dannnnn
Posts: 37
Joined: Tue Mar 03, 2015 3:41 pm

Re: Running tests fail and visual studio configuration

Post by dannnnn » Fri Mar 13, 2015 2:24 pm

I actually run another example(reads a matrix) and the code is shown below:

Code: Select all

// includes, system
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include<iostream>

// includes, project
#include "flops.h"
#include "magma.h"
#include "magmasparse.h"
#include "magma_lapack.h"
#include "testings.h"

int main(  int argc, char** argv )
{
	magma_d_sparse_matrix A;
    magma_queue_t queue;
    magma_queue_create( &queue );	
	const char *filename="smallMat.mtx";
	magma_d_csr_mtx(&A, filename, queue);
	std::cout<<"A.num_rows="<<A.num_rows<<std::endl;
	std::cout<<"A.num_cols="<<A.num_cols<<std::endl;
	std::cout<<"A.num_nnz="<<A.nnz<<std::endl;
}

I also got bad result:

Code: Select all

# Reading sparse matrix from file (smallMat.mtx): done
A.num_rows=34359738373
A.num_cols=-3689348814741910324
A.num_nnz=12161184

I set break point for function magma_d_csr_mtx(&A, filename, queue), I found before the function returned(I mean after the code return MAGMA_SUCCESS;, but before return to main function), the value A.num_rows, A.num_cols and A.num_nnz are correct. However, whenever it returns to the main function, those values become garbage.


The matrix is used is in the attachment.Please change its extension to .mtx before using that. Thank you!
Attachments
smallMat.txt
(1.33 KiB) Downloaded 117 times

hartwig anzt
Posts: 90
Joined: Tue Sep 02, 2014 5:44 pm

Re: Running tests fail and visual studio configuration

Post by hartwig anzt » Sat Mar 14, 2015 5:03 pm

Sorry, I can not help. My output is:

./testing_dbug
# Reading sparse matrix from file (smallMat.mtx): done
A.num_rows=5
A.num_cols=5
A.num_nnz=8

that looks fine to me.

dannnnn
Posts: 37
Joined: Tue Mar 03, 2015 3:41 pm

Re: Running tests fail and visual studio configuration

Post by dannnnn » Sun Mar 15, 2015 10:18 am

I would like to know whether you run the test under linux or windows and which compiler you use? Thanks!

Post Reply