platform/upstream/lapack.git
8 years agoEnable CBLAS tests in Travis
Julien Schueller [Tue, 23 Aug 2016 14:39:03 +0000 (16:39 +0200)]
Enable CBLAS tests in Travis

8 years agoFix CBLAS testing
Julien Schueller [Tue, 23 Aug 2016 14:38:38 +0000 (16:38 +0200)]
Fix CBLAS testing

8 years agoMerge pull request #33 from vladimir-ch/fix-doc-laqr2
julielangou [Thu, 11 Aug 2016 02:20:55 +0000 (19:20 -0700)]
Merge pull request #33 from vladimir-ch/fix-doc-laqr2

?LAQR2: fix documentation about updated block of Z

8 years agoMerge pull request #31 from vladimir-ch/lapacke-trexc-ldq-check
langou [Fri, 5 Aug 2016 03:16:24 +0000 (21:16 -0600)]
Merge pull request #31 from vladimir-ch/lapacke-trexc-ldq-check

LAPACKE_?trexc_work: check ldq conditionally on compq

8 years agoLAPACKE_?trexc_work: check ldq conditionally on compq
Vladimir Chalupecky [Fri, 5 Aug 2016 02:23:35 +0000 (11:23 +0900)]
LAPACKE_?trexc_work: check ldq conditionally on compq

8 years ago?LAQR2: fix documentation about updated block of Z
Vladimir Chalupecky [Thu, 4 Aug 2016 08:52:18 +0000 (17:52 +0900)]
?LAQR2: fix documentation about updated block of Z

8 years agoMerge pull request #28 from vladimir-ch/fix-trexc-n0
langou [Thu, 4 Aug 2016 01:44:19 +0000 (19:44 -0600)]
Merge pull request #28 from vladimir-ch/fix-trexc-n0

?TREXC: fix range checks for IFST and ILST

8 years ago?TREXC: fix range checks for IFST and ILST
Vladimir Chalupecky [Thu, 4 Aug 2016 01:10:46 +0000 (10:10 +0900)]
?TREXC: fix range checks for IFST and ILST

8 years agoMerge pull request #24 from vladimir-ch/master
julielangou [Tue, 2 Aug 2016 04:28:12 +0000 (21:28 -0700)]
Merge pull request #24 from vladimir-ch/master

?TREXC: fix documentation for LDQ parameter

8 years agoMerge pull request #21 from hjmjohnson/AddLAPACKETMGTesting
julielangou [Tue, 2 Aug 2016 04:25:06 +0000 (21:25 -0700)]
Merge pull request #21 from hjmjohnson/AddLAPACKETMGTesting

ENH: Add LAPACKE_WITH_TMG to default testing

8 years agoMerge pull request #20 from hjmjohnson/FixNightlyTests
julielangou [Tue, 2 Aug 2016 04:24:57 +0000 (21:24 -0700)]
Merge pull request #20 from hjmjohnson/FixNightlyTests

Fix nightly tests

8 years ago?TREXC: fix documentation for LDQ parameter
Vladimir Chalupecky [Mon, 1 Aug 2016 08:18:05 +0000 (17:18 +0900)]
?TREXC: fix documentation for LDQ parameter

8 years agoENH: Add LAPACKE_WITH_TMG to default testing
Hans Johnson [Fri, 29 Jul 2016 12:19:18 +0000 (07:19 -0500)]
ENH: Add LAPACKE_WITH_TMG to default testing

In order to maximize code testing options, turn
LAPACKE_WITH_TMG=ON for travis builds.

8 years agoCOMP: Ignore nfs future file modification warning
Hans Johnson [Fri, 29 Jul 2016 11:14:21 +0000 (06:14 -0500)]
COMP: Ignore nfs future file modification warning

Many NFS mount points are slightly out of sync with
the build computer.  This cuases warnings that are
not related to the actual codebase.

8 years agoENH: Only run python summary tests with compatible versions
Hans Johnson [Fri, 29 Jul 2016 11:06:50 +0000 (06:06 -0500)]
ENH: Only run python summary tests with compatible versions

The summary tests python script requires features that are
only available in python 2.7 and greater.  If the python
version is insufficient, simply disable the summary tests.

This was identified on a nightly dashboard build zoot.icl.utk.edu
where the python version found is 2.4.

8 years agoMerge pull request #19 from hjmjohnson/ImproveTravisNaming
julielangou [Fri, 29 Jul 2016 04:32:05 +0000 (21:32 -0700)]
Merge pull request #19 from hjmjohnson/ImproveTravisNaming

Improve travis naming

8 years agoMerge pull request #15 from hjmjohnson/PreventBadBuildConfigs
julielangou [Fri, 29 Jul 2016 04:31:03 +0000 (21:31 -0700)]
Merge pull request #15 from hjmjohnson/PreventBadBuildConfigs

Prevent bad build configs

8 years agoENH: Improving the travis dashboard name
Hans Johnson [Thu, 28 Jul 2016 15:47:30 +0000 (10:47 -0500)]
ENH: Improving the travis dashboard name

When submitting to the dashboard, it is nice to have
the patch set name included.

Thanks to:
http://graysonkoonce.com/getting-the-current-branch-name-during-a-pull-request-in-travis-ci/

8 years agoCOMP: Prevent insource builds and inbuild installs
Hans Johnson [Wed, 27 Jul 2016 12:53:36 +0000 (07:53 -0500)]
COMP: Prevent insource builds and inbuild installs

With cmake is best to require out-of-source builds,
and to avoid intalling into the same directory as the
build was performed.

Both of these situations can cause very confusing situations
that can frustrate new users of the software package, so
check for and provide guidance to the end-users.

These files were initially contributed to the ITK
(www.itk.org) project and have been widely re-used
by many other projects.

