Skip to content

Commit

Permalink
Update version number to 7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Xiaoye Li committed May 12, 2021
1 parent cba813d commit 1a6d5ba
Show file tree
Hide file tree
Showing 15 changed files with 175 additions and 100 deletions.
4 changes: 2 additions & 2 deletions EXAMPLE/README
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
SuperLU_DIST EXAMPLES
======================
SuperLU_DIST EXAMPLES
=====================

This directory contains sample programs to illustrate how to use
various functions provided in SuperLU_DIST. You can modify these
Expand Down
1 change: 1 addition & 0 deletions FORTRAN/README
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Fortran 90 Interface
====================

This directory contains Fortran-90 wrapper routines for SuperLU_DIST.
The directory contains the following files:
Expand Down
3 changes: 2 additions & 1 deletion FORTRAN/superlu_c2f_wrap.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
* \brief C interface functions for the Fortran90 wrapper.
*
* <pre>
* -- Distributed SuperLU routine (version 4.1) --
* -- Distributed SuperLU routine (version 7.0) --
* Lawrence Berkeley National Lab, Univ. of California Berkeley.
* October 2012
* April 5, 2015
* May 12, 2021
*/

#include "superlu_defs.h"
Expand Down
2 changes: 2 additions & 0 deletions FORTRAN/superlu_dist_config.fh
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@

#define HAVE_CUDA TRUE

#define HAVE_PARMETIS TRUE



#define XSDK_INDEX_SIZE 64

#if (XSDK_INDEX_SIZE == 64)
#define _LONGINT 1
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ to obtain these parameters. This function is provided in the file SRC/sp_ienv.c.
Please consult that file for detailed description of the meanings.
```
export NREL=<...> // supernode relaxation parameter
export NSUP=<...> // maximum allowable supernode size
export NSUP=<...> // maximum allowable supernode size, not to exceed 512
export FILL=<...> // estimated fill ratio of nonzeros(L+U)/nonzeros(A)
export MAX_BUFFER_SIZE=<...> // maximum buffer size on GPU for GEMM
```
Expand Down
10 changes: 10 additions & 0 deletions SRC/communication_aux.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,16 @@ The source code is distributed under BSD license, see the file License.txt
at the top-level directory.
*/

/*! @file
* \brief Auxiliary routines to support communication in 3D algorithms
*
* <pre>
* -- Distributed SuperLU routine (version 7.0) --
* Lawrence Berkeley National Lab, Oak Ridge National Lab
* May 12, 2021
* </pre>
*/

#include "superlu_defs.h"
#if 0
#include "sec_structs.h"
Expand Down
22 changes: 22 additions & 0 deletions SRC/sec_structs.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
/*! \file
Copyright (c) 2003, The Regents of the University of California, through
Lawrence Berkeley National Laboratory (subject to receipt of any required
approvals from U.S. Dept. of Energy)
All rights reserved.
The source code is distributed under BSD license, see the file License.txt
at the top-level directory.
*/

/*! @file
* \brief Auxiliary routines in 3D algorithms
*
* <pre>
* -- Distributed SuperLU routine (version 7.0) --
* Lawrence Berkeley National Lab, Oak Ridge National Lab
* May 12, 2021
* </pre>
*/


//#include <mm_malloc.h>
#include "superlu_ddefs.h"
#if 0
Expand Down
8 changes: 4 additions & 4 deletions SRC/superlu_FortranCInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
#define FC_HEADER_INCLUDED

/* Mangling for Fortran global symbols without underscores. */
#define FC_GLOBAL(name,NAME) name##_
#define FC_GLOBAL(name,NAME) name

/* Mangling for Fortran global symbols with underscores. */
#define FC_GLOBAL_(name,NAME) name##_
#define FC_GLOBAL_(name,NAME) name

/* Mangling for Fortran module symbols without underscores. */
#define FC_MODULE(mod_name,name, mod_NAME,NAME) __##mod_name##_MOD_##name
#define FC_MODULE(mod_name,name, mod_NAME,NAME) __##mod_name##_NMOD_##name

/* Mangling for Fortran module symbols with underscores. */
#define FC_MODULE_(mod_name,name, mod_NAME,NAME) __##mod_name##_MOD_##name
#define FC_MODULE_(mod_name,name, mod_NAME,NAME) __##mod_name##_NMOD_##name

#endif
7 changes: 4 additions & 3 deletions SRC/superlu_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ at the top-level directory.
* February 8, 2019 version 6.1.1
* November 12, 2019 version 6.2.0
* October 23, 2020 version 6.4.0
* May 12, 2021 version 7.0.0
* </pre>
*/

Expand Down Expand Up @@ -72,10 +73,10 @@ at the top-level directory.
* #endif
* Versions 4.x and earlier do not include a #define'd version numbers.
*/
#define SUPERLU_DIST_MAJOR_VERSION 6
#define SUPERLU_DIST_MINOR_VERSION 4
#define SUPERLU_DIST_MAJOR_VERSION 7
#define SUPERLU_DIST_MINOR_VERSION 0
#define SUPERLU_DIST_PATCH_VERSION 0
#define SUPERLU_DIST_RELEASE_DATE "October 23, 2020"
#define SUPERLU_DIST_RELEASE_DATE "May 12, 2021"

