1. SuperLU 3.0 (released October 15, 2003)
- Added "options" input argument for the driver routines. This structure
contains all the parameter settings.
You can call the routine set_default_options()
to set the default values.
- Added "stat" output argument for the driver routines. This structure
contains all the statistics collected at run-time.
- The driver routines xGSSV/xGSSVX have new interfaces reflecting the
above changes.
See an example EXAMPLE/dlinsol.c
- Added more examples in EXAMPLE/ directory. See README in that directory.
- Added a "symmetric mode" which gives better performance when the
matrix is or diagonally heavy, or symmetric and/or positive definite,
or nearly so. In this mode, the algorithm attempts to select pivots
on the diagonal.
See an example in EXAMPLE/dlinsol1.c
- Better Fortran interface. See FORTRAN/ directory, and README in
that directory.
- 06/14/05 :
  fixed a bug in the complex drivers sgssvx/zgssvx when
the input matrix is stored in compressed row format.
- 08/01/05 :
- Prefixed the header files by "slu_".
- Fixed a memory leak in get_perm_c() when bnz=0.
- Changed "abs" to "fabs" in izmax1.
- Upgraded COLAMD to the latest version (2.3).
- 01/02/06 :
- Changed the argument of SUPERLU_MALLOC from "int" to "size_t".
Otherwise the computation of the argument to SUPERLU_MALLOC
may cause 32-bit integer overflow.
- In TESTING/[cdsz]drive.c, moved the forward declaration of the
prototype to the top of the file before main().
- Used standard name for library archive: libsuperlu_3.0.a.
2. SuperLU 3.1 (released August 1, 2008)
- Remove recursive DFS for postordering elimination tree in
sp_coletree.c
(The nonrecursive routine nr_etdfs() was contributed by Cedric Doucet, CEDRAT Group, Meylan, France.)
- Make supermatrix.h the same for all three libraries
- Include an on-line HTML documentation for the source code
- Bug fixes:
- corrected backward error BERR formula when a component of the
RHS and the residual are exactly zero
- change parameter "delta" to genmmd() from 1 to 0 in get_perm_c
- remove "static" declaration in EXAMPLE/xlinsolx*.c
2. SuperLU 4.0 (released June 30, 2009)
- Include threshold-based incomplete factorization (ILU)
- Removed the static global variables so that it is thread-safe.
- 09/10/07 :
- Included support for complex data types.
(now has four types: single and double precision / real and complex.)
- Included OpenMP, in addition to POSIX threads.
- Removed an explicit recursion in a subroutine, which often causes
stack overflow for large problems.
- A number of bug fixes.
- 01/15/08 :
- enable detailed profiling by compiling with -DPROFILE.
- a number of bug fixes.
- 03/15/03 :
  Included the distributed input interface
- The driver routine for the distributed interface is pdgssvx()
- The driver routine for the global interface is pdgssvx_ABglobal()
- 02/23/05 :   Improved the time of the redistribution routines.
- 08/01/05 :
- In pdgsrfs_ABXglobal.c / pzgsrfs_ABXglobal.c, put the "static"
function prototypes at file scope.
- Fixed a memory leak in get_perm_c() when bnz=0.
- Fixed a memory leak in superlu_grid.c:
added a call MPI_Group_free( &superlu_grp ).
- Removed COLAMD ordering option.
- 01/02/06:
- Added prototypes to the BLAS routines, in superlu_ddefs.h/superlu_zdefs.h.
- CBLAS/ directory: made a symbolic link Cnames.h -> ../SRC/Cnames.h
- Fixed memory leaks related to MPI, in supelu_grid.c
- added MPI_Group_free(&mpi_base_group);
- added MPI_Type_free( &SuperLU_MPI_DOUBLE_COMPLEX );
- Added "slamch" in Cnames.h.
- Use standard name for library archive: libsuperlu_dist_2.0.a.
- Restricted the length of Fortran names (in FORTRAN/ directory)
not exceeding 31 characters.
2. SuperLU_DIST 2.1 (released November 1, 2007)
- 11/01/07 :
- Included parallel symbolic factorization, which depends on the
ParMeTiS parallel ordering code.
To use this, you need to set one field in the "options" structure as:
- options.ParSymbFact = YES;
- Corrected backward error BERR formula when a component of the RHS
and the residual are exactly zero.
- Made "supermatrix.h" identical for serial SuperLU, SuperLU_MT,
and SuperLU_DIST.
- Fixed a memory leak of the equilibration factors R/C, when Equil
and SamePattern_SameRowPerm are set at the same time.
3. SuperLU_DIST 2.2 (released February 20, 2008)
- 02/20/08 :
- Fixed a number of memory leaks and other bugs related to parallel
symbolic factorization.
- Updated files in SRC/ directory:
- superlu_defs.h
- psymbfact.c
- get_perm_c_parmetis.c
- pdgssvx.c, pzgssvx.c
- pdsymbfact_distdata.c, pzsymbfact_distdata.c
4. SuperLU_DIST 2.3 (October 15, 2008)
- Improved panel factorization: 20-25% faster overall.
- Improved triangular solve: 60-80% faster.
- Updated the Cnames.h with BLAS name mangling [UPCASE].
- Included an on-line HTML documentation for the source code.
- Fixed a few bugs.
- No change of calling sequences.