NOTE: This patch is dependant on pull request #16

8 years agoENH: Fix travis build pathing
Hans Johnson [Wed, 27 Jul 2016 13:56:45 +0000 (08:56 -0500)]
ENH: Fix travis build pathing

The travis builds were attempting to be done
inside the source tree.  This is generally considered
bad form since it is possible for dynamically created
files to overwrite static files, and because the
files manages by git should not be confouded with
build files.

8 years agoCOMP: Let travis CI builds submit to the dashboard
Hans Johnson [Wed, 27 Jul 2016 13:11:38 +0000 (08:11 -0500)]
COMP: Let travis CI builds submit to the dashboard

The my.cdash.org build reporting site can accept
build reports from the travis build environment.

These reports can assist with identifying problems
with a given pull request.

8 years agoMerge pull request #13 from hjmjohnson/DefaultToRelease
julielangou [Thu, 28 Jul 2016 04:54:16 +0000 (21:54 -0700)]
Merge pull request #13 from hjmjohnson/DefaultToRelease

ENH: Set default build type to "Release"

8 years agoMerge pull request #12 from hjmjohnson/MoveToGit
julielangou [Thu, 28 Jul 2016 04:53:52 +0000 (21:53 -0700)]
Merge pull request #12 from hjmjohnson/MoveToGit

Move to git

8 years agoENH: Update default ctest configuration options
Hans Johnson [Wed, 27 Jul 2016 12:37:46 +0000 (07:37 -0500)]
ENH: Update default ctest configuration options

Testing should be done with Release build configuration
Testing should be done with CBLAS option turned on

8 years agoCOMP: Move to git for cdash testing
Hans Johnson [Wed, 27 Jul 2016 12:22:19 +0000 (07:22 -0500)]
COMP: Move to git for cdash testing

This commit resolves #11 by providing ctest script
that pulls from github for running the nightly dashboards
that are displayed at

http://my.cdash.org/index.php?project=LAPACK

8 years agoENH: Set default build type to "Release"
Hans Johnson [Wed, 27 Jul 2016 12:44:13 +0000 (07:44 -0500)]
ENH: Set default build type to "Release"

One of the most common reasons for using lapack & blas is to
provide efficient computations.

In my experience of working with newcomers to software bulding, I
find that their first experience (and often their first year of
experience) is with the most default build possible.  It is
very common that the first impressions of the software are based on whatever is
produced by "mkdir –p PKG-build; cmake ../PKG; make".

This proposal aims to improve initial impressions of the package by making the
defaults such that the "mkdir –p PKG-build; cmake ../PKG; make" builds
PKG in "Release" mode.

Rational for Release:  It has more support in differnt IDE's by default.
As a default it should be the supportive of those with little or no
software development experience.  Those developers who need debugging
information will likely have the experience needed to know how to change
from the default.  Developers should be smart enough to build
with Debug, but the typical new user is often not educated enough to
change to Release.

8 years agoMerge pull request #9 from vladimir-ch/master
langou [Wed, 27 Jul 2016 04:10:29 +0000 (22:10 -0600)]
Merge pull request #9 from vladimir-ch/master

?LALN2: fix doc for the D2 parameter

8 years ago?LALN2: fix doc for the D2 parameter
Vladimir Chalupecky [Wed, 27 Jul 2016 01:45:11 +0000 (10:45 +0900)]
?LALN2: fix doc for the D2 parameter

8 years agoMaking FORTRAN compilers happy. Replacing STEMP by STEMP(1) in some subroutine
Julien Langou [Mon, 11 Jul 2016 15:15:44 +0000 (09:15 -0600)]
Making FORTRAN compilers happy. Replacing STEMP by STEMP(1) in some subroutine
calls.  Reported by Hans Johnson. Thanks Hans.  Julien.

8 years agoMerge branch 'hjmjohnson-FixInstalledPathingWithLib64'
Julien Langou [Mon, 11 Jul 2016 15:04:31 +0000 (09:04 -0600)]
Merge branch 'hjmjohnson-FixInstalledPathingWithLib64'

Pull request by Hans Johson.  Change some of the relative paths (`lib`) to
absolute paths (`${LIBRARY_DIR}`) in CMAKE.

Merge branch 'hjmjohnson-FixInstalledPathingWithLib64'

8 years agoMerge branch 'FixInstalledPathingWithLib64' of https://github.com/hjmjohnson/lapack...
Julien Langou [Mon, 11 Jul 2016 14:53:53 +0000 (08:53 -0600)]
Merge branch 'FixInstalledPathingWithLib64' of https://github.com/hjmjohnson/lapack into hjmjohnson-FixInstalledPathingWithLib64

8 years agoPull request from Hans Johnson. Move command directives from upper case to
Julien Langou [Mon, 11 Jul 2016 14:48:21 +0000 (08:48 -0600)]
Pull request from Hans Johnson. Move command directives from upper case to
lower case.  Remove replications of conditionals in the "else" "end" parts of
code blocks.

Merge branch 'hjmjohnson-UpdateCMakeSyntax'

8 years agoRemove CMake-language block-end command arguments
Hans Johnson [Sun, 10 Jul 2016 19:38:44 +0000 (14:38 -0500)]
Remove CMake-language block-end command arguments

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

8 years agoSTYLE: Convert CMake-language commands to lower case
Hans Johnson [Sun, 10 Jul 2016 19:37:43 +0000 (14:37 -0500)]
STYLE: Convert CMake-language commands to lower case

Ancient CMake versions required upper-case commands.  Later command
names became case-insensitive.  Now the preferred style is lower-case.

Run the following shell code:
NOTE: MUST USE GNU compliant version of sed

cmake --help-command-list \
| grep -v "cmake version" \
| while read c; do
    echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
  done >convert.sed \