#include "superlu_dist_config.h"
/* Define my integer size int_t */
Expand Down
4 changes: 2 additions & 2 deletions SRC/superlu_dist_config.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* superlu_dist_config.h.in */

/* Enable CUDA */
/* #undef HAVE_CUDA */
#define HAVE_CUDA TRUE

/* Enable parmetis */
#define HAVE_PARMETIS TRUE
Expand All @@ -13,7 +13,7 @@
/* #undef HAVE_COMBBLAS */

/* enable 64bit index mode */
/* #undef XSDK_INDEX_SIZE */
#define XSDK_INDEX_SIZE 64

#if (XSDK_INDEX_SIZE == 64)
#define _LONGINT 1
Expand Down
4 changes: 2 additions & 2 deletions SRC/superlu_grid3d.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
*
* <pre>
* -- Distributed SuperLU routine (version 7.0.0) --
* Lawrence Berkeley National Lab, Univ. of California Berkeley.
* March 30, 2019
* Lawrence Berkeley National Lab, Oak Ridge National Lab
* May 12, 2021
* </pre>
*/

Expand Down
9 changes: 9 additions & 0 deletions SRC/supernodalForest.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
/*! @file
* \brief SuperLU utilities
*
* <pre>
* -- Distributed SuperLU routine (version 7.0) --
* Lawrence Berkeley National Lab, Oak Ridge National Lab
* May 12, 2021
* </pre>
*/
#include <stdio.h>
#include <assert.h>
#include "superlu_ddefs.h"
Expand Down
11 changes: 10 additions & 1 deletion SRC/supernodal_etree.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
/*function to generate supernodal etree*/
/*! @file
* \brief function to generate supernodal etree
*
* <pre>
* -- Distributed SuperLU routine (version 7.0) --
* Lawrence Berkeley National Lab, Oak Ridge National Lab
* May 12, 2021
* </pre>
*/

#include <stdio.h>
#include <assert.h>
#include "superlu_ddefs.h"
Expand Down
178 changes: 94 additions & 84 deletions SRC/treeFactorization.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,90 +9,100 @@ The source code is distributed under BSD license, see the file License.txt
at the top-level directory.
*/

#include "superlu_ddefs.h"
#if 0
#include "treeFactorization.h"
#include "trfCommWrapper.h"
#endif

#if 0 /******** Sherry: Remove extra layer of function calls. *******/
int_t sDiagFactIBCast(int_t k, diagFactBufs_t *dFBuf,
factStat_t *factStat,
commRequests_t *comReqs,
gridinfo_t *grid,
superlu_dist_options_t *options,
double thresh,
LUstruct_t *LUstruct,
SuperLUStat_t *stat, int *info,
SCT_t *SCT,
int tag_ub
)
{
MPI_Request * U_diag_blk_recv_req = comReqs->U_diag_blk_recv_req;
MPI_Request * L_diag_blk_recv_req = comReqs->L_diag_blk_recv_req;
MPI_Request * U_diag_blk_send_req = comReqs->U_diag_blk_send_req;
MPI_Request * L_diag_blk_send_req = comReqs->L_diag_blk_send_req;
int_t * IrecvPlcd_D = factStat->IrecvPlcd_D;

double * BlockUFactor = dFBuf->BlockUFactor;
double * BlockLFactor = dFBuf->BlockLFactor;
dDiagFactIBCast(k, k, BlockUFactor, BlockLFactor,
IrecvPlcd_D,
U_diag_blk_recv_req, L_diag_blk_recv_req,
U_diag_blk_send_req, L_diag_blk_send_req,
grid, options, thresh, LUstruct, stat, info, SCT, tag_ub);
return 0;
}
int_t sLPanelUpdate( int_t k, diagFactBufs_t *dFBuf,
factStat_t *factStat,
commRequests_t *comReqs,
gridinfo_t *grid,
LUstruct_t *LUstruct, SCT_t *SCT)
{
MPI_Request * U_diag_blk_recv_req = comReqs->U_diag_blk_recv_req;
int_t * IrecvPlcd_D = factStat->IrecvPlcd_D;
int_t * factored_L = factStat->factored_L;
double * BlockUFactor = dFBuf->BlockUFactor;

dLPanelUpdate( k, IrecvPlcd_D, factored_L,
U_diag_blk_recv_req, BlockUFactor, grid, LUstruct, SCT);
return 0;
}

int_t sUPanelUpdate( int_t k,
int_t ldt,
diagFactBufs_t *dFBuf,
factStat_t *factStat,
commRequests_t *comReqs,
scuBufs_t* scuBufs,
packLUInfo_t* packLUInfo,
gridinfo_t *grid,
LUstruct_t *LUstruct,
SuperLUStat_t *stat, SCT_t *SCT)
{
double* bigV = scuBufs->bigV;
Ublock_info_t* Ublock_info = packLUInfo->Ublock_info;

MPI_Request * L_diag_blk_recv_req = comReqs->L_diag_blk_recv_req;

int_t * factored_U = factStat->factored_U;

double * BlockLFactor = dFBuf->BlockLFactor;
dUPanelUpdate(k, factored_U, L_diag_blk_recv_req, BlockLFactor, bigV, ldt,
Ublock_info, grid, LUstruct, stat, SCT);
return 0;
}
int_t sIBcastRecvLPanel(
int_t k,
commRequests_t *comReqs,
LUValSubBuf_t* LUvsb,
msgs_t* msgs,
factStat_t *factStat,
gridinfo_t *grid,
LUstruct_t *LUstruct, SCT_t *SCT, int tag_ub)

