MAGMA 1.5.0 released

Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)
Post Reply
mgates3
Posts: 918
Joined: Fri Jan 06, 2012 2:13 pm

MAGMA 1.5.0 released

Post by mgates3 » Tue Sep 02, 2014 12:43 pm

MAGMA 1.5.0 is now available. This release provides performance improvements for SVD and eigenvector routines, and adds sparse routines. The MAGMA 1.5.0 release adds the following new functionalities:
  • SVD using Divide and Conquer (gesdd)
    Nonsymmetric eigenvector computation is multi-threaded (trevc3_mt)
    Sparse functions
    Doxygen documentation included
Parameters (trans, uplo, etc.) now use symbolic constants (MagmaNoTrans, MagmaLower, etc.) instead of characters ('N', 'L', etc.). Converters are provided to translate these to LAPACK, CUBLAS, and CBLAS constants. There are also improved testers and numerous bug fixes.

See the Downloads section for a download link. http://icl.cs.utk.edu/magma/software/index.html

yezhiyun
Posts: 3
Joined: Thu Sep 04, 2014 9:43 am

Re: MAGMA 1.5.0 released

Post by yezhiyun » Thu Sep 04, 2014 9:55 am

I'm attempting to build MAGMA 1.5.0 released with CMAKE2.8.12.1.
When I configure it with cmake,it reminds me that "You have called ADD_LIBRARY for library magmaf without any source files. This typically indicates a problem with your CMakeLists.txt file".
when i generate the project files,there is a CMake Error: CMake can not determine linker language for target: magmaf.

what should I do?thanks

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

Re: CMake on Windows with MAGMA 1.5.0

Post by mgates3 » Thu Sep 04, 2014 10:16 am

I'm assuming you are using Windows. At one point we had Fortran files, which CMake or VisualStudio balked at compiling with CUDA .cu files into one library. These Fortran files are no longer used. Try the attached CMakelists, which just comments out the magmaf library. That is:

Code: Select all

	# ...so make a separate library out of Fortran files. Ugh.
	#add_library( magmaf ${ALLSRC_f} )
	#target_link_libraries( magmaf
	#	${LAPACK_LIBRARIES}
	#	${CUDA_CUDART_LIBRARY}
	#	${CUDA_CUBLAS_LIBRARIES}
	#)
	set( LIBS test lapacktest magma )  #magmaf )
Let us know if everything works.
-mark

yezhiyun
Posts: 3
Joined: Thu Sep 04, 2014 9:43 am

Re: CMake on Windows with MAGMA 1.5.0

Post by yezhiyun » Thu Sep 04, 2014 9:14 pm

yes,I'm using Windows.I modify CMakeLists as you say.It works well now,thank you so much!

yezhiyun
Posts: 3
Joined: Thu Sep 04, 2014 9:43 am

Re: CMake on Windows with MAGMA 1.5.0

Post by yezhiyun » Sat Sep 06, 2014 8:55 am

Hi,mgates3
I get the library magma.lib on windows 7 with VS2010 and cuda6.0.
I get some errors, I hope it will have some help.
1、error:C2219
In magma_types.h ,we have these typedef:

Code: Select all

    typedef float              *magmaFloat_ptr;
    typedef double             *magmaDouble_ptr;
    typedef magmaFloatComplex* magmaFloatComplex_ptr;
    typedef magmaDoubleComplex* magmaDoubleComplex_ptr; 
typedef float              const *magmaFloat_const_ptr;
    typedef double             const *magmaDouble_const_ptr;
    typedef magmaFloatComplex  const *magmaFloatComplex_const_ptr;
  typedef magmaDoubleComplex const * magmaDoubleComplex_const_ptr;

but when I compile magma project,the compiler return error C2219 in *.cu files such as cgemv_conjv.cu,zgemv_conjv.cu,zgeadd.cu…….these files have similar codes like this:
magmaDoubleComplex_ptr __restrict__ x.
I replace magmaDoubleComplex_ptr with magmaDoubleComplex* in cu-files.It will works well.I do same things to other typedef.
2、The definition of MAGMA_*_NAN and MAGMA_*_INF in magma_nan_inf.cpp.VS2010 will return errors to "0./0.,1./0.";
I delete these definition codes,It should have a better way to deal with them.Some tests can't be built because of the undefinition of MAGMA_*_NAN and MAGMA_*_INF.
3、edit thread_queue.hpp:
replace

Code: Select all

#include <pthread.h>
by

Code: Select all

#if defined ( _WIN32 ) || defined( _WIN64 )
#include "magmawinthread.h"
#else
#include <pthread.h>
#endif

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

Re: MAGMA 1.5.0 released

Post by mgates3 » Mon Sep 08, 2014 4:42 pm

Thanks for the feedback. We'll work to address these issues.

For (1), it would be helpful to have the compiler's error message, if any, rather than some ambiguous error code (C2219). While substituting agmaDoubleComplex_ptr with magmaDoubleComplex* should be fine, it is unclear why it is giving an error on Windows. It doesn't on Linux and MacOS.

-mark

Post Reply