&& git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' \
   | xargs -0 gsed -i -f convert.sed \
&& rm convert.sed

8 years agoMerge pull request #5 from hjmjohnson/RemoveEndOfLineSpaces
julielangou [Sun, 10 Jul 2016 15:59:56 +0000 (08:59 -0700)]
Merge pull request #5 from hjmjohnson/RemoveEndOfLineSpaces

Remove end of line spaces

8 years agoSTYLE: Remove trailing whitespace in Fortran files
Hans Johnson [Sat, 9 Jul 2016 16:16:07 +0000 (11:16 -0500)]
STYLE: Remove trailing whitespace in Fortran files

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
=================================================

8 years agoSTYLE: Remove trailing whitespace in MISC files
Hans Johnson [Sat, 9 Jul 2016 16:18:08 +0000 (11:18 -0500)]
STYLE: Remove trailing whitespace in MISC files

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
=================================================

8 years agoSTYLE: Remove trailing whitespace in C files
Hans Johnson [Sat, 9 Jul 2016 15:53:01 +0000 (10:53 -0500)]
STYLE: Remove trailing whitespace in C files

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
=================================================

8 years agoSTYLE: Remove trailing whitespace in CMake files
Hans Johnson [Sat, 9 Jul 2016 15:34:19 +0000 (10:34 -0500)]
STYLE: Remove trailing whitespace in CMake files

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.

8 years agoBUG: path failure for find_package config files
Hans Johnson [Sat, 9 Jul 2016 15:03:14 +0000 (10:03 -0500)]
BUG: path failure for find_package config files

CMake Error at src/lapack-install/lib64/cmake/lapacke-3.6.1/lapacke-config.cmake:13 (include):
  include could not find load file:

    src/lapack-install/lib64/cmake/lapacke-3.6.1/lapacke-targets.cmake
Call Stack (most recent call first):
  CMakeLists.txt:26 (find_package)

-- src/lapack-install/lib64/cmake/lapacke-3.6.1
-- Configuring incomplete, errors occurred!
See also "src/lapackTest-bld/CMakeFiles/CMakeOutput.log".

The file was installed in:
    src/lapack-install/lib/cmake/lapacke-3.6.1/lapacke-targets.cmake
                          ^^ - Missing lib suffix of 64

8 years agoMerge pull request #3 from hjmjohnson/FixFindPackgePaths
julielangou [Wed, 6 Jul 2016 00:55:14 +0000 (17:55 -0700)]
Merge pull request #3 from hjmjohnson/FixFindPackgePaths

BUG: Fix pathing to include files

8 years agoMerge pull request #2 from hjmjohnson/ImproveCMakeBuilding
julielangou [Wed, 6 Jul 2016 00:48:26 +0000 (17:48 -0700)]
Merge pull request #2 from hjmjohnson/ImproveCMakeBuilding

Improve c make building

8 years agoCOMP: Improve introspection and header configuration
Hans Johnson [Mon, 4 Jul 2016 23:09:00 +0000 (18:09 -0500)]
COMP: Improve introspection and header configuration

Use CMake capabilities to test if the specified fortran
and C compilers are compatible.  Fail early if they are
determined to be incompatible.

Use CMake capabilities to generate platform specific
header files, If CMake FortranCInterface_HEADER function
fails to identify FortranCInterface_GLOBAL_FOUND or
FortranCInterface_MODULE_FOUND, then fall back to the
statically generated file that is used by Makefiles.

8 years agoBUG: Fix pathing to include files
Hans Johnson [Tue, 5 Jul 2016 20:19:42 +0000 (15:19 -0500)]
BUG: Fix pathing to include files

During building of external packages, only the build tree or install
tree files should be used (the source tree may not be available from
the binary package).  Set to use the build tree locations for the
configuration files.

8 years agoSTYLE: Change source template files to .in extension
Hans Johnson [Mon, 4 Jul 2016 22:35:05 +0000 (17:35 -0500)]
STYLE: Change source template files to .in extension

The cblas_mangling_with_flags.h and lapacke_mangling_with_flags.h
are template files that are not used directly.  They need to be
configured (i.e. copied) to lapacke_mangling.h and cblas_mangling.h
header files that are used.  These renamings make the intent of
these files more clearly reported.

The file LAPACKE/include/lapacke_mangling.h should not be stored in the
repository because it should be generated (copied from above) at build
time.

8 years agoDescription: Fix various typos
Sébastien Villemot [Tue, 28 Jun 2016 02:07:25 +0000 (20:07 -0600)]
Description: Fix various typos
Author: Sébastien Villemot <sebastien@debian.org>
Forwarded: yes, by email to lapack@cs.utk.edu on 2016-06-26

8 years agoUpdate date, version for 3.6.1 release
Julie [Sat, 18 Jun 2016 20:26:30 +0000 (13:26 -0700)]
Update date, version for 3.6.1 release

8 years agoAdding *trevc3 routines to CMakefile.txt file + fix lapacke.h
Julie [Sat, 18 Jun 2016 18:59:54 +0000 (11:59 -0700)]
Adding *trevc3 routines to CMakefile.txt file + fix lapacke.h

8 years agoFix *syswapr definition
Julie [Sat, 18 Jun 2016 18:31:54 +0000 (11:31 -0700)]
Fix *syswapr definition

From compiler warning.

8 years agoPatch from Tim Hopkins sent by email on March 14th, 2016
Tim Hopkins, University of Kent [Fri, 17 Jun 2016 21:10:39 +0000 (17:10 -0400)]
Patch from Tim Hopkins sent by email on March 14th, 2016
(merge from Julien on June 17th, 2016)