{
int* msgcnt = msgs->msgcnt;
/*! @file
* \brief factorization routines in 3D algorithms
*
* <pre>
* -- Distributed SuperLU routine (version 7.0) --
* Lawrence Berkeley National Lab, Oak Ridge National Lab
* May 12, 2021
* </pre>
*/

#include "superlu_ddefs.h"
#if 0
#include "treeFactorization.h"
#include "trfCommWrapper.h"
#endif

#if 0 /******** Sherry: Remove extra layer of function calls. *******/
int_t sDiagFactIBCast(int_t k, diagFactBufs_t *dFBuf,
factStat_t *factStat,
commRequests_t *comReqs,
gridinfo_t *grid,
superlu_dist_options_t *options,
double thresh,
LUstruct_t *LUstruct,
SuperLUStat_t *stat, int *info,
SCT_t *SCT,
int tag_ub
)
{
MPI_Request * U_diag_blk_recv_req = comReqs->U_diag_blk_recv_req;
MPI_Request * L_diag_blk_recv_req = comReqs->L_diag_blk_recv_req;
MPI_Request * U_diag_blk_send_req = comReqs->U_diag_blk_send_req;
MPI_Request * L_diag_blk_send_req = comReqs->L_diag_blk_send_req;
int_t * IrecvPlcd_D = factStat->IrecvPlcd_D;

double * BlockUFactor = dFBuf->BlockUFactor;
double * BlockLFactor = dFBuf->BlockLFactor;
dDiagFactIBCast(k, k, BlockUFactor, BlockLFactor,
IrecvPlcd_D,
U_diag_blk_recv_req, L_diag_blk_recv_req,
U_diag_blk_send_req, L_diag_blk_send_req,
grid, options, thresh, LUstruct, stat, info, SCT, tag_ub);
return 0;
}
int_t sLPanelUpdate( int_t k, diagFactBufs_t *dFBuf,
factStat_t *factStat,
commRequests_t *comReqs,
gridinfo_t *grid,
LUstruct_t *LUstruct, SCT_t *SCT)
{
MPI_Request * U_diag_blk_recv_req = comReqs->U_diag_blk_recv_req;
int_t * IrecvPlcd_D = factStat->IrecvPlcd_D;
int_t * factored_L = factStat->factored_L;
double * BlockUFactor = dFBuf->BlockUFactor;

dLPanelUpdate( k, IrecvPlcd_D, factored_L,
U_diag_blk_recv_req, BlockUFactor, grid, LUstruct, SCT);
return 0;
}

int_t sUPanelUpdate( int_t k,
int_t ldt,
diagFactBufs_t *dFBuf,
factStat_t *factStat,
commRequests_t *comReqs,
scuBufs_t* scuBufs,
packLUInfo_t* packLUInfo,
gridinfo_t *grid,
LUstruct_t *LUstruct,
SuperLUStat_t *stat, SCT_t *SCT)
{
double* bigV = scuBufs->bigV;
Ublock_info_t* Ublock_info = packLUInfo->Ublock_info;

MPI_Request * L_diag_blk_recv_req = comReqs->L_diag_blk_recv_req;

int_t * factored_U = factStat->factored_U;

double * BlockLFactor = dFBuf->BlockLFactor;
dUPanelUpdate(k, factored_U, L_diag_blk_recv_req, BlockLFactor, bigV, ldt,
Ublock_info, grid, LUstruct, stat, SCT);
return 0;
}
int_t sIBcastRecvLPanel(
int_t k,
commRequests_t *comReqs,
LUValSubBuf_t* LUvsb,
msgs_t* msgs,
factStat_t *factStat,
gridinfo_t *grid,
LUstruct_t *LUstruct, SCT_t *SCT, int tag_ub)

{
int* msgcnt = msgs->msgcnt;
MPI_Request *send_req = comReqs->send_req;
MPI_Request *recv_req = comReqs->recv_req;
int_t * Lsub_buf = LUvsb->Lsub_buf;
Expand Down
10 changes: 10 additions & 0 deletions SRC/trfAux.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,16 @@ The source code is distributed under BSD license, see the file License.txt
at the top-level directory.
*/

/*! @file
* \brief Auxiliary routines to support 3D algorithms
*
* <pre>
* -- Distributed SuperLU routine (version 7.0) --
* Lawrence Berkeley National Lab, Oak Ridge National Lab
* May 12, 2021
* </pre>
*/

#include "superlu_ddefs.h"

#if 0
Expand Down

0 comments on commit 1a6d5ba

Please sign in to comment.