summaryrefslogtreecommitdiff
path: root/BLAS
AgeCommit message (Collapse)AuthorFilesLines
2017-06-12BLAS/xROTMG; comment on xPARAM: turn to output directionHenning Thielemann2-2/+2
2017-06-12BLAS/xROTM; comment on xPARAM: turn to input directionHenning Thielemann2-2/+2
2017-06-12BLAS/xROTMx, comment on xPARAM: put 5 in parenthesesHenning Thielemann4-4/+4
2017-06-12BLAS: add Doxygen comments for parameters where missingHenning Thielemann44-6/+1176
2017-06-12BLAS/SDSDOT: convert parameter comments to Doxygen formatHenning Thielemann1-47/+71
2017-06-12BLAS/xROTM; parameter comments for xX and xY: correct array dimensionHenning Thielemann2-8/+4
2017-06-09BLAS doxygen array parameter comments: use the same format as LAPACKHenning Thielemann96-246/+246
i.e. "A is TYPE array, dimension ( LDx, N )"
2017-04-16Replace last occurrences of `include` install pathsDavid Seifert1-2/+2
* Distributions might need to change the header dir * Also change the template paths in the `.pc` files to the idiomatic CMake `GNUInstallDirs` full paths, which are always correct, regardless of whether the user specified relative or absolute paths. This makes the build system somewhat easier and more idiomatic.
2017-02-06Simplify the clean targetsKyle Guinn3-4/+34
cleanobj: Remove object files cleanlib: Remove libraries cleanexe: Remove test and example executables cleantest: Remove test output and core dumps clean: All of the above
2017-02-04Add libraries as prerequisitesKyle Guinn2-33/+29
Use the automatic variable $^ to refer to all prerequisites when linking or creating an archive.
2017-02-03Strip out comments that don't applyKyle Guinn1-37/+4
2017-02-03Use the BUILD_* option variables for BLAS and CBLASKyle Guinn1-4/+4
Removes duplication and allows error checking to be done in one spot. Moved most of the status printouts to where the options are defined.
2017-02-03Use appending to create lists of source filesKyle Guinn1-14/+8
Allows any combination of types/precisions to be built at once. Name the lists "SOURCES" instead of "ALLOBJ" since they contain lists of source files, not object files. Fix problems in BLAS: Was missing the ${CBLAS3} file set when building with BLAS_COMPLEX. Was adding ${BLASLIB} as if it were a source file.
2017-01-22Consolidate the BLAS/TESTING MakefilesKyle Guinn14-231/+56
Move the test inputs into the TESTING dir.
2017-01-22Remove stale libm dependencyKyle Guinn2-5/+0
2016-12-23Updating version number on source file modified since 3.6.1Julie163-464/+464
This is really old school, but a lot of times we have users sending us copy pasting of codes, and that is the only way to know the version of the code.
2016-11-25merging: Various cleanups to makefiles #84Julie6-54/+33
Contribution by @turboencabulator Closing #84
2016-10-05Improve pkgconfig file generationKyle Guinn2-6/+6
The prefix and libdir lines at the top of the .pc files are variable declarations. Set these variables appropriately, reference them in the rest of the file, and prevent cmake from expanding ${}-style references. Switch back to @prefix@ and @libdir@ for compatibility with autoconf. Make the descriptions consistent and update the URLs.
2016-07-10Remove CMake-language block-end command argumentsHans Johnson2-2/+2
Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. NOTE: MUST USE GNU compliant version of sed Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed \ && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' \ | xargs -0 gsed -i -f convert.sed \ && rm convert.sed
2016-07-09STYLE: Remove trailing whitespace in Fortran filesHans Johnson163-1355/+1355
This is mostly a long term maintenance improvement. Many coding styles require elimination of trailing whitespace, and many editors and source code management configurations automatically gobble up whitespace. When these tools gobble up whitespace, it complicates reviewing the meaningful code changes. By removing whitespace on one patch, it makes future code reviews much easier. =SCRIPT==================================================================== if which tempfile &>/dev/null; then TEMPMAKER=tempfile elif which mktemp &>/dev/null; then TEMPMAKER=mktemp else echo "Cannot find tempfile program." 2>&1 exit 1 fi MYTEMP=$($TEMPMAKER) trap 'rm -f $MYTEMP' SIGINT SIGTERM stripit() { echo "stripping $1" sed 's/[ \t]*$//' "$1" > $MYTEMP cp $MYTEMP "$1" } if [ $# -gt 0 ]; then while [ "$1" != "" ]; do stripit $1 shift done else while read -t 2; do stripit $REPLY done fi rm $MYTEMP =================================================
2016-07-09STYLE: Remove trailing whitespace in MISC filesHans Johnson4-44/+44
This is mostly a long term maintenance improvement. Many coding styles require elimination of trailing whitespace, and many editors and source code management configurations automatically gobble up whitespace. When these tools gobble up whitespace, it complicates reviewing the meaningful code changes. By removing whitespace on one patch, it makes future code reviews much easier. =SCRIPT==================================================================== if which tempfile &>/dev/null; then TEMPMAKER=tempfile elif which mktemp &>/dev/null; then TEMPMAKER=mktemp else echo "Cannot find tempfile program." 2>&1 exit 1 fi MYTEMP=$($TEMPMAKER) trap 'rm -f $MYTEMP' SIGINT SIGTERM stripit() { echo "stripping $1" sed 's/[ \t]*$//' "$1" > $MYTEMP cp $MYTEMP "$1" } if [ $# -gt 0 ]; then while [ "$1" != "" ]; do stripit $1 shift done else while read -t 2; do stripit $REPLY done fi rm $MYTEMP =================================================
2016-07-09STYLE: Remove trailing whitespace in CMake filesHans Johnson2-23/+23
This is mostly a long term maintenance improvement. Many coding styles require elimination of trailing whitespace, and many editors and source code management configurations automatically gobble up whitespace. When these tools gobble up whitespace, it complicates reviewing the meaningful code changes. By removing whitespace on one patch, it makes future code reviews much easier.
2016-06-27Description: Fix various typosSébastien Villemot12-12/+12
Author: Sébastien Villemot <sebastien@debian.org> Forwarded: yes, by email to lapack@cs.utk.edu on 2016-06-26
2016-03-02Fix for pkgconfig files lapack.pc, blas.pc - PATCH sent by Christoph Conrads ↵julie1-3/+3
on March 1st 2016
2015-11-15Updating version numberjulie24-72/+72
2015-09-03Minor edits in the BLAS header to better describe the functionality.langou4-5/+12
See: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?t=4786
2015-09-02Committing Nico's change about build system improvements for LAPACKjulie1-3/+8
"One of the improvements with the patches is that SOVERSION and VERSION are now properly set and the proper symlinks are created: ``` liblapack.so -> liblapack.so.3 liblapack.so.3 -> liblapack.so.3.5.0 liblapack.so.3.5.0 ``` Since BLAS is shipped with LAPACK and no separate version number is given for BLAS, I applied the same there, too." Tested on Julie's Mac TO DO: To test under Windows ==== Updated OSX RPATH settings In response to CMake 3.0 generating warnings regarding policy CMP0042, the OSX RPATH settings have been updated per recommendations found in the CMake Wiki: http://www.cmake.org/Wiki/CMake_RPATH_handling#Mac_OS_X_and_the_RPATH
2014-07-12Edited the code of xGBMV, xGEMV and xGEMM by removing the test for an entry oflangou12-182/+130
B (or X) being zero to skip a loop so as to enable better NaN (or Inf) propagation. Taking DGEMM as an example, if you use notation: C(I,J) = C(I,J) + alpha * A(I,L) * B(L,J), the reference BLAS DGEMM is using the JLI version of matrix matrix multiply and is checking, for each J (from 1 to N) and for each L (from 1 to K), whether B(L,J) is zero (or not) to save (or not) the 2M following operations. (See the "IF (B(L,J).NE.ZERO) THEN" in the code below.) The snippets of code is as follows DO 90 J = 1,N DO 80 L = 1,K IF (B(L,J).NE.ZERO) THEN TEMP = ALPHA*B(L,J) DO 70 I = 1,M C(I,J) = C(I,J) + TEMP*A(I,L) 70 CONTINUE END IF 80 CONTINUE 90 CONTINUE This induces some non NaN-propagation in a pretty ad-hoc way. For better NaN propagation, this patch removes the above IF statement. The snippet of code now becomes DO 90 J = 1,N DO 80 L = 1,K TEMP = ALPHA*B(L,J) DO 70 I = 1,M C(I,J) = C(I,J) + TEMP*A(I,L) 70 CONTINUE 80 CONTINUE 90 CONTINUE This enables correct NaN propagation for this piece of code. Rationale: BLAS does not correctly propagate all NaNs (and Infs). We still have no NaN propagation where for example ALPHA=0, etc. The goal of this commit is to have correct NaN propagation no matter what the entries of the input matrices/vectors (A, B, C, X, etc.) are. BLAS do not correctly propagate NaNs and Infs based on some values of the scalars (ALPHA, BETA, etc.). See below the email from Tom Callaway from RedHat, sent on July 9th to lapack@cs.utk.edu. Hello LAPACK people, Martyn & Lejeczek (on CC) reported an issue to Fedora relating to R using our system copy of BLAS (from LAPACK). As noted in the R administration and Installation Manual, "R relies on ISO/IEC 60559 compliance of an external BLAS. This can be broken if for example the code assumes that terms with a zero factor are always zero and do not need to be computed - whereas x*0 can be NaN. This is checked in the test suite." In the stock BLAS, DGBMV, DGEMM, and DGEMV fail this. R has been patching their bundled BLAS to resolve this issue since 2010, but Fedora now uses the system BLAS. Attached is a patch (from upstream R) to fix this issue in the LAPACK BLAS. Please consider applying it. Thanks, ~tom
2014-06-14Applied patch provided from vitaut on LAPACK forum on June 13th.julie1-5/+4
The patch fixes the warnings (Policy CMP0026) by replacing the deprecated LOCATION target property with the generator expression $<TARGET_FILE> See http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4556&p=10939#p10939
2014-02-10( Let me know if I broke anything. I double checked. We should be fine but )langou8-8/+9
( please let me know if concerns/problems. ) 1) The comments in ICMAX1 (resp. IZMAX1) were not correct. The comments read: "ICMAX1 finds the index of the element whose real part has maximum absolute value." It should have read: "ICMAX1 finds the index of the first vector element of maximum absolute value." This is corrected. The problem was reported Eloy Romero Alcalde from the SLEPc team, Universitat Politècnica de València and confirmed by Nick Higham, Sven Hammarling and Julien Langou. 2) The routine ICAMAX (resp. IZAMAX) from the BLAS evolved without ICMAX1 (resp. IZMAX1). Reconcialated both version. So essentially took the ICAMAX currently in the BLAS and changed it appropriately for an ICMAX1. 3) Remove the use of statement function in ICMAX1 (resp. IZMAX1). Now obsolete in FORTRAN. 4) Change comments in BLAS routines: SCABS1, DCABS1, ICAMAX, IZAMAX, SCASUM, and DZASUM. Remove the use of "absolute value of a complex number" for the quantity "| Re(.) | + | Im(.) |". For example: before DCABS1 computes absolute value of a double complex number after DCABS1 computes |Re(.)| + |Im(.)| of a double complex number
2012-04-13Update version numberjulie12-36/+36
2012-04-11Remove unused parametersjulie8-16/+16
2012-01-20Fixed problem with optimizer breaking error checking, now using F90 EPSILON ↵james4-10/+15
intrinsic. Thanks to Harald Anlauf for providing the solution.
2012-01-20replaced calculation of EPS with F90 call to EPSILON intrinsicjames8-64/+8
2011-11-23Correct some more new lines in program - Thanks Igor for finding out the problemjulie12-12/+24
2011-11-11Update version number to 3.4.0julie1-1/+1
2011-11-03Cosmetic changes in Doxygen presentation.julie163-2653/+2108
Use \par instead of \details for section. add a Contributors Section and a Reference Section. Remove (some) verbatim section when not needed. Those changes have been done by hand so I am not sure I manage to catch them all.
2011-10-31Correct Warning detected during Doxygen Generation.julie92-954/+500
Now each routine should have the correct list of arguments. This allowed to detect and fix problems in parameter description of many routines.
2011-10-06Integrating Doxygen in commentsjulie163-10720/+21110
2011-09-23Improve CMAKE BUILD system and OUTPUT PARSING when not all precisions are ↵julie1-14/+22
needed. The following variables will control the precision to be built: BUILD_SINGLE BUILD_DOUBLE BUILD_COMPLEX BUILD_COMPLEX16 For mixed precision SINGLE/DOUBLE routines, both BUILD_SINGLE and BUILD_DOUBLE needs to be on. (same for COMPLEX/COMPLEX16)
2011-08-15Replace DOUBLE COMPLEX by COMPLEX*16julie42-131/+130
Replace SNGL by REAL
2011-06-22Summer cleanupjulie9-9/+0
Cleanup some codes, like unused variables. Used -Walls to detect problems.
2011-04-02First pass for BLAS to homgenize notation for transpose (**T) and conjugate ↵julie80-322/+322
transpose (**H) Corresponds to bug0024
2011-03-16Remove GO TO STATEMENT in DROTMG/DROTM and SROTMG/SROTM.julie6-550/+1025
Incorporate OLD Testings from ACM Collected algorithms : algorithm 539 for: - DROTMG/SROTMG - DROTM/SROTM - DSDOT / SDSDOT All BLAS routines are now tested. Now up to us to change the BLAS but at least this is consistent.
2011-03-10Remove the easy GO TO statments....still 13 to remove in drotm.f and 36 in ↵julie42-848/+906
drotmg.f
2011-01-04minor fix: add comment to warn that vector and matrix arguments are not ↵julie32-0/+34
referenced when N = 0, or M = 0
2010-12-15 Merge some of Sebastien Fabbro's patch for CMAKEjulie2-1/+17
2010-08-10Patch provided by the kitware team on Aug 5th (Brad King and Bill Hoffman)julie1-0/+1
Add the install rules and exports the targets. Now one can write find_package(LAPACK 3.2.2) in another project to find either the LAPACK build tree or the install tree.
2010-03-10Take off comment to put xerbla back in BLAS libjulie1-1/+1
2009-09-10Fix bug0023: SROTMG and DROTMG uses deprecated Fortran ASSIGN statement and ↵julie4-26/+64
assigned GOTO statement, actually fixed ROTM also