8 years agoSLASD1 and DLASD1: IDXQ should be [in,out]
Julie [Thu, 16 Jun 2016 05:16:35 +0000 (22:16 -0700)]
SLASD1 and DLASD1: IDXQ should be [in,out]

Reported by Eugene Chereshnev on April 4th 2016
See:
http://icl.cs.utk.edu/lapack-forum/posting.php?mode=reply&f=13&t=4941

8 years agoZGEJSV: coding style unification - DOUBLE COMPLEX
Julie [Thu, 16 Jun 2016 05:12:52 +0000 (22:12 -0700)]
ZGEJSV: coding style unification - DOUBLE COMPLEX

Reported by Eugene Chereshnev on April 4th 2016
See:
http://icl.cs.utk.edu/lapack-forum/posting.php?mode=reply&f=13&t=4943

8 years agoCGESVDX and ZGESVDX contain double assignment to ALLS and INDS variables
Julie [Thu, 16 Jun 2016 05:07:18 +0000 (22:07 -0700)]
CGESVDX and ZGESVDX contain double assignment to ALLS and INDS variables

reported by Eugene Chereshnev on April 4th 2016
See:
http://icl.cs.utk.edu/lapack-forum/posting.php?mode=reply&f=13&t=4942

8 years agoSBDSVDX and DBDSVDX routines contain wrong name in description of INFO parameter:
Julie [Wed, 15 Jun 2016 05:39:02 +0000 (22:39 -0700)]
SBDSVDX and DBDSVDX routines contain wrong name in description of INFO parameter:

reported by Eugene Chereshnev on April 4th 2016
See:
http://icl.cs.utk.edu/lapack-forum/posting.php?mode=reply&f=13&t=4945

8 years agoMissing verbatim tags in ILAVER, CGESVJ, CGEJSV, ZGEJSV
Julie [Wed, 15 Jun 2016 05:34:46 +0000 (22:34 -0700)]
Missing verbatim tags in ILAVER, CGESVJ, CGEJSV, ZGEJSV

reported by Eugene Chereshnev on April 4th 2016
See:
http://icl.cs.utk.edu/lapack-forum/posting.php?mode=reply&f=13&t=4946

8 years agoIn LAPACKE interfaces for ?GGSVD3, ?GGSVP3 in LWORK query all *_t matrices should...
Julie [Wed, 15 Jun 2016 05:30:33 +0000 (22:30 -0700)]
In LAPACKE interfaces for ?GGSVD3, ?GGSVP3 in LWORK query all *_t matrices should be replaced with ones without _t.

reported by Alex Zotkevich, Intel Co. on april 11th 2016
See http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4950

8 years agoUpdate Descriptions for IL, IU, VL and VU
Julie [Wed, 15 Jun 2016 05:21:56 +0000 (22:21 -0700)]
Update Descriptions for IL, IU, VL and VU

reported by Alex Zotkevich, Intel Co. on april 11th 2016
See http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4951

8 years ago?LAQR5, ?LASQ3, ?LASQ4: some fixes in doc
Julie [Wed, 15 Jun 2016 04:50:33 +0000 (21:50 -0700)]
?LAQR5, ?LASQ3, ?LASQ4: some fixes in doc

reported by Alex Zotkevich, Intel Co. on april 11th 2016
See http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4953

8 years agoAlign definition of DIFR on *lasd8
Julie [Wed, 15 Jun 2016 04:35:52 +0000 (21:35 -0700)]
Align definition of DIFR on *lasd8

Reported by Alex Zotkevich, Intel Co. on april 11th 2016
See http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4954

8 years agoFor some reason, my `git` does not like the spaces that were at the start of
Julien Langou [Tue, 14 Jun 2016 17:54:20 +0000 (13:54 -0400)]
For some reason, my `git` does not like the spaces that were at the start of
the gitignore command *.[oa]. I removed the spaces and my `git` follows the
.gitignore. Better for me now.

8 years agoFix from Vladimir Chalupecky.
Julien Langou [Tue, 14 Jun 2016 17:44:56 +0000 (13:44 -0400)]
Fix from Vladimir Chalupecky.
See: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4975
In dlasy2.f, INFO = 1 needs to be inserted before line 442.

8 years agoFix Compile error with ifort -warn all - Contributed by Orion Poplawski
Julie [Mon, 13 Jun 2016 06:27:02 +0000 (23:27 -0700)]
Fix Compile error with ifort -warn all - Contributed by Orion Poplawski

Compiling current lapack svn trunk with ifort -warn all results in
errors like:

ifort -O3 -fp-model strict -warn all -c sorcsd2by1.f -o sorcsd2by1.o
sorcsd2by1.f(350): error #6633: The type of the actual argument differs
from
the type of the dummy argument.   [0]
           CALL SORBDB1( M, P, Q, X11, LDX11, X21, LDX21, THETA, 0, 0,
------------------------------------------------------------------^
sorcsd2by1.f(350): error #6633: The type of the actual argument differs
from
the type of the dummy argument.   [0]
           CALL SORBDB1( M, P, Q, X11, LDX11, X21, LDX21, THETA, 0, 0,
---------------------------------------------------------------------^
sorcsd2by1.f(351): error #6633: The type of the actual argument differs
from
the type of the dummy argument.   [0]
    $                    0, 0, WORK, -1, CHILDINFO )
--------------------------^
sorcsd2by1.f(351): error #6633: The type of the actual argument differs
from
the type of the dummy argument.   [0]
    $                    0, 0, WORK, -1, CHILDINFO )
-----------------------------^

ifort -O3 -fp-model strict -warn all -c cgesdd.f -o cgesdd.o
cgesdd.f(343): error #6633: The type of the actual argument differs
from the
type of the dummy argument.   [CDUM]
           CALL CGEBRD( M, N, CDUM(1), M, CDUM(1), DUM(1), CDUM(1),
-------------------------------------------^

8 years agoblocked back-transformation for the non-symmetric eigenvalue problem - Contribution...
Julie [Mon, 13 Jun 2016 06:21:04 +0000 (23:21 -0700)]
blocked back-transformation for the non-symmetric eigenvalue problem - Contribution from Mark Gates (UTK)

From mark:
It blocks NB gemv calls into one gemm call inside trevc. To do that, it
needs a new routine, trevc3, because unfortunately the lwork was not
passed into trevc. (I highly recommend all new routines always pass
lwork and lrwork, where applicable, to enable future upgrades & to
catch lwork bugs.)

8 years agoMerge pull request #1 from jschueller/testing
julielangou [Sat, 4 Jun 2016 20:44:06 +0000 (13:44 -0700)]
Merge pull request #1 from jschueller/testing

Adding Julien Schueller's fox for CBLAS cmake

8 years agoAdd Travis config file
Julien Schueller [Sat, 4 Jun 2016 06:32:40 +0000 (08:32 +0200)]
Add Travis config file

8 years agoFix empty cmake replace
Julien Schueller [Sat, 4 Jun 2016 07:23:24 +0000 (09:23 +0200)]
Fix empty cmake replace

8 years agoAdapt lapack_testing.py to work on both Python 2 and Python 3
Julie [Fri, 3 Jun 2016 05:39:35 +0000 (22:39 -0700)]
Adapt lapack_testing.py to work on both Python 2 and Python 3

Contributed by Julien Schueller

Sent to Julie on May 8th 2016
Correspond to SVN rev 1748.

8 years agoBug report 2/2 from Lawrence Mulholland (NAG)
Julien Langou [Thu, 26 May 2016 01:00:11 +0000 (19:00 -0600)]
Bug report 2/2 from Lawrence Mulholland (NAG)
See: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4970
Posted on Wed May 25th

From Lawrence
=============
In zhbgvd.f (chbgvd.f)
Line 312: LRWMIN = N
Line 374: Call ZHBGST(....,RWORK(INDWRK), IINFO)
INDWRK = N+1 and ZHBGST requires RWORK(N)

Therefore either
i. line 312 should be LWMIN = 2*N; or,
ii. line 374 should use RWORK(INDE)

From Julien
===========

Let us go with fix (ii) then.
Note: I simply used "RWORK", not "RWORK(INDE)

8 years agoBug report 1/2 from Lawrence Mulholland (NAG)
Julien Langou [Thu, 26 May 2016 00:55:24 +0000 (18:55 -0600)]
Bug report 1/2 from Lawrence Mulholland (NAG)
See: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4970
Posted on Wed May 25th

From Lawrence
=============
In dsbgvd.f (ssbgvd.f)

with the case WANTZ = .False.
LWMIN = 2*N (line 282)

But, (line 140)

Call dsbgst(.....,work(INDWRK), iinfo)

where INDWRK = N+1 and dsbgst requires a workspace of 2*N

Therefore either
i. line 282 should be LWMIN = 3*N; or,
ii. line 140 should use WORK(INDE)

From Julien
===========

Let us go with fix (ii) then.
Note: I simply used "WORK", not "WORK(INDE)"

8 years agoapply 1742, 1743 and 1744
Julien Langou [Mon, 23 May 2016 16:41:12 +0000 (10:41 -0600)]
apply 1742, 1743 and 1744

------------------------------------------------------------------------
r1744 | langou | 2016-04-29 15:39:17 -0600 (Fri, 29 Apr 2016) | 15 lines

See post of Nathan Whitehead on the forum (4/29/2016)
http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4958

Addressing second comment (out of two):

"For GELSS, there is a DUM dummy argument but it is complex, [CZ]GEBRD expects
a real array as 6th argument. I added a "REAL DUMMY(1)" in local arrays, then
passed DUMMY for 6th argument of [CZ]GEBRD."

(Use the array S instead of creating a REAL DUMMY(1) array.)

(Update the thank-you file.)

------------------------------------------------------------------------
r1743 | langou | 2016-04-29 15:12:04 -0600 (Fri, 29 Apr 2016) | 4 lines

( minor: re-indent the file zgges3.f )

------------------------------------------------------------------------
r1742 | langou | 2016-04-29 15:11:31 -0600 (Fri, 29 Apr 2016) | 14 lines

See post of Nathan Whitehead on the forum (4/29/2016)
http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4958

Addressing first comment (out of two):

"For CGGES3, there is an argument that is complex where a real array is expected.
SRC/cgges3.f:397
I changed WORK to RWORK in the second to last argument to CHGEQZ."

(Update the thank-you file.)

8 years agoFix CUNCSD: Illegal use of integer for array argument - [Forum 4956, reported by...
julie [Fri, 29 Apr 2016 02:47:17 +0000 (02:47 +0000)]
Fix CUNCSD: Illegal use of integer for array argument - [Forum 4956, reported by nathanw]

In the CUNCSD function I saw an illegal use of an integer for an array argument.
To fix I replaced 0 with U1 in 4th argument of CUNGQR and CUNGLQ to be consistent with ZUNCSD.
SRC/cuncsd.f:491,496

8 years agoFrom Mark Gates (UTK) - Fix Bug 157 - Various bugs in SVD routines (*gesdd, *gesvd...
julie [Thu, 28 Apr 2016 05:35:01 +0000 (05:35 +0000)]
From Mark Gates (UTK) - Fix Bug 157 - Various bugs in SVD routines (*gesdd, *gesvd, and *bdsdc).
Items are labelled (a) through (m), omitting (l).
Several are not bugs, just suggestions.

Most bugs are in *gesdd.

There's one bug (g) in *bdsdc. This is the underlying cause of LAPACK bug #111.

There's one bug (m) in [cz]gesvd. I also added an INT() cast in these
assignments to silence compiler warnings. Changed:
    LWORK_ZGEQRF=CDUM(1)
to:
    LWORK_ZGEQRF = INT( CDUM(1) )

Where possible, I ran a test showing the wrong behavior, then a test showing the
corrected behavior. These use a modified version of the MAGMA SVD tester
(calling LAPACK), because I could adjust the lwork as needed. The last 3 columns
are the lwork type, the lwork size, and the lwork formula. The lwork types are:

    doc_old  as documented in LAPACK 3.6.
    doc      as in the attached, updated documentation.
    min_old  minwrk, as computed in LAPACK 3.6.
    min      minwrk, as computed in the attached, updated code.
    min-1    minimum - 1; this should cause gesdd to return an error.
    opt      optimal size.
    max      the maximum size LAPACK will take advantage of;
             some cases, the optimal is n*n + work, while the max is m*n + work.
    query    what gesdd returns for an lwork query; should equal opt or max.

After the lwork, occasionally there is a ! or ? error code indicating:
Error codes:  !  error:  lwork < min. For (min-1), this ought to appear.
              ?  compatability issue:  lwork < min_old, will fail for lapack <= 3.6.

I also tested the update routines on a wide variety of sizes and jobz, with
various lwork.

Besides fixing the bugs below, I made two significant changes.

1)  Changed *gesdd from computing each routine's workspace using, e.g.:
         N*ilaenv(...)
    to querying each routine for its LWORK, e.g.:
                CALL ZGEBRD( M, N, CDUM(1), M, CDUM(1), DUM(1), CDUM(1),
         $                   CDUM(1), CDUM(1), -1, IERR )
                LWORK_ZGEBRD_MN = INT( CDUM(1) )

    This matches how *gesvd was changed in LAPACK 3.4.0.

2)  Changed the Workspace: comments, which were incredibly deceptive.
    For instance, in Path 2 before dbdsdc, it said
        Workspace: need N + N*N + BDSPAC
    since dbdsdc needs the [e] vector, [U] matrix, and bdspac.
    However, that ignores that the [tauq, taup] vectors and [R] matrix
    are also already allocated, though dbdsdc doesn't need them.
    So the workspace needed at that point in the code is actually
        Workspace: need N*N [R] + 3*N [e, tauq, taup] + N*N [U] + BDSPAC
    For clarity, I added in [brackets] what matrices or vectors were allocated,
    and the order reflects their order in memory.

    I may do a similar change for *gesvd eventually. The workspace comments in
    MAGMA's *gesvd have already been updated as above.

================================================================================
a)  Throughout, to simplify equations, let:

    mn = min( M, N )
    mx = max( M, N )

================================================================================
b)  [sdcz]gesdd Path 4 (m >> n, job="all") has wrong minwrk formula in code:
        minwrk = bdspac + mn*mn + 2*mn + mx
               = 4*mn*mn + 6*mn + mx
    This is an overestimate, needlessly rejecting the documented formula:
        doc    = 4*mn*mn + 7*mn
    In complex, the correct min fails, but the doc matches the wrong minwrk.
    Solution: fix code to:
        minwrk = mn*mn + max( 3*mn + bdspac, mn + mx )
               = mn*mn + max( 3*mn*mn + 7*mn, mn + mx )

     Test cases:
        m=40, ..., 100;  n=20;  jobz='A'

    See bug (d) showing documentation is also wrong.
    Also, see bug (i), complex [cz]gesdd should return -12 instead of -13.

================================================================================
bt) transposed case
    [sd]gesdd Path 4t (n >> m, job="all") has a different wrong minwrk; see bug (c).
    [cz]gesdd Path 4t exhibits same bug as Path 4.

    Test cases:
        m=20;  n=40, ..., 100;  jobz='A'

================================================================================
c)  [sd]gesdd Path 4t (n >> m, job="all") has wrong minwrk formula in code,
    different than bug (b):
        minwrk = bdspac + m*m + 3*m
               = 4*mn*mn + 7*mn
    This formula lacks any dependence on N, so the code will fail (without
    setting info; orglq calls xerbla) if N is too large, N > 3*M*M + 6*M.
    Bug does not occur in complex.

    Test cases:
        m=20;  n = 1320;  jobz='A'  ok    with documented lwork
        m=20;  n > 1320;  jobz='A'  fails with documented lwork

    Solution: as in bug (b), fix code to:
        minwrk = mn*mn + max( 3*mn + bdspac, mn + mx )
               = mn*mn + max( 3*mn*mn + 7*mn, mn + mx )

    See bug (d) showing documentation is also wrong.

================================================================================
d)  [sd]gesdd documentation lists the same minimum size for jobz='S' and 'A':
        If JOBZ = 'S' or 'A', LWORK >= min(M,N)*(7 + 4*min(M,N))
    However, jobz='A' actually also depends on max(M,N):
        minwrk = mn*mn + max( 3*mn*mn + 7*mn, mn + mx )
    This causes the formula to fail for mx > 3*mn*mn + 6*mn.

    Test cases:
        m > 1320;  n = 20;    jobz='A'  fails with document lwork, even after fixing bugs (b) and (c).
        m = 20;    n > 1320;  jobz='A'  fails also.

    Solution: in docs, split these two cases. This fix uses an overestimate,
    so that codes using it will be backwards compatible with LAPACK <= 3.6.

        If JOBZ = 'S', LWORK >= 4*mn*mn + 7*mn.
        If JOBZ = 'A', LWORK >= 4*mn*mn + 6*mn + mx.

================================================================================
e)  [sd]gesdd, Path 5, jobz='A' has wrong maxwrk formula in the code:
        MAXWRK = MAX( MAXWRK, BDSPAC + 3*N )
    Should be:
        MAXWRK = MAX( WRKBL, BDSPAC + 3*N )
    This causes the lwork query to ignore WRKBL, and return the minimum
    workspace size, BDSPAC + 3*N, instead of the optimal workspace size.
    However, it only affects the result for small sizes where min(M,N) < NB.
    Path 5t has the correct maxwrk formula.
    Complex is correct for both Path 5 and 5t.

    Test case:
        Compare lwork query with
        M = 30, N = 20, jobz='A', lwork query is 1340
        M = 20, N = 30, jobz='A', lwork query is 3260
        These should be the same.

    Solution: fix code as above.

================================================================================
f)  Not a bug, just a suggestion.
    The lwork minimum sizes are not actually minimums, and can be larger than
    the queried lwork size.

    Solution: add a comment:
    These are not tight minimums in all cases; see comments inside code.

================================================================================
g)  [sd]bdsdc segfaults due to too small workspace size. Its documentation claims:
        If COMPQ = 'N' then LWORK >= (4 * N).
    Based on this, in zgesdd, the rwork size >= 5*min(M,N).
    However, LAPACK bug 111 found that rwork size >= 7*min(M,N) was required.

    In dbdsdc, if uplo='L', then it rotates lower bidiagonal to upper bidiagonal,
    and saves 2 vectors of Givens rotations in work. It shifts WSTART from
    1 to 2*N-1. Then it calls dlasdq( ..., work( wstart ), info ).
    As dlasdq requires 4*N, dbdsdc would now require 6*N in this case.
    This caused zgesdd to require rwork size >= 7*min(M,N) when N > M and jobz='N'.

    My preferred solution is to change WSTART to 1 in the DLASDQ call inside dbdsdc:

          IF( ICOMPQ.EQ.0 ) THEN
             CALL DLASDQ( 'U', 0, N, 0, 0, 0, D, E, VT, LDVT, U, LDU, U,
         $                LDU, WORK( WSTART ), INFO )
             GO TO 40
          END IF

    to:

          IF( ICOMPQ.EQ.0 ) THEN
    *        Ignores WSTART, which is needed only for ICOMPQ = 1 or 2;
    *        using WSTART would change required workspace to 6*N for uplo='L'.
             CALL DLASDQ( 'U', 0, N, 0, 0, 0, D, E, VT, LDVT, U, LDU, U,
         $                LDU, WORK( 1 ), INFO )
             GO TO 40
          END IF

    The [cz]gesdd documentation, which was changed to 7*min(M,N) in LAPACK 3.6,
    may be reverted to 5*min(M,N), if desired.

================================================================================
h)  [sd]gesdd for jobz='N' requires bdspac = 7*n for the dbdsdc workspace.
    However, dbdsdc requires only 4*n, or 6*n before fixing bug (g).
    For backwards compatability, I did not change the code, but added a comment
    for clarification.

================================================================================
i)  [cz]gesdd returns info = -13 instead of info = -12 for lwork errors.

================================================================================
j)  In zgesdd, for computing maxwrk, these paths:
        Path 6,  jobz=A
        Path 6t, jobz=S
        Path 6t, jobz=A
    query ilaenv( 1, zungbr, ... )
    when the code actually calls zunmbr (twice). I corrected it.

================================================================================
k)  In zgesdd documentation, currently
        lrwork >= max( 5*mn*mn + 7*mn, 2*mx*mn + 2*mn*mn + mn )

    It doesn't need that much, particularly for (mx >> mn) case.
        If (mx >> mn), lrwork >= 5*mn*mn + 5*mn;
        else,          lrwork >= max( 5*mn*mn + 5*mn,
                                      2*mx*mn + 2*mn*mn + mn ).

    I changed this in the documentation. Feel free to revert if you prefer.

================================================================================
m)  [cz]gesvd, Path 10 and 10t, have minwrk inside the wrong conditional:
        IF( .NOT.WNTVN ) THEN
           MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_P )
        MINWRK = 2*N + M
        END IF
    So Path 10 with jobvt='N', and Path 10t with jobu='N', have minwrk = 1,
    so an invalid lwork is not correctly rejected.

================================================================================
mt) transposed case
    broken: with old routine, Path 10t with jobu='N' doesn't enforce minwrk

8 years agoSee post on forum on Thu Mar 31, 2016:
langou [Fri, 1 Apr 2016 22:34:10 +0000 (22:34 +0000)]
See post on forum on Thu Mar 31, 2016:
http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4937

Thanks to Eugene Chereshnev (Intel)

8 years ago( some spaces removed )
langou [Fri, 1 Apr 2016 21:59:59 +0000 (21:59 +0000)]
( some spaces removed )

8 years agoEmail from Tim Hopkins (University of Kent), March 13th (item #4)
langou [Tue, 15 Mar 2016 03:06:50 +0000 (03:06 +0000)]
Email from Tim Hopkins (University of Kent), March 13th (item #4)

Used A(1,1) and T(1,1) in call to *LARFG (around line 177)
to make arguments 2 and 5 scalars rather than 2d-arrays.

8 years agoEmail from Tim Hopkins (University of Kent), March 13th (1/11)
langou [Mon, 14 Mar 2016 20:23:03 +0000 (20:23 +0000)]
Email from Tim Hopkins (University of Kent), March 13th (1/11)

The work array, RWORK, is declared COMPLEX, it should be REAL.

8 years agoFix for pkgconfig files lapack.pc, blas.pc - PATCH sent by Christoph Conrads on March...
julie [Wed, 2 Mar 2016 04:00:38 +0000 (04:00 +0000)]
Fix for pkgconfig files lapack.pc, blas.pc - PATCH sent by Christoph Conrads on March 1st 2016

8 years agolapacke.h remove extra comma (one more)
julie [Fri, 26 Feb 2016 15:08:55 +0000 (15:08 +0000)]
lapacke.h remove extra comma (one more)

8 years agoremove extra comma
julie [Fri, 26 Feb 2016 06:05:04 +0000 (06:05 +0000)]
remove extra comma

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 06:12:17 +0000 (06:12 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 42/42] Fix lapacke_?tprfb - avoid nancheck of unset data

---> LAST ONE!!!

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 06:11:24 +0000 (06:11 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 41/42] Fix lapacke_?tpmqrt - avoid nancheck of unset data

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 06:10:54 +0000 (06:10 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 40/42] Fix lapacke_?steqr - avoid nancheck of z when compz=='i'

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 06:09:49 +0000 (06:09 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 39/42] Fix lapacke_?hetri2x - avoid nancheck of unset data

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 06:09:01 +0000 (06:09 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 38/42] Fix lapacke_???swapr* - missing parameter lda, and more

- lda should not be missed
- a has leading dimension lda, not n
- a_t has leading dimension lda_t, not n

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 06:03:59 +0000 (06:03 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 37/42] Fix lapacke_?gemqrt - avoid nancheck of unset data

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 06:02:47 +0000 (06:02 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

Part of [PATCH 36/42]
- nancheck of input shall cover n-by-n, not lda-by-n

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:59:45 +0000 (05:59 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

!!! NOT APPLYING PATCH [PATCH 36/42] !!! Fix lapacke_?syconv - parameter work is not part of hi-level interface
See revision 1609 | langou | 2015-10-28 22:06:14 -0700 (Wed, 28 Oct 2015)
"In ?syconv, replace the variable name WORK by the variable name E.  E is the
standard way to name the supdiagonal/subdiagonal of a symmetric tridiagonal
matrix.  Also, E (previously WORK) is of size N-1, not N. So correct this in
the comment."

Updated LAPACKE with new parameter name.

8 years ago[PATCH 35/42] Fix lapacke_ilaver - [out] parameters shall be not const
julie [Tue, 23 Feb 2016 05:46:46 +0000 (05:46 +0000)]
[PATCH 35/42] Fix lapacke_ilaver - [out] parameters shall be not const

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:46:10 +0000 (05:46 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 34/42] Fix lapacke_?sytri2 - work is real, not complex

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:45:11 +0000 (05:45 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 33/42] Fix lapacke_?bdsvdx - vl,vu are real; ns must be passed by ref

- vl and vu are real kind
- ns is [out] and must be passed by reference
- lwork must be at least 1
- e is n-1 array
- ldz should be compared to ncols_z for r-major case

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:43:51 +0000 (05:43 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 32/42] Fix lapacke_?{un,or}csd2by1 - theta is real, and use ld*_t

- theta is real, not complex
- use ld*_t for calling LAPACK in row-major case, not ld*

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:42:48 +0000 (05:42 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 31/42] Fix lapacke_?tprfb - parameter work is not 'const'

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:42:09 +0000 (05:42 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 30/42] Fix lapacke_?lascl - bugs and NaN checks

- nancheck content, not padding (e.g. M-by-N, not LDA-by-N)
- types L, U: use ?gb_nancheck(m,n), not ?tr_nancheck(n)
- type H: use ?gb_nancheck(m,n), not ?hs_nancheck(n)
- type Z: use ?gb_nancheck correctly, do not check unset data
- type Z: M-by-N should be checked
- type Z: A is 9th parameter
- nrows_a is needed for correct transposition
- info from LAPACK should be respected

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:40:53 +0000 (05:40 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 29/42] Fix lapacke_?gb_nancheck - misuse of leading dimension as matrix size

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:40:02 +0000 (05:40 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 28/42] Fix lapacke_?gesvj - correct eval of nrows_v

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:39:23 +0000 (05:39 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 27/42] Fix lapacke_?gesvdx* - NS is reference; VU, VL are real; ...

- NS must be passed by ref
- VU and VL shall be real, not integer
- LWORK must be at least 1, even for N=0
- correct allocation of WORK, JOBU/JOBVT cannot be 'A' or 'S'
- nrows/ncols = max(...,0), zero is possible, negatives are not

fixup lapacke_?gesvdx

8 years ago[PATCH 26/42] Fix lapacke_?gejsv* correct computation of lwork.
julie [Tue, 23 Feb 2016 05:37:59 +0000 (05:37 +0000)]
[PATCH 26/42] Fix lapacke_?gejsv* correct computation of lwork.
 ISSUE: gejsv needs LQUERY

- lrwork must be max(7,...) per documentation
- iwork must be at least 3 long, and m+2n/m+3n for c/r kinds
- lwork is computed incorrectly by the init expr.
  ISSUE: ?gejsv shall implement LQUERY
- bug: rwork should be followed by lrwork, not by lwork
- bug r-major case shall compare ldu vs ncols_u, not vs n
- lwork for want_u && want_v must not depend on joba, jobt

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:36:56 +0000 (05:36 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 25/42] Fix lapacke_?gejsv - do not transpose U,V on input

- U,V are [out], so no need to transpose on input

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:35:56 +0000 (05:35 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 24/42] Fix lapacke_?gejsv - remove NaN check of U,V

- U,V are [out] and should not be checked for NaNs

8 years agoAPPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry...
julie [Tue, 23 Feb 2016 05:33:18 +0000 (05:33 +0000)]
APPLYING INTEL PATCHES sent to Julie on Feb 19th 2016 by Dima from INTEL (dmitry.g.baksheev@intel.com)

[PATCH 23/42] Fix lapacke_zgghd3: Use LAPACK_Z2INT, not C2INT