summaryrefslogtreecommitdiff
path: root/lapacke
AgeCommit message (Collapse)AuthorFilesLines
2014-02-18INTEGRATED CHANGES PROVIDED BY INTEL TEAM FOR LAPACKE -- SEE Eugene ↵julie2116-14258/+14275
Chereshnev email on Feb 18th --> THANK YO INTEL <-- We performed auto-replacement matrix_order -> matrix_layout in the LAPACKE C Interface. Also we applied several bug fixes which were presented on our side and added two LAPACKE interfaces for function LAPACK_stpqrt which weren't represented on your side (although interfaces for d/c/z/pqrt were). All changes are reflected in the archive in attachment (only modified files in the archive). All changes were performed for revision 1471. Summary of changes: 1. Files: lapacke_stprfb.c lapacke_dtprfb.c lapacke_ctprfb.c lapacke_ztprfb.c lapacke_stprfb_work.c lapacke_dtprfb_work.c lapacke_ctprfb_work.c lapacke_ztprfb_work.c lapacke.h Expression MAX(1,ldwork)*MAX(n,k) was replaced by 'work_size'. It's not a bug but apparently 'work_size' is right expression in this place. Also in functions lapacke_(c/z)tprfb type of 'work' array was changed from float/double to lapack_complex_float/lapack_complex_double. Array 'work' is passed to lapacke_(c/z)tprfb_work and it calls LAPACK_(c/z)tprfb (and passes array 'work') but LAPACK_(c/z)tprfb has argument 'work' of complex type: SRC/ctprfb.f: *> WORK is COMPLEX array, dimension *> (LDWORK,N) if SIDE = 'L', *> (LDWORK,K) if SIDE = 'R'. and SRC/ztprfb.f: *> WORK is COMPLEX*16 array, dimension *> (LDWORK,N) if SIDE = 'L', *> (LDWORK,K) if SIDE = 'R'. Types of 'work' array in lapacke.h for LAPACK_(c/z)tprfb are float/double so they aren't correct. The archive includes changes in lapacke.h and source files: types of 'work' array in LAPACK_(c/z)tprfb: float/double -> lapack_complex_float/lapack_complex_double types of 'work' array in LAPACKE_(c/z)tprfb_work: float/double -> lapack_complex_float/lapack_complex_double In a similar way types of allocated 'work' arrays in LAPACKE_(c/z)tprfb were replaced. Also you can see here why MAX(1,ldwork)*MAX(n,k) isn't fully correct expression for work_size. 2. Files: lapacke_cuncsd.c lapacke_dorcsd.c lapacke_sorcsd.c lapacke_zuncsd.c From documentation of LAPACK_cuncsd (for other three LAPACK functions IWORK must have same size): *> IWORK is INTEGER array, dimension (M-MIN(P,M-P,Q,M-Q)) So it's not correct here to allocate working array with MAX(1,m-q) size. Changes: lapack_int r; r=MIN(p,m-p); r=MIN(r,q); r=MIN(r,m-q); MAX(1,m-q) -> MAX(1,m-r) 3. Files: lapacke_cgbsvxx_work.c lapacke_cgesvxx_work.c lapacke_chesvxx_work.c lapacke_cposvxx_work.c lapacke_csysvxx_work.c lapacke_dgbsvxx_work.c lapacke_dgesvxx_work.c lapacke_dposvxx_work.c lapacke_dsysvxx_work.c lapacke_sgbsvxx_work.c lapacke_sgesvxx_work.c lapacke_sposvxx_work.c lapacke_ssysvxx_work.c lapacke_zgbsvxx_work.c lapacke_zgesvxx_work.c lapacke_zhesvxx_work.c lapacke_zposvxx_work.c lapacke_zsysvxx_work.c Functions doesn't perform right transposition for 'err_bnds_norm' and 'err_bnds_comp' matrices: From documentation of these functions: *> ERR_BNDS_NORM is (SINGLE/DOUBLE) PRECISION array, dimension (NRHS, N_ERR_BNDS) *> ERR_BNDS_COMP is (SINGLE/DOUBLE) PRECISION array, dimension (NRHS, N_ERR_BNDS) So for interface functions right 'lda' for 'err_bnds_norm' and 'err_bnds_comp' matrices is 'n_err_bnds' rather than 'nhrs' in the case of LAPACK_ROW_MAJOR. 4. Files: lapacke_stpqrt.c lapacke_stpqrt_work.c lapacke/src/Makefile lapacke/src/CMakeLists.txt Interfaces for LAPACK_spqrt were added: lapacke_stpqrt.c and lapacke_stpqrt_work.c and appropriate changes were performed in Makefile and CMakeLists.txt. Declaration of LAPACK_spqrt was added to lapacke.h.
2014-02-09== Patch provided by Brad King from Kitware - brad.king@kitware.com ==julie4-0/+63
Provide CMake packages for both LAPACK and LAPACKE Teach "lapack-config.cmake" to provide variables LAPACK_blas_LIBRARIES LAPACK_lapack_LIBRARIES that contain either the target names when using the reference implementation or the system libraries found for them. Configure a "lapacke-config.cmake" file for the build and install trees to package LAPACKE. Teach it to load the LAPACK package installed with it. Provide variables LAPACKE_INCLUDE_DIRS LAPACKE_LIBRARIES containing the header file search path for lapacke headers and the list of lapacke library targets. This requires CMake 2.8.10 to separate the installation export for the lapacke library from the other targets.
2013-12-06Require CMake >= 2.8.7 so we can use CMAKE_GNUtoMSjulie1-1/+1
2013-11-25Apply patch from Nadezhda Mozartova from Intel. (Sent to Julien on Novemberlangou4-4/+4
20th.) Thanks Nadezhda! Thanks Intel!
2013-11-19Applying 2nd part of Mathieu's patch - modification in the include filejulie1-2/+2
2013-11-19Apply patch submitted by Matthew Faverge, INRIA on Nov 19th 2013julie8-12/+15
There are problems in LAPACKE complex lacn2 interfaces. Those functions don't have a "isgn" parmeter in LAPACK. This exists only for real interface. The problem is present in the four files of C and Z functions. In Lapack: SUBROUTINE ZLACN2( N, V, X, EST, KASE, ISAVE ) In Lapacke: LAPACK_zlacn2( &n, v, x, isgn, est, kase, isave );
2013-11-17Update release number and datejulie5-5/+5
2013-10-04 Remove unused codejulie2-6/+0
2013-07-22apply patch from Hong Xulangou4-4/+4
patch sent to lapack mailing list on Sunday July 21st In the input parameter checking, LDZ was not checked correctly LDZ was checked against M instead of N essentially
2013-04-04 lapacke.h: template with C linkage error - forum topic 4221julie1-4/+4
2013-03-26removed references to example_ZGESV_rowmajor.c james2-15/+2
2013-03-26removed example_ZGESV_rowmajor.cjames1-161/+0
2013-02-15Update and add examplesjulie9-117/+554
2013-01-10Add c/zlacp2 for PLASMA teamjulie7-0/+325
2012-10-26Add xlacn2 for PLASMA teamjulie11-0/+432
2012-09-21(no commit message)julie4-43/+43
2012-09-21(no commit message)julie19-131/+190
2012-08-25Add ilaver to LAPACKEjulie4-4/+53
2012-05-12Fix lange routine.julie4-8/+8
/* Allocate memory for working array(s) */ if( LAPACKE_lsame( norm, 'e' ) || LAPACKE_lsame( norm, 'f' ) ) { work = (double*)LAPACKE_malloc( sizeof(double) * MAX(1,m) ); if( work == NULL ) { info = LAPACK_WORK_MEMORY_ERROR; goto exit_level_0; } } This is wrong, it is actually the opposite. Only the inf norm needs a workspace. Thanks Mathieu for catching this!
2012-04-26Commit patch sent by Sébastien Fabbro to enable LAPACKE built without LAPACK.julie2-5/+5
The patch has been modified a little by Julie as there were some minors problems. This also fix the BUILD_TESTING=OFF option problem reported by Marcin on lapack mailing list. From Sébastien: Here is a patch to compile lapacke with CMake using an already existing optimized lapack library instead of forcing the build of the included one in the tar ball. It applies to the latest lapack svn trunk.
2012-04-18Update date and revision numberjulie1-1/+1
2012-04-12Fix small issue with lapacke builtjulie2-2/+2
2012-04-02(no commit message)julie6-0/+6
2012-03-22Following Mathieu's request, some part of lapacke.h were moved to ↵julie2069-2089/+70
lapacke_utils.h (the definition of ABS, MAX, MIN, etc...) Those were conflicting with PLASMA internal definitions. LAPCKE Routines are now just including lapacke_utils.h which in turn includes lapacke.h
2012-03-20Add csyr and zsyr needed by the PLASMA projectjulie7-1/+344
2012-02-17Change CMAKE configuration for LAPACKEjulie6-3871/+1065
CMAKE now can find the Fortran Mangling automatically (no need of extra flags) with the module FortranCInterface and create the necessary header. Needed to make some adjustements with the routine name. Added a file lapacke_mangling_with_flags.h that is used with Makefile build lapacke.h now requires lapacke_mangling.h - the file is created by CMAKE if CMAKE is used - the file is copied from lapacke_mangling_with_flags if Makefile is used
2012-01-12Add an option LAPACKE_WITH_TMG that will generate the LAPACKE with the TMG ↵julie1-2/+7
routines needed in plasma (by default regular LAPACKE with only LAPACK routines
2012-01-11Fix LAPACKE makefile to only include XBLAS routine if USEXBLAS is definedjulie1-5/+2021
2012-01-10Adding CMAKE Support for LAPACKE.julie7-14/+2116
Now we can generate dll for LAPACK and LAPACKE directly for Mingw so that FORTRAN compiler is longer needed. Because LAPACKE contains some routines from MATGEN (for PLASMA), LAPACKE will requires the tmglib library. Add some LAPACK 3.4.0 routines were missing in the CMAKE LAPACK build.
2012-01-06Add Rook pivoting routines to LAPACKEjulie10-0/+844
2012-01-06Modifications following email from PLASMA Team (Mathieu)julie3-7/+7
2011-12-20Add end of line (Sun compiler was complaining)julie2-2/+2
2011-12-09Add missing header, add Windows configuration, and morejulie4-19/+210
2011-12-09Make modifications to initialization to make Windows happy - LAPACKE example ↵julie1-12/+28
now runs fine
2011-12-09This time, I believe I catch them all...julie4-7/+9
2011-12-09Some more and fix previous mistakes ...julie12-34/+24
2011-12-09Put declaration before executable statment to respect ISO 99 standard ↵julie78-254/+319
(Windows compiler was barking)
2011-12-03Integrate LAPACKE into LAPACK make and CMAKE build system.julie22-610/+383
First commit, works on my mac! Need to see how to adapt to intel compilers and of course Windows. LAPACKE is not built by default. Is that OK? User need to type 'make lapackelib' to generate the lib I add a couple of examples taken from MKL LAPACKE 'make lapacke_example'
2011-11-11Upadte info and date (testing are not included)julie2-42/+2
2011-11-11Add lapacke inside LAPACKjulie2219-0/+219688