Skip to content

Releases: elemental/Elemental

v0.88.0

04 Mar 08:18
00c6420

Choose a tag to compare

What's Changed

  • Replacing hardcoded 'lib' by the CMAKE variable in ElVars file by @rocanale in #213
  • Adding encapsulated interfaces to the sparse LDL factorizations by @poulson in #214
  • Overloaded operator* for Ranges. by @AidanGG in #216
  • Fixed default grid height calculation. by @AidanGG in #217
  • Parallelizing several BLAS 1 (-like) routines with OpenMP by @timmoon10 in #221
  • Support block matrices in several BLAS1 routines by @ndryden in #226
  • Optimizing BLAS1-like routines by @timmoon10 in #227
  • Optimizing BLAS 1-like routines by @timmoon10 in #231
  • correct a path in the ElementalConfig.cmake.in file by @trb413 in #235
  • Workaround for Intel compiler issue mentioned in #215 by @trb413 in #238
  • ignore QD_INCLUDES if QD_FOUND is false by @davydden in #242
  • Fix compiler warnings by @davydden in #244
  • CMake option to choose OpenBLAS commit to build by @timmoon10 in #246
  • export El dependency on GMP, MPFR, MPC, QG, and Valgrind include dirs by @evaleev in #249
  • Parallelizing copy and zero routines with OpenMP. by @timmoon10 in #250
  • Faster multithreaded algorithm for Copy and Zero. by @timmoon10 in #251
  • Buffer printing for whole matrices by @mcneish1 in #252
  • Pass MPI_C_COMPILER instead of CMAKE_C_COMPILER by @andreasnoack in #253
  • CMake, GCC: Enable libquadmath detection for GCC 5.x to 8.x. by @karlrupp in #256
  • Enable OpenMP code only if EL_HYBRID is set by @JM1 in #261
  • Add GCC 8 and Clang 6.0 to Travis CI. by @JM1 in #263
  • Fix ambiguous template special. errors with GCC 7+ by @JM1 in #264
  • Add Clang 4.0 to .travis.yml and allow 6.0 to fail by @JM1 in #265
  • Migrate CI from Travis to GitHub Actions and add AGENTS.md by @andreasnoack in #280

New Contributors

Full Changelog: v0.87.6...v0.88.0

Elemental version 0.87.7

07 Feb 04:15

Choose a tag to compare

Minor changes since 0.87.0

  • Fixed a bug in the affine QP IPM initialization
  • Fixed a bug in the El::SparseInvCov lambda definition for El::HermitianFunction
  • Fixed a bug in the sparse Dantzig Selector implementation
  • Added operator* for integer index ranges
  • Fixed bit-rot in many python IPM example drivers
  • Fixed CMAKE_INSTALL_LIBDIR usage in ElVars.in
  • Fixed El::UpdatedMappedDiagonal prototype in El/blas_like/level1/decl.hpp (avoiding undefined ref's)
  • Fixed call to El::lin_solve::ScaLAPACKHelper in src/lapack_like/solve/Linear.cpp
  • Avoided python global variables (which were not propagating on recent versions of OS X)
  • Avoided compiler error from implicit conversions between El::Int and El::BigFloat for member variables
  • Simplified src/core/mpi_register.cpp and avoided unfreed MPI memory
  • Avoided unused variables
  • Added support for reading El::SparseMatrix and El::DistSparseMatrix in El::MATRIX_MARKET format
  • Fixed 64-bit integer builds
  • Fixed bug in promotion of El::Quad
  • Fixed a substantial amount of bit-rot in the Python interface and its examples
  • Fixed CTest on Mac OS X
  • Extended interface of El::LUMod to support any low-rank modification
  • Added missing implementation of sequential dense equilibration so that the sequential dense Interior Point Methods now function
  • Extended more routines from accepting El::ElementalMatrix to the more general El::AbstractDistMatrix
  • Renamed DEBUG_ONLY to EL_DEBUG_ONLY, RELEASE_ONLY to EL_RELEASE_ONLY, and DEBUG_CSE to EL_DEBUG_CSE and ensured that they function without a preceding import of the El namespace
  • Removed invalid calls to std::numeric_limits for non-STL datatypes
  • Greatly curated the example drivers (e.g., by always making explicit use of the El namespace)
  • Added (and incorporated) an El::MakeFunction helper for converting lambdas to an appropriate std::function

Notable functionality additions

  • (Arbitrary-precision) real and complex Lenstra/Lenstra/Lovasz (LLL) lattice reduction
  • (Arbitrary-precision) real and complex Block Korkine-Zolotarev (BKZ) and various enumeration heuristic extensions (BKZ 2.0 and y-sparse enumeration)
  • (Arbitrary-precision) distributed divide-and-conquer real symmetric tridiagonal EVD
  • (Arbitrary-precision) distributed divide-and-conquer bidiagonal SVD
  • (Arbitrary-precision) distributed Aggressive Early Deflation Hessenberg QR algorithms
  • (Arbitrary-precision) distributed high-performance level 3 BLAS complex triangular eigenvector computation
  • (Arbitrary-precision) distributed high-performance pseudospectra
  • (Arbitrary-precision) distributed real and complex sparse linear solvers (including a special interface for symmetric quasi-semidefinite matrices)
  • (Arbitrary-precision) distributed real and complex generalized sparse least squares solvers (including LSE and GLM)
  • (Arbitrary-precision) distributed dense and sparse Linear, Quadratic, and Second-Order Cone Programming

Packaging additions

Relevant toolchain bugs

  • GCC Release builds are (by default) blocked on OS X due to -O3 optimizations leading to a stack_not_16_byte_aligned_error error in the 5.x and 6.x series of GCC. Please see #181 for a more detailed discussion. The CMake flag -D EL_IGNORE_OSX_GCC_ALIGNMENT_PROBLEM=ON will prevent the error for OSX GCC Release builds. Further, Homebrew's GCC 4.9 does not properly handle exceptions (see Homebrew/homebrew-core#7837 (comment)).
  • OpenMPI versions before 1.8.1 are prevented by the CMake configuration due to bugs in OpenMPI 1.6.5's handling of complex datatypes
  • Intel compilers before version 17 update 1 will not properly compile Elemental (see Issue #177 )
  • Compiling MPICH 3.2 with Clang on recent versions of OS X can lead to segfaults in MPID_Request_create within an MPI_Alltoallv call (see Issue #200 )
  • MPICH must be configured with the --enable-two-level-namespace option on Mac OS X (see Issue #203 )

Significant contributors for this release

  • Aron Ahmadia
    • Reported bit-rot in the python example drivers
  • Haim Avron haimav@post.tau.ac.il
    • Numerous useful bug reports (including one effecting 0.87.0 and one for 0.87.6)
    • Contributed towards the current Debian packaging process
  • Satish Balay balay@msc.anl.gov
    • Numerous bug reports for code cleanliness (including one effecting 0.87.2)
  • David Blom davidsblom@gmail.com
    • Added MaxAbs implementations
  • Jake Bolewski jakebolewski@gmail.com
    • Made Python support much more robust
    • Fixed CMake OSX RPATH handling
    • Helped introduce Travis CI
  • Rodrigo Canales rodrigo.canales@rwth-aachen.de
    • Fixed bugs in mkl::Trrk and xgemmt calls
  • Jiahao Chen jiahao@mit.edu
    • Set up the CMake testing framework
    • Helped introduce Travis CI
  • Martin Copik mcopik@gmail.com
    • Fixed PMRRR double lock free bug
    • Fixed ScaLAPACK GFORTRAN_LIB configuration bug
    • Fixed METIS and ParMETIS configuration bugs
  • Aidan Dang danga@student.unimelb.edu.au
    • Reported bugs in SVD and submitted fix for 64-bit integer build
    • Contributed operator* for El::RangeEl::Int
  • Ron Estrin restrin@stanford.edu
    • Substantially improved the LLL performance
  • Jeff Hammond jeff.science@gmail.com
    • Help with numerous toolchain issues (especially the Intel compilers)
  • Yves Ineichen iff@yvesineichen.com
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports
  • Georgios Kollias gkollias@us.ibm.com
    • Reported int -> BigFloat conversion issue effecting 0.87.2
  • Ryan Lewis me@ryanlewis.net
    • Spearheaded the Fedora packaging
    • Setting up the (soon-to-be-integrated) Jenkins CI
  • Yingzhou (Ryan) Li ryanli@stanford.edu
    • Added proper CMake project exports
    • Several bug reports on process grids with viewing processes
  • Tim Moon tym1@stanford.edu
  • Andreas Noack andreasnoackjensen@gmail.com
    • Helped introduce Travis CI
  • Jack Poulson jack.poulson@gmail.com
    • Added Aggressive Early Deflation Hessenberg QR implementation
    • Added Divide and Conquer bidiagonal SVD
    • Added Divide and Conquer real symmetric tridiagonal EVP
    • Added lattice reduction functionality
    • Added Interior Point Methods and sparse generalized least squares methods
    • Extended El::Complex class to support DoubleDouble, QuadDouble, Quad, and BigFloat
    • Added MPI support for BigFloat
    • Introduced LaunchPad PPA
    • Adminstrivia and making the build system more robust
  • Mukundhan Selvam Mukundhan.Selvam@mscsoftware.com
    • Bug reports for sparse-direct solvers
    • Bug reports for the Intel compilers
  • Barry Smith bsmith@mcs.anl.gov
    • Numerous bug reports on code cleanliness
  • Hong Zhang hzhang@mcs.anl.gov
    • Numerous bug reports on code cleanliness

Elemental version 0.87.6

17 Dec 02:41

Choose a tag to compare

Minor changes since 0.87.0

  • Fixed UpdatedMappedDiagonal prototype in El/blas_like/level1/decl.hpp (to avoid undefined references)
  • Fixed call to lin_solve::ScaLAPACKHelper in src/lapack_like/solve/Linear.cpp
  • Avoided python global variables (which were not propagating on recent versions of OS X)
  • Avoided compiler error from implicit conversions between El::Int and El::BigFloat for member variables
  • Simplified src/core/mpi_register.cpp and avoided unfreed MPI memory
  • Avoided unused variables
  • Added support for reading SparseMatrix and DistSparseMatrix in MATRIX_MARKET format
  • Fixed 64-bit integer builds
  • Fixed bug in promotion of Quad
  • Fixed a substantial amount of bit-rot in the Python interface and its examples
  • Fixed CTest on Mac OS X
  • Extended interface of LUMod to support any low-rank modification
  • Added missing implementation of sequential dense equilibration so that the sequential dense Interior Point Methods now function
  • Extended many more routines from accepting ElementalMatrix to the more general AbstractDistMatrix
  • Renamed DEBUG_ONLY to EL_DEBUG_ONLY, RELEASE_ONLY to EL_RELEASE_ONLY, and DEBUG_CSE to EL_DEBUG_CSE and ensured that they function without a preceding import of the El namespace
  • Removed invalid calls to std::numeric_limits for non-STL datatypes
  • Greatly curated the example drivers (e.g., by always making explicit use of the El namespace)
  • Added (and incorporated) an El::MakeFunction helper for converting lambdas to an appropriate std::function

Notable functionality additions

  • (Arbitrary-precision) real and complex Lenstra/Lenstra/Lovasz (LLL) lattice reduction
  • (Arbitrary-precision) real and complex Block Korkine-Zolotarev (BKZ) and various enumeration heuristic extensions (BKZ 2.0 and y-sparse enumeration)
  • (Arbitrary-precision) distributed divide-and-conquer real symmetric tridiagonal EVD
  • (Arbitrary-precision) distributed divide-and-conquer bidiagonal SVD
  • (Arbitrary-precision) distributed Aggressive Early Deflation Hessenberg QR algorithms
  • (Arbitrary-precision) distributed high-performance level 3 BLAS complex triangular eigenvector computation
  • (Arbitrary-precision) distributed high-performance pseudospectra
  • (Arbitrary-precision) distributed real and complex sparse linear solvers (including a special interface for symmetric quasi-semidefinite matrices)
  • (Arbitrary-precision) distributed real and complex generalized sparse least squares solvers (including LSE and GLM)
  • (Arbitrary-precision) distributed dense and sparse Linear, Quadratic, and Second-Order Cone Programming

Packaging additions

Relevant toolchain bugs

  • GCC Release builds are (by default) blocked on OS X due to -O3 optimizations leading to a stack_not_16_byte_aligned_error error in the 5.x and 6.x series of GCC. Please see #181 for a more detailed discussion. The CMake flag -D EL_IGNORE_OSX_GCC_ALIGNMENT_PROBLEM=ON will prevent the error for OSX GCC Release builds. Further, Homebrew's GCC 4.9 does not properly handle exceptions (see Homebrew/homebrew-core#7837 (comment)).
  • OpenMPI versions before 1.8.1 are prevented by the CMake configuration due to bugs in OpenMPI 1.6.5's handling of complex datatypes
  • Intel compilers before version 17 update 1 will not properly compile Elemental (see Issue #177 )
  • Compiling MPICH 3.2 with Clang on recent versions of OS X can lead to segfaults in MPID_Request_create within an MPI_Alltoallv call (see Issue #200 )
  • MPICH must be configured with the --enable-two-level-namespace option on Mac OS X (see Issue #203 )

Significant contributors for this release

  • Haim Avron haimav@post.tau.ac.il
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports (including one effecting 0.87.0)
  • Satish Balay balay@msc.anl.gov
    • Numerous bug reports for code cleanliness (including one effecting 0.87.2)
  • David Blom davidsblom@gmail.com
    • Added MaxAbs implementations
  • Jake Bolewski jakebolewski@gmail.com
    • Made Python support much more robust
    • Fixed CMake OSX RPATH handling
    • Helped introduce Travis CI
  • Rodrigo Canales rodrigo.canales@rwth-aachen.de
    • Fixed bugs in mkl::Trrk and xgemmt calls
  • Jiahao Chen jiahao@mit.edu
    • Set up the CMake testing framework
    • Helped introduce Travis CI
  • Martin Copik mcopik@gmail.com
    • Fixed PMRRR double lock free bug
    • Fixed ScaLAPACK GFORTRAN_LIB configuration bug
    • Fixed METIS and ParMETIS configuration bugs
  • Aidan Dang danga@student.unimelb.edu.au
    • Reported bugs in SVD and submitted fix for 64-bit integer build
  • Ron Estrin restrin@stanford.edu
    • Substantially improved the LLL performance
  • Jeff Hammond jeff.science@gmail.com
    • Help with numerous toolchain issues (especially the Intel compilers)
  • Yves Ineichen iff@yvesineichen.com
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports
  • Georgios Kollias gkollias@us.ibm.com
    • Reported int -> BigFloat conversion issue effecting 0.87.2
  • Ryan Lewis me@ryanlewis.net
    • Spearheaded the Fedora packaging
    • Setting up the (soon-to-be-integrated) Jenkins CI
  • Yingzhou (Ryan) Li ryanli@stanford.edu
    • Added proper CMake project exports
    • Several bug reports on process grids with viewing processes
  • Tim Moon tym1@stanford.edu
  • Andreas Noack andreasnoackjensen@gmail.com
    • Helped introduce Travis CI
  • Jack Poulson jack.poulson@gmail.com
    • Added Aggressive Early Deflation Hessenberg QR implementation
    • Added Divide and Conquer bidiagonal SVD
    • Added Divide and Conquer real symmetric tridiagonal EVP
    • Added lattice reduction functionality
    • Added Interior Point Methods and sparse generalized least squares methods
    • Extended El::Complex class to support DoubleDouble, QuadDouble, Quad, and BigFloat
    • Added MPI support for BigFloat
    • Introduced LaunchPad PPA
    • Adminstrivia and making the build system more robust
  • Mukundhan Selvam Mukundhan.Selvam@mscsoftware.com
    • Bug reports for sparse-direct solvers
    • Bug reports for the Intel compilers
  • Barry Smith bsmith@mcs.anl.gov
    • Numerous bug reports on code cleanliness
  • Hong Zhang hzhang@mcs.anl.gov
    • Numerous bug reports on code cleanliness

Elemental version 0.87.5

28 Nov 04:12

Choose a tag to compare

Minor changes since 0.87.0

  • Fixed UpdatedMappedDiagonal prototype in El/blas_like/level1/decl.hpp (to avoid undefined references)
  • Fixed call to lin_solve::ScaLAPACKHelper in src/lapack_like/solve/Linear.cpp
  • Avoided python global variables (which were not propagating on recent versions of OS X)
  • Avoided compiler error from implicit conversions between El::Int and El::BigFloat for member variables
  • Simplified src/core/mpi_register.cpp and avoided unfreed MPI memory
  • Avoided unused variables
  • Added support for reading SparseMatrix and DistSparseMatrix in MATRIX_MARKET format
  • Fixed 64-bit integer builds
  • Fixed bug in promotion of Quad
  • Fixed a substantial amount of bit-rot in the Python interface and its examples
  • Fixed CTest on Mac OS X

Notable functionality additions

  • (Arbitrary-precision) real and complex Lenstra/Lenstra/Lovasz (LLL) lattice reduction
  • (Arbitrary-precision) real and complex Block Korkine-Zolotarev (BKZ) and various enumeration heuristic extensions (BKZ 2.0 and y-sparse enumeration)
  • (Arbitrary-precision) distributed divide-and-conquer real symmetric tridiagonal EVD
  • (Arbitrary-precision) distributed divide-and-conquer bidiagonal SVD
  • (Arbitrary-precision) distributed Aggressive Early Deflation Hessenberg QR algorithms
  • (Arbitrary-precision) distributed high-performance level 3 BLAS complex triangular eigenvector computation
  • (Arbitrary-precision) distributed high-performance pseudospectra
  • (Arbitrary-precision) distributed real and complex sparse linear solvers (including a special interface for symmetric quasi-semidefinite matrices)
  • (Arbitrary-precision) distributed real and complex generalized sparse least squares solvers (including LSE and GLM)
  • (Arbitrary-precision) distributed dense and sparse Linear, Quadratic, and Second-Order Cone Programming

Packaging additions

Relevant toolchain bugs

  • GCC Release builds are (by default) blocked on OS X due to -O3 optimizations leading to a stack_not_16_byte_aligned_error error. Please see #181 for a more detailed discussion. The CMake flag -D EL_IGNORE_OSX_GCC_ALIGNMENT_PROBLEM=ON will prevent the error for OSX GCC Release builds.
  • OpenMPI versions before 1.8.1 are prevented by the CMake configuration due to bugs in OpenMPI 1.6.5's handling of complex datatypes
  • Intel compilers before version 17 update 1 will not properly compile Elemental (see Issue #177 )
  • Compiling MPICH 3.2 with Clang on recent versions of OS X can lead to segfaults in MPID_Request_create within an MPI_Alltoallv call (see Issue #200 )
  • MPICH must be configured with the --enable-two-level-namespace option on Mac OS X (see Issue #203 )

Significant contributors for this release

  • Haim Avron haimav@post.tau.ac.il
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports (including one effecting 0.87.0)
  • Satish Balay balay@msc.anl.gov
    • Numerous bug reports for code cleanliness (including one effecting 0.87.2)
  • David Blom davidsblom@gmail.com
    • Added MaxAbs implementations
  • Jake Bolewski jakebolewski@gmail.com
    • Made Python support much more robust
    • Fixed CMake OSX RPATH handling
    • Helped introduce Travis CI
  • Rodrigo Canales rodrigo.canales@rwth-aachen.de
    • Fixed bugs in mkl::Trrk and xgemmt calls
  • Jiahao Chen jiahao@mit.edu
    • Set up the CMake testing framework
    • Helped introduce Travis CI
  • Martin Copik mcopik@gmail.com
    • Fixed PMRRR double lock free bug
    • Fixed ScaLAPACK GFORTRAN_LIB configuration bug
    • Fixed METIS and ParMETIS configuration bugs
  • Aidan Dang danga@student.unimelb.edu.au
    • Reported bugs in SVD and submitted fix for 64-bit integer build
  • Ron Estrin restrin@stanford.edu
    • Substantially improved the LLL performance
  • Jeff Hammond jeff.science@gmail.com
    • Help with numerous toolchain issues (especially the Intel compilers)
  • Yves Ineichen iff@yvesineichen.com
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports
  • Georgios Kollias gkollias@us.ibm.com
    • Reported int -> BigFloat conversion issue effecting 0.87.2
  • Ryan Lewis me@ryanlewis.net
    • Spearheaded the Fedora packaging
    • Setting up the (soon-to-be-integrated) Jenkins CI
  • Yingzhou (Ryan) Li ryanli@stanford.edu
    • Added proper CMake project exports
    • Several bug reports on process grids with viewing processes
  • Tim Moon tym1@stanford.edu
  • Andreas Noack andreasnoackjensen@gmail.com
    • Helped introduce Travis CI
  • Jack Poulson jack.poulson@gmail.com
    • Added Aggressive Early Deflation Hessenberg QR implementation
    • Added Divide and Conquer bidiagonal SVD
    • Added Divide and Conquer real symmetric tridiagonal EVP
    • Added lattice reduction functionality
    • Added Interior Point Methods and sparse generalized least squares methods
    • Extended El::Complex class to support DoubleDouble, QuadDouble, Quad, and BigFloat
    • Added MPI support for BigFloat
    • Introduced LaunchPad PPA
    • Adminstrivia and making the build system more robust
  • Mukundhan Selvam Mukundhan.Selvam@mscsoftware.com
    • Bug reports for sparse-direct solvers
    • Bug reports for the Intel compilers
  • Barry Smith bsmith@mcs.anl.gov
    • Numerous bug reports on code cleanliness
  • Hong Zhang hzhang@mcs.anl.gov
    • Numerous bug reports on code cleanliness

Elemental version 0.87.4

23 Nov 23:30

Choose a tag to compare

Minor changes since 0.87.0

  • Fixed UpdatedMappedDiagonal prototype in El/blas_like/level1/decl.hpp (to avoid undefined references)
  • Fixed call to lin_solve::ScaLAPACKHelper in src/lapack_like/solve/Linear.cpp
  • Avoided python global variables (which were not propagating on recent versions of OS X)
  • Avoided compiler error from implicit conversions between El::Int and El::BigFloat for member variables
  • Simplified src/core/mpi_register.cpp and avoided unfreed MPI memory
  • Avoided unused variables
  • Added support for reading SparseMatrix and DistSparseMatrix in MATRIX_MARKET format

Notable functionality additions

  • (Arbitrary-precision) real and complex Lenstra/Lenstra/Lovasz (LLL) lattice reduction
  • (Arbitrary-precision) real and complex Block Korkine-Zolotarev (BKZ) and various enumeration heuristic extensions (BKZ 2.0 and y-sparse enumeration)
  • (Arbitrary-precision) distributed divide-and-conquer real symmetric tridiagonal EVD
  • (Arbitrary-precision) distributed divide-and-conquer bidiagonal SVD
  • (Arbitrary-precision) distributed Aggressive Early Deflation Hessenberg QR algorithms
  • (Arbitrary-precision) distributed high-performance level 3 BLAS complex triangular eigenvector computation
  • (Arbitrary-precision) distributed high-performance pseudospectra
  • (Arbitrary-precision) distributed real and complex sparse linear solvers (including a special interface for symmetric quasi-semidefinite matrices)
  • (Arbitrary-precision) distributed real and complex generalized sparse least squares solvers (including LSE and GLM)
  • (Arbitrary-precision) distributed dense and sparse Linear, Quadratic, and Second-Order Cone Programming

Packaging additions

Relevant toolchain bugs

  • GCC Release builds are (by default) blocked on OSX due to -O3 optimizations leading to a stack_not_16_byte_aligned_error error. Please see #181 for a more detailed discussion. The CMake flag -D EL_IGNORE_OSX_GCC_ALIGNMENT_PROBLEM=ON will prevent the error for OSX GCC Release builds.
  • OpenMPI versions before 1.8.1 are prevented by the CMake configuration due to bugs in OpenMPI 1.6.5's handling of complex datatypes
  • Intel compilers before version 17 update 1 will not properly compile Elemental (see Issue #177 )
  • Compiling MPICH with Clang on recent versions of OS X can lead to segfaults in MPID_Request_create within an MPI_Alltoallv call (see Issue #200 )

Significant contributors for this release

  • Haim Avron haimav@post.tau.ac.il
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports (including one effecting 0.87.0)
  • Satish Balay balay@msc.anl.gov
    • Numerous bug reports for code cleanliness (including one effecting 0.87.2)
  • David Blom davidsblom@gmail.com
    • Added MaxAbs implementations
  • Jake Bolewski jakebolewski@gmail.com
    • Made Python support much more robust
    • Fixed CMake OSX RPATH handling
    • Helped introduce Travis CI
  • Rodrigo Canales rodrigo.canales@rwth-aachen.de
    • Fixed bugs in mkl::Trrk and xgemmt calls
  • Jiahao Chen jiahao@mit.edu
    • Set up the CMake testing framework
    • Helped introduce Travis CI
  • Martin Copik mcopik@gmail.com
    • Fixed PMRRR double lock free bug
    • Fixed ScaLAPACK GFORTRAN_LIB configuration bug
    • Fixed METIS and ParMETIS configuration bugs
  • Ron Estrin restrin@stanford.edu
    • Substantially improved the LLL performance
  • Jeff Hammond jeff.science@gmail.com
    • Help with numerous toolchain issues (especially the Intel compilers)
  • Yves Ineichen iff@yvesineichen.com
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports
  • Georgios Kollias gkollias@us.ibm.com
    • Reported int -> BigFloat conversion issue effecting 0.87.2
  • Ryan Lewis me@ryanlewis.net
    • Spearheaded the Fedora packaging
    • Setting up the (soon-to-be-integrated) Jenkins CI
  • Yingzhou (Ryan) Li ryanli@stanford.edu
    • Added proper CMake project exports
    • Several bug reports on process grids with viewing processes
  • Tim Moon tym1@stanford.edu
  • Andreas Noack andreasnoackjensen@gmail.com
    • Helped introduce Travis CI
  • Jack Poulson jack.poulson@gmail.com
    • Added Aggressive Early Deflation Hessenberg QR implementation
    • Added Divide and Conquer bidiagonal SVD
    • Added Divide and Conquer real symmetric tridiagonal EVP
    • Added lattice reduction functionality
    • Added Interior Point Methods and sparse generalized least squares methods
    • Extended El::Complex class to support DoubleDouble, QuadDouble, Quad, and BigFloat
    • Added MPI support for BigFloat
    • Introduced LaunchPad PPA
    • Adminstrivia and making the build system more robust
  • Mukundhan Selvam Mukundhan.Selvam@mscsoftware.com
    • Bug reports for sparse-direct solvers
    • Bug reports for the Intel compilers
  • Barry Smith bsmith@mcs.anl.gov
    • Numerous bug reports on code cleanliness
  • Hong Zhang hzhang@mcs.anl.gov
    • Numerous bug reports on code cleanliness

Elemental version 0.87.3

23 Nov 07:22

Choose a tag to compare

Minor changes since 0.87.0

  • Fixed UpdatedMappedDiagonal prototype in El/blas_like/level1/decl.hpp (to avoid undefined references)
  • Fixed call to lin_solve::ScaLAPACKHelper in src/lapack_like/solve/Linear.cpp
  • Avoided python global variables (which were not propagating on recent versions of OS X)
  • Avoided compiler error from implicit conversions between El::Int and El::BigFloat for member variables

Notable functionality additions

  • (Arbitrary-precision) real and complex Lenstra/Lenstra/Lovasz (LLL) lattice reduction
  • (Arbitrary-precision) real and complex Block Korkine-Zolotarev (BKZ) and various enumeration heuristic extensions (BKZ 2.0 and y-sparse enumeration)
  • (Arbitrary-precision) distributed divide-and-conquer real symmetric tridiagonal EVD
  • (Arbitrary-precision) distributed divide-and-conquer bidiagonal SVD
  • (Arbitrary-precision) distributed Aggressive Early Deflation Hessenberg QR algorithms
  • (Arbitrary-precision) distributed high-performance level 3 BLAS complex triangular eigenvector computation
  • (Arbitrary-precision) distributed high-performance pseudospectra
  • (Arbitrary-precision) distributed real and complex sparse linear solvers (including a special interface for symmetric quasi-semidefinite matrices)
  • (Arbitrary-precision) distributed real and complex generalized sparse least squares solvers (including LSE and GLM)
  • (Arbitrary-precision) distributed dense and sparse Linear, Quadratic, and Second-Order Cone Programming

Packaging additions

Relevant toolchain bugs

  • GCC Release builds are (by default) blocked on OSX due to -O3 optimizations leading to a stack_not_16_byte_aligned_error error. Please see #181 for a more detailed discussion. The CMake flag -D EL_IGNORE_OSX_GCC_ALIGNMENT_PROBLEM=ON will prevent the error for OSX GCC Release builds.
  • OpenMPI versions before 1.8.1 are prevented by the CMake configuration due to bugs in OpenMPI 1.6.5's handling of complex datatypes
  • Intel compilers before version 17 update 1 will not properly compile Elemental (see Issue #177 )
  • Compiling MPICH with Clang on recent versions of OS X can lead to segfaults in MPID_Request_create within an MPI_Alltoallv call (see Issue #200 )

Significant contributors for this release

  • Haim Avron haimav@post.tau.ac.il
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports (including one effecting 0.87.0)
  • Satish Balay balay@msc.anl.gov
    • Numerous bug reports for code cleanliness
  • David Blom davidsblom@gmail.com
    • Added MaxAbs implementations
  • Jake Bolewski jakebolewski@gmail.com
    • Made Python support much more robust
    • Fixed CMake OSX RPATH handling
    • Helped introduce Travis CI
  • Rodrigo Canales rodrigo.canales@rwth-aachen.de
    • Fixed bugs in mkl::Trrk and xgemmt calls
  • Jiahao Chen jiahao@mit.edu
    • Set up the CMake testing framework
    • Helped introduce Travis CI
  • Martin Copik mcopik@gmail.com
    • Fixed PMRRR double lock free bug
    • Fixed ScaLAPACK GFORTRAN_LIB configuration bug
    • Fixed METIS and ParMETIS configuration bugs
  • Ron Estrin restrin@stanford.edu
    • Substantially improved the LLL performance
  • Jeff Hammond jeff.science@gmail.com
    • Help with numerous toolchain issues (especially the Intel compilers)
  • Yves Ineichen iff@yvesineichen.com
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports
  • Georgios Kollias gkollias@us.ibm.com
    • Reported int -> BigFloat conversion issue effecting 0.87.2
  • Ryan Lewis me@ryanlewis.net
    • Spearheaded the Fedora packaging
    • Setting up the (soon-to-be-integrated) Jenkins CI
  • Yingzhou (Ryan) Li ryanli@stanford.edu
    • Added proper CMake project exports
    • Several bug reports on process grids with viewing processes
  • Tim Moon tym1@stanford.edu
  • Andreas Noack andreasnoackjensen@gmail.com
    • Helped introduce Travis CI
  • Jack Poulson jack.poulson@gmail.com
    • Added Aggressive Early Deflation Hessenberg QR implementation
    • Added Divide and Conquer bidiagonal SVD
    • Added Divide and Conquer real symmetric tridiagonal EVP
    • Added lattice reduction functionality
    • Added Interior Point Methods and sparse generalized least squares methods
    • Extended El::Complex class to support DoubleDouble, QuadDouble, Quad, and BigFloat
    • Added MPI support for BigFloat
    • Introduced LaunchPad PPA
    • Adminstrivia and making the build system more robust
  • Mukundhan Selvam Mukundhan.Selvam@mscsoftware.com
    • Bug reports for sparse-direct solvers
    • Bug reports for the Intel compilers
  • Barry Smith bsmith@mcs.anl.gov
    • Numerous bug reports on code cleanliness
  • Hong Zhang hzhang@mcs.anl.gov
    • Numerous bug reports on code cleanliness

Elemental version 0.87.2

22 Nov 07:16

Choose a tag to compare

Minor changes since 0.87.0

  • Fixed UpdatedMappedDiagonal prototype in El/blas_like/level1/decl.hpp (to avoid undefined references)
  • Fixed call to lin_solve::ScaLAPACKHelper in src/lapack_like/solve/Linear.cpp

Notable functionality additions

  • (Arbitrary-precision) real and complex Lenstra/Lenstra/Lovasz (LLL) lattice reduction
  • (Arbitrary-precision) real and complex Block Korkine-Zolotarev (BKZ) and various enumeration heuristic extensions (BKZ 2.0 and y-sparse enumeration)
  • (Arbitrary-precision) distributed divide-and-conquer real symmetric tridiagonal EVD
  • (Arbitrary-precision) distributed divide-and-conquer bidiagonal SVD
  • (Arbitrary-precision) distributed Aggressive Early Deflation Hessenberg QR algorithms
  • (Arbitrary-precision) distributed high-performance level 3 BLAS complex triangular eigenvector computation
  • (Arbitrary-precision) distributed high-performance pseudospectra
  • (Arbitrary-precision) distributed real and complex sparse linear solvers (including a special interface for symmetric quasi-semidefinite matrices)
  • (Arbitrary-precision) distributed real and complex generalized sparse least squares solvers (including LSE and GLM)
  • (Arbitrary-precision) distributed dense and sparse Linear, Quadratic, and Second-Order Cone Programming

Packaging additions

Relevant toolchain bugs

  • GCC Release builds are (by default) blocked on OSX due to -O3 optimizations leading to a stack_not_16_byte_aligned_error error. Please see #181 for a more detailed discussion. The CMake flag -D EL_IGNORE_OSX_GCC_ALIGNMENT_PROBLEM=ON will prevent the error for OSX GCC Release builds.
  • OpenMPI versions before 1.8.1 are prevented by the CMake configuration due to bugs in OpenMPI 1.6.5's handling of complex datatypes

Major contributors for this release

  • Haim Avron haimav@post.tau.ac.il
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports (including one effecting 0.87.0)
  • David Blom davidsblom@gmail.com
    • Added MaxAbs implementations
  • Jake Bolewski jakebolewski@gmail.com
    • Made Python support much more robust
    • Fixed CMake OSX RPATH handling
    • Helped introduce Travis CI
  • Rodrigo Canales rodrigo.canales@rwth-aachen.de
    • Fixed bugs in mkl::Trrk and xgemmt calls
  • Jiahao Chen jiahao@mit.edu
    • Set up the CMake testing framework
    • Helped introduce Travis CI
  • Martin Copik mcopik@gmail.com
    • Fixed PMRRR double lock free bug
    • Fixed ScaLAPACK GFORTRAN_LIB configuration bug
    • Fixed METIS and ParMETIS configuration bugs
  • Ron Estrin restrin@stanford.edu
    • Substantially improved the LLL performance
  • Jeff Hammond jeff.science@gmail.com
    • Help with numerous toolchain issues (especially the Intel compilers)
  • Yves Ineichen iff@yvesineichen.com
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports
  • Ryan Lewis me@ryanlewis.net
    • Spearheaded the Fedora packaging
    • Setting up the (soon-to-be-integrated) Jenkins CI
  • Yingzhou (Ryan) Li ryanli@stanford.edu
    • Added proper CMake project exports
    • Several bug reports on process grids with viewing processes
  • Tim Moon tym1@stanford.edu
  • Andreas Noack andreasnoackjensen@gmail.com
    • Helped introduce Travis CI
  • Jack Poulson jack.poulson@gmail.com
    • Added Aggressive Early Deflation Hessenberg QR implementation
    • Added Divide and Conquer bidiagonal SVD
    • Added Divide and Conquer real symmetric tridiagonal EVP
    • Added lattice reduction functionality
    • Added Interior Point Methods and sparse generalized least squares methods
    • Extended El::Complex class to support DoubleDouble, QuadDouble, Quad, and BigFloat
    • Added MPI support for BigFloat
    • Introduced LaunchPad PPA
    • Adminstrivia and making the build system more robust
  • Mukundhan Selvam Mukundhan.Selvam@mscsoftware.com
    • Bug reports for sparse-direct solvers
    • Bug reports for the Intel compilers

Elemental version 0.87.1

22 Nov 06:05

Choose a tag to compare

Minor changes since 0.87.0

  • Fixed UpdatedMappedDiagonal prototype in El/blas_like/level1/decl.hpp (to avoid undefined references)

Notable functionality additions

  • (Arbitrary-precision) real and complex Lenstra/Lenstra/Lovasz (LLL) lattice reduction
  • (Arbitrary-precision) real and complex Block Korkine-Zolotarev (BKZ) and various enumeration heuristic extensions (BKZ 2.0 and y-sparse enumeration)
  • (Arbitrary-precision) distributed divide-and-conquer real symmetric tridiagonal EVD
  • (Arbitrary-precision) distributed divide-and-conquer bidiagonal SVD
  • (Arbitrary-precision) distributed Aggressive Early Deflation Hessenberg QR algorithms
  • (Arbitrary-precision) distributed high-performance level 3 BLAS complex triangular eigenvector computation
  • (Arbitrary-precision) distributed high-performance pseudospectra
  • (Arbitrary-precision) distributed real and complex sparse linear solvers (including a special interface for symmetric quasi-semidefinite matrices)
  • (Arbitrary-precision) distributed real and complex generalized sparse least squares solvers (including LSE and GLM)
  • (Arbitrary-precision) distributed dense and sparse Linear, Quadratic, and Second-Order Cone Programming

Packaging additions

Relevant toolchain bugs

  • GCC Release builds are (by default) blocked on OSX due to -O3 optimizations leading to a stack_not_16_byte_aligned_error error. Please see #181 for a more detailed discussion. The CMake flag -D EL_IGNORE_OSX_GCC_ALIGNMENT_PROBLEM=ON will prevent the error for OSX GCC Release builds.
  • OpenMPI versions before 1.8.1 are prevented by the CMake configuration due to bugs in OpenMPI 1.6.5's handling of complex datatypes

Major contributors for this release

  • Haim Avron haimav@post.tau.ac.il
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports (including one effecting 0.87.0)
  • David Blom davidsblom@gmail.com
    • Added MaxAbs implementations
  • Jake Bolewski jakebolewski@gmail.com
    • Made Python support much more robust
    • Fixed CMake OSX RPATH handling
    • Helped introduce Travis CI
  • Rodrigo Canales rodrigo.canales@rwth-aachen.de
    • Fixed bugs in mkl::Trrk and xgemmt calls
  • Jiahao Chen jiahao@mit.edu
    • Set up the CMake testing framework
    • Helped introduce Travis CI
  • Martin Copik mcopik@gmail.com
    • Fixed PMRRR double lock free bug
    • Fixed ScaLAPACK GFORTRAN_LIB configuration bug
    • Fixed METIS and ParMETIS configuration bugs
  • Ron Estrin restrin@stanford.edu
    • Substantially improved the LLL performance
  • Jeff Hammond jeff.science@gmail.com
    • Help with numerous toolchain issues (especially the Intel compilers)
  • Yves Ineichen iff@yvesineichen.com
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports
  • Ryan Lewis me@ryanlewis.net
    • Spearheaded the Fedora packaging
    • Setting up the (soon-to-be-integrated) Jenkins CI
  • Yingzhou (Ryan) Li ryanli@stanford.edu
    • Added proper CMake project exports
    • Several bug reports on process grids with viewing processes
  • Tim Moon tym1@stanford.edu
  • Andreas Noack andreasnoackjensen@gmail.com
    • Helped introduce Travis CI
  • Jack Poulson jack.poulson@gmail.com
    • Added Aggressive Early Deflation Hessenberg QR implementation
    • Added Divide and Conquer bidiagonal SVD
    • Added Divide and Conquer real symmetric tridiagonal EVP
    • Added lattice reduction functionality
    • Added Interior Point Methods and sparse generalized least squares methods
    • Extended El::Complex class to support DoubleDouble, QuadDouble, Quad, and BigFloat
    • Added MPI support for BigFloat
    • Introduced LaunchPad PPA
    • Adminstrivia and making the build system more robust
  • Mukundhan Selvam Mukundhan.Selvam@mscsoftware.com
    • Bug reports for sparse-direct solvers
    • Bug reports for the Intel compilers

Elemental version 0.87

21 Nov 05:57

Choose a tag to compare

Notable functionality additions

  • (Arbitrary-precision) real and complex Lenstra/Lenstra/Lovasz (LLL) lattice reduction
  • (Arbitrary-precision) real and complex Block Korkine-Zolotarev (BKZ) and various enumeration heuristic extensions (BKZ 2.0 and y-sparse enumeration)
  • (Arbitrary-precision) distributed divide-and-conquer real symmetric tridiagonal EVD
  • (Arbitrary-precision) distributed divide-and-conquer bidiagonal SVD
  • (Arbitrary-precision) distributed Aggressive Early Deflation Hessenberg QR algorithms
  • (Arbitrary-precision) distributed high-performance level 3 BLAS complex triangular eigenvector computation
  • (Arbitrary-precision) distributed high-performance pseudospectra
  • (Arbitrary-precision) distributed real and complex sparse linear solvers (including a special interface for symmetric quasi-semidefinite matrices)
  • (Arbitrary-precision) distributed real and complex generalized sparse least squares solvers (including LSE and GLM)
  • (Arbitrary-precision) distributed dense and sparse Linear, Quadratic, and Second-Order Cone Programming

Packaging additions

Relevant toolchain bugs

  • GCC Release builds are (by default) blocked on OSX due to -O3 optimizations leading to a stack_not_16_byte_aligned_error error. Please see #181 for a more detailed discussion. The CMake flag -D EL_IGNORE_OSX_GCC_ALIGNMENT_PROBLEM=ON will prevent the error for OSX GCC Release builds.
  • OpenMPI versions before 1.8.1 are prevented by the CMake configuration due to bugs in OpenMPI 1.6.5's handling of complex datatypes

Major contributors for this release

  • Haim Avron haimav@post.tau.ac.il
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports
  • David Blom davidsblom@gmail.com
    • Added MaxAbs implementations
  • Jake Bolewski jakebolewski@gmail.com
    • Made Python support much more robust
    • Fixed CMake OSX RPATH handling
    • Helped introduce Travis CI
  • Rodrigo Canales rodrigo.canales@rwth-aachen.de
    • Fixed bugs in mkl::Trrk and xgemmt calls
  • Jiahao Chen jiahao@mit.edu
    • Set up the CMake testing framework
    • Helped introduce Travis CI
  • Martin Copik mcopik@gmail.com
    • Fixed PMRRR double lock free bug
    • Fixed ScaLAPACK GFORTRAN_LIB configuration bug
    • Fixed METIS and ParMETIS configuration bugs
  • Ron Estrin restrin@stanford.edu
    • Substantially improved the LLL performance
  • Jeff Hammond jeff.science@gmail.com
    • Help with numerous toolchain issues (especially the Intel compilers)
  • Yves Ineichen iff@yvesineichen.com
    • Contributed towards the current Debian packaging process
    • Numerous useful bug reports
  • Ryan Lewis me@ryanlewis.net
    • Spearheaded the Fedora packaging
    • Setting up the (soon-to-be-integrated) Jenkins CI
  • Yingzhou (Ryan) Li ryanli@stanford.edu
    • Added proper CMake project exports
    • Several bug reports on process grids with viewing processes
  • Tim Moon tym1@stanford.edu
  • Andreas Noack andreasnoackjensen@gmail.com
    • Helped introduce Travis CI
  • Jack Poulson jack.poulson@gmail.com
    • Added Aggressive Early Deflation Hessenberg QR implementation
    • Added Divide and Conquer bidiagonal SVD
    • Added Divide and Conquer real symmetric tridiagonal EVP
    • Added lattice reduction functionality
    • Added Interior Point Methods and sparse generalized least squares methods
    • Extended El::Complex class to support DoubleDouble, QuadDouble, Quad, and BigFloat
    • Added MPI support for BigFloat
    • Introduced LaunchPad PPA
    • Adminstrivia and making the build system more robust
  • Mukundhan Selvam Mukundhan.Selvam@mscsoftware.com
    • Bug reports for sparse-direct solvers
    • Bug reports for the Intel compilers

Version 0.85

28 Oct 06:58

Choose a tag to compare

Elemental 0.85

The official release for version 0.85 of Elemental is now available:
libelemental.org/pub/releases/Elemental-0.85.tgz

Added functionality

  • Sparse-direct Cholesky and Bunch-Kaufman due to merging Clique into Elemental
  • Sparse-direct least squares, ridge regression, and Tikhonov regularization
  • Sparse Herk and various other BLAS1-like routines
  • A (nearly full) manually-constructed C interface
  • A (nearly full) manually-constructed Python interface, including extensions of Display functionality to matplotlib (for matrices) and networkx (for graphs)
  • Support for Read, Write, and ReadWrite matrix proxies so that routines implemented for specific datatypes and/or data distributions can be extended to more general datatypes and arbitrary distribution choices
  • Essentially all distributed routines in the library were generalized to AbstractDistMatrix for convenience (using proxies)
  • Single-precision Hermitian eigensolvers are now supported (via proxies which convert to double-precision for PMRRR)
  • Added Three-valued and Bernoulli, GEPPGrowth and Druinsky-Toledo, Fourier-Identity ("spikes and sines") and Walsh-Identity ("spikes and Hadamard") matrices
  • Added ability to compute coherence
  • Added ability to use operator() to extract contiguous submatrices (and converted library)
  • Extended control of SVD and LDL via new SVDCtrl and LDLCtrl structures
  • Improved performance of IO routines when ColStride() and/or RowStride() are 1

Bug fixes

  • Fixed a variety of compilation errors which did not appear with g++
  • Fixed an (uncommon) bug in distributed HermitianFrobeniusNorm
  • Added missing shrink of the phase vector in qr::BusingerGolub
  • Added missing scalar argument to Matrix::UpdateDiagonal
  • Fixed Ehrenfest matrix generation
  • Fixed indexing of Householder phases in sequential Bidiag
  • Fixed offset used by rq::ExplicitTriang
  • Fixed BlockDistMatrix version of MATRIX_MARKET Read
  • Fixed BLAS wrappers for complex herk, her2k, her, and her2
  • Fixed PURE/HYBRID CMake detection (thanks to Richard Boyd)

Refactoring

  • Removed MakeTriangular (due to the more general MakeTrapezoidal)
  • Replaced AxpyTriangle with AxpyTrapezoid
  • Added a control structure for Bisect
  • Significantly refactored/simplified Trr2k
  • Removed spurious integer argument to TriW
  • Removed Riemann matrix due to vague definition (and overlap with Redheffer)
  • Removed hyphens in directory names to avoid python conflict

Name changes

  • Renamed namespace "elem" to "El", and "elem.hpp" to "El.hpp"
  • Moved auxiliary PMRRR headers into pmrrr/ subfolder
  • "Pseudospectra" -> {"SpectralPortrait","SpectralWindow","SpectralCloud"}
  • Better organization/naming for explicit QR/RQ/LQ factorizations

Thanks

  • Richard Boyd (of GTRI) for reporting the PURE/HYBRID configuration detection problem
  • Field van Zee (of UT Austin) for clarifying the {c,z}her2 and {c,z}her2k scalar argument conventions
  • Rodrigo Canales for noticing and fixing several missing static instantiations
  • Yingzhou (Ryan) Li for reporting the vecLib/Accelerate issue

Relevant unmerged forks