NEURON
nvector_nrnparallel_ld.cpp File Reference
#include <../../nrnconf.h>
#include <hocassrt.h>
#include <stdio.h>
#include <stdlib.h>
#include <nrnmpiuse.h>
#include <nrnmpidec.h>
#include "nvector_nrnparallel_ld.h"
#include "sundialsmath.h"
#include "sundialstypes.h"

Go to the source code of this file.

Macros

#define ZERO   RCONST(0.0)
 
#define HALF   RCONST(0.5)
 
#define ONE   RCONST(1.0)
 
#define ONEPT5   RCONST(1.5)
 
#define BAD_N1   "N_VNew_NrnParallelLD -- Sum of local vector lengths differs from "
 
#define BAD_N2   "input global length. \n\n"
 
#define BAD_N   BAD_N1 BAD_N2
 

Functions

static realtype VAllReduce_NrnParallelLD (realtype d, int op, MPI_Comm comm)
 
static realtype VAllReduce_long_NrnParallelLD (realtype d, int op, MPI_Comm comm)
 
static void VCopy_NrnParallelLD (N_Vector x, N_Vector z)
 
static void VSum_NrnParallelLD (N_Vector x, N_Vector y, N_Vector z)
 
static void VDiff_NrnParallelLD (N_Vector x, N_Vector y, N_Vector z)
 
static void VNeg_NrnParallelLD (N_Vector x, N_Vector z)
 
static void VScaleSum_NrnParallelLD (realtype c, N_Vector x, N_Vector y, N_Vector z)
 
static void VScaleDiff_NrnParallelLD (realtype c, N_Vector x, N_Vector y, N_Vector z)
 
static void VLin1_NrnParallelLD (realtype a, N_Vector x, N_Vector y, N_Vector z)
 
static void VLin2_NrnParallelLD (realtype a, N_Vector x, N_Vector y, N_Vector z)
 
static void Vaxpy_NrnParallelLD (realtype a, N_Vector x, N_Vector y)
 
static void VScaleBy_NrnParallelLD (realtype a, N_Vector x)
 
N_Vector N_VNewEmpty_NrnParallelLD (MPI_Comm comm, long int local_length, long int global_length)
 
N_Vector N_VNew_NrnParallelLD (MPI_Comm comm, long int local_length, long int global_length)
 
N_Vector N_VCloneEmpty_NrnParallelLD (N_Vector w)
 
N_Vector N_VMake_NrnParallelLD (MPI_Comm comm, long int local_length, long int global_length, realtype *v_data)
 
N_Vector * N_VNewVectorArray_NrnParallelLD (int count, MPI_Comm comm, long int local_length, long int global_length)
 
N_Vector * N_VNewVectorArrayEmpty_NrnParallelLD (int count, MPI_Comm comm, long int local_length, long int global_length)
 
void N_VDestroyVectorArray_NrnParallelLD (N_Vector *vs, int count)
 
void N_VPrint_NrnParallelLD (N_Vector x)
 
N_Vector N_VClone_NrnParallelLD (N_Vector w)
 
void N_VDestroy_NrnParallelLD (N_Vector v)
 
void N_VSpace_NrnParallelLD (N_Vector v, long int *lrw, long int *liw)
 
realtype * N_VGetArrayPointer_NrnParallelLD (N_Vector v)
 
void N_VSetArrayPointer_NrnParallelLD (realtype *v_data, N_Vector v)
 
void N_VLinearSum_NrnParallelLD (realtype a, N_Vector x, realtype b, N_Vector y, N_Vector z)
 
void N_VConst_NrnParallelLD (realtype c, N_Vector z)
 
void N_VProd_NrnParallelLD (N_Vector x, N_Vector y, N_Vector z)
 
void N_VDiv_NrnParallelLD (N_Vector x, N_Vector y, N_Vector z)
 
void N_VScale_NrnParallelLD (realtype c, N_Vector x, N_Vector z)
 
void N_VAbs_NrnParallelLD (N_Vector x, N_Vector z)
 
void N_VInv_NrnParallelLD (N_Vector x, N_Vector z)
 
void N_VAddConst_NrnParallelLD (N_Vector x, realtype b, N_Vector z)
 
realtype N_VDotProd_NrnParallelLD (N_Vector x, N_Vector y)
 
realtype N_VMaxNorm_NrnParallelLD (N_Vector x)
 
realtype N_VWrmsNorm_NrnParallelLD (N_Vector x, N_Vector w)
 
realtype N_VWrmsNormMask_NrnParallelLD (N_Vector x, N_Vector w, N_Vector id)
 
realtype N_VMin_NrnParallelLD (N_Vector x)
 
realtype N_VWL2Norm_NrnParallelLD (N_Vector x, N_Vector w)
 
realtype N_VL1Norm_NrnParallelLD (N_Vector x)
 
void N_VCompare_NrnParallelLD (realtype c, N_Vector x, N_Vector z)
 
booleantype N_VInvTest_NrnParallelLD (N_Vector x, N_Vector z)
 
booleantype N_VConstrMask_NrnParallelLD (N_Vector c, N_Vector x, N_Vector m)
 
realtype N_VMinQuotient_NrnParallelLD (N_Vector num, N_Vector denom)
 

Variables

int nrnmpi_numprocs
 

Macro Definition Documentation

◆ BAD_N

#define BAD_N   BAD_N1 BAD_N2

Definition at line 41 of file nvector_nrnparallel_ld.cpp.

◆ BAD_N1

#define BAD_N1   "N_VNew_NrnParallelLD -- Sum of local vector lengths differs from "

Definition at line 39 of file nvector_nrnparallel_ld.cpp.

◆ BAD_N2

#define BAD_N2   "input global length. \n\n"

Definition at line 40 of file nvector_nrnparallel_ld.cpp.

◆ HALF

#define HALF   RCONST(0.5)

Definition at line 33 of file nvector_nrnparallel_ld.cpp.

◆ ONE

#define ONE   RCONST(1.0)

Definition at line 34 of file nvector_nrnparallel_ld.cpp.

◆ ONEPT5

#define ONEPT5   RCONST(1.5)

Definition at line 35 of file nvector_nrnparallel_ld.cpp.

◆ ZERO

#define ZERO   RCONST(0.0)

Definition at line 32 of file nvector_nrnparallel_ld.cpp.

Function Documentation

◆ N_VAbs_NrnParallelLD()

void N_VAbs_NrnParallelLD ( N_Vector  x,
N_Vector  z 
)

Definition at line 574 of file nvector_nrnparallel_ld.cpp.

◆ N_VAddConst_NrnParallelLD()

void N_VAddConst_NrnParallelLD ( N_Vector  x,
realtype  b,
N_Vector  z 
)

Definition at line 598 of file nvector_nrnparallel_ld.cpp.

◆ N_VClone_NrnParallelLD()

N_Vector N_VClone_NrnParallelLD ( N_Vector  w)

Definition at line 373 of file nvector_nrnparallel_ld.cpp.

◆ N_VCloneEmpty_NrnParallelLD()

N_Vector N_VCloneEmpty_NrnParallelLD ( N_Vector  w)

Definition at line 188 of file nvector_nrnparallel_ld.cpp.

◆ N_VCompare_NrnParallelLD()

void N_VCompare_NrnParallelLD ( realtype  c,
N_Vector  x,
N_Vector  z 
)

Definition at line 768 of file nvector_nrnparallel_ld.cpp.

◆ N_VConst_NrnParallelLD()

void N_VConst_NrnParallelLD ( realtype  c,
N_Vector  z 
)

Definition at line 515 of file nvector_nrnparallel_ld.cpp.

◆ N_VConstrMask_NrnParallelLD()

booleantype N_VConstrMask_NrnParallelLD ( N_Vector  c,
N_Vector  x,
N_Vector  m 
)

Definition at line 806 of file nvector_nrnparallel_ld.cpp.

◆ N_VDestroy_NrnParallelLD()

void N_VDestroy_NrnParallelLD ( N_Vector  v)

Definition at line 401 of file nvector_nrnparallel_ld.cpp.

◆ N_VDestroyVectorArray_NrnParallelLD()

void N_VDestroyVectorArray_NrnParallelLD ( N_Vector *  vs,
int  count 
)

Definition at line 341 of file nvector_nrnparallel_ld.cpp.

◆ N_VDiv_NrnParallelLD()

void N_VDiv_NrnParallelLD ( N_Vector  x,
N_Vector  y,
N_Vector  z 
)

Definition at line 539 of file nvector_nrnparallel_ld.cpp.

◆ N_VDotProd_NrnParallelLD()

realtype N_VDotProd_NrnParallelLD ( N_Vector  x,
N_Vector  y 
)

Definition at line 610 of file nvector_nrnparallel_ld.cpp.

◆ N_VGetArrayPointer_NrnParallelLD()

realtype* N_VGetArrayPointer_NrnParallelLD ( N_Vector  v)

Definition at line 420 of file nvector_nrnparallel_ld.cpp.

◆ N_VInv_NrnParallelLD()

void N_VInv_NrnParallelLD ( N_Vector  x,
N_Vector  z 
)

Definition at line 586 of file nvector_nrnparallel_ld.cpp.

◆ N_VInvTest_NrnParallelLD()

booleantype N_VInvTest_NrnParallelLD ( N_Vector  x,
N_Vector  z 
)

Definition at line 781 of file nvector_nrnparallel_ld.cpp.

◆ N_VL1Norm_NrnParallelLD()

realtype N_VL1Norm_NrnParallelLD ( N_Vector  x)

Definition at line 747 of file nvector_nrnparallel_ld.cpp.

◆ N_VLinearSum_NrnParallelLD()

void N_VLinearSum_NrnParallelLD ( realtype  a,
N_Vector  x,
realtype  b,
N_Vector  y,
N_Vector  z 
)

Definition at line 433 of file nvector_nrnparallel_ld.cpp.

◆ N_VMake_NrnParallelLD()

N_Vector N_VMake_NrnParallelLD ( MPI_Comm  comm,
long int  local_length,
long int  global_length,
realtype *  v_data 
)

Definition at line 259 of file nvector_nrnparallel_ld.cpp.

◆ N_VMaxNorm_NrnParallelLD()

realtype N_VMaxNorm_NrnParallelLD ( N_Vector  x)

Definition at line 627 of file nvector_nrnparallel_ld.cpp.

◆ N_VMin_NrnParallelLD()

realtype N_VMin_NrnParallelLD ( N_Vector  x)

Definition at line 698 of file nvector_nrnparallel_ld.cpp.

◆ N_VMinQuotient_NrnParallelLD()

realtype N_VMinQuotient_NrnParallelLD ( N_Vector  num,
N_Vector  denom 
)

Definition at line 842 of file nvector_nrnparallel_ld.cpp.

◆ N_VNew_NrnParallelLD()

N_Vector N_VNew_NrnParallelLD ( MPI_Comm  comm,
long int  local_length,
long int  global_length 
)

Definition at line 157 of file nvector_nrnparallel_ld.cpp.

◆ N_VNewEmpty_NrnParallelLD()

N_Vector N_VNewEmpty_NrnParallelLD ( MPI_Comm  comm,
long int  local_length,
long int  global_length 
)

Definition at line 80 of file nvector_nrnparallel_ld.cpp.

◆ N_VNewVectorArray_NrnParallelLD()

N_Vector* N_VNewVectorArray_NrnParallelLD ( int  count,
MPI_Comm  comm,
long int  local_length,
long int  global_length 
)

Definition at line 282 of file nvector_nrnparallel_ld.cpp.

◆ N_VNewVectorArrayEmpty_NrnParallelLD()

N_Vector* N_VNewVectorArrayEmpty_NrnParallelLD ( int  count,
MPI_Comm  comm,
long int  local_length,
long int  global_length 
)

Definition at line 312 of file nvector_nrnparallel_ld.cpp.

◆ N_VPrint_NrnParallelLD()

void N_VPrint_NrnParallelLD ( N_Vector  x)

Definition at line 354 of file nvector_nrnparallel_ld.cpp.

◆ N_VProd_NrnParallelLD()

void N_VProd_NrnParallelLD ( N_Vector  x,
N_Vector  y,
N_Vector  z 
)

Definition at line 526 of file nvector_nrnparallel_ld.cpp.

◆ N_VScale_NrnParallelLD()

void N_VScale_NrnParallelLD ( realtype  c,
N_Vector  x,
N_Vector  z 
)

Definition at line 552 of file nvector_nrnparallel_ld.cpp.

◆ N_VSetArrayPointer_NrnParallelLD()

void N_VSetArrayPointer_NrnParallelLD ( realtype *  v_data,
N_Vector  v 
)

Definition at line 428 of file nvector_nrnparallel_ld.cpp.

◆ N_VSpace_NrnParallelLD()

void N_VSpace_NrnParallelLD ( N_Vector  v,
long int *  lrw,
long int *  liw 
)

Definition at line 409 of file nvector_nrnparallel_ld.cpp.

◆ N_VWL2Norm_NrnParallelLD()

realtype N_VWL2Norm_NrnParallelLD ( N_Vector  x,
N_Vector  w 
)

Definition at line 724 of file nvector_nrnparallel_ld.cpp.

◆ N_VWrmsNorm_NrnParallelLD()

realtype N_VWrmsNorm_NrnParallelLD ( N_Vector  x,
N_Vector  w 
)

Definition at line 647 of file nvector_nrnparallel_ld.cpp.

◆ N_VWrmsNormMask_NrnParallelLD()

realtype N_VWrmsNormMask_NrnParallelLD ( N_Vector  x,
N_Vector  w,
N_Vector  id 
)

Definition at line 671 of file nvector_nrnparallel_ld.cpp.

◆ VAllReduce_long_NrnParallelLD()

static realtype VAllReduce_long_NrnParallelLD ( realtype  d,
int  op,
MPI_Comm  comm 
)
static

Definition at line 892 of file nvector_nrnparallel_ld.cpp.

◆ VAllReduce_NrnParallelLD()

static realtype VAllReduce_NrnParallelLD ( realtype  d,
int  op,
MPI_Comm  comm 
)
static

Definition at line 879 of file nvector_nrnparallel_ld.cpp.

◆ Vaxpy_NrnParallelLD()

static void Vaxpy_NrnParallelLD ( realtype  a,
N_Vector  x,
N_Vector  y 
)
static

Definition at line 1008 of file nvector_nrnparallel_ld.cpp.

◆ VCopy_NrnParallelLD()

static void VCopy_NrnParallelLD ( N_Vector  x,
N_Vector  z 
)
static

Definition at line 906 of file nvector_nrnparallel_ld.cpp.

◆ VDiff_NrnParallelLD()

static void VDiff_NrnParallelLD ( N_Vector  x,
N_Vector  y,
N_Vector  z 
)
static

Definition at line 931 of file nvector_nrnparallel_ld.cpp.

◆ VLin1_NrnParallelLD()

static void VLin1_NrnParallelLD ( realtype  a,
N_Vector  x,
N_Vector  y,
N_Vector  z 
)
static

Definition at line 982 of file nvector_nrnparallel_ld.cpp.

◆ VLin2_NrnParallelLD()

static void VLin2_NrnParallelLD ( realtype  a,
N_Vector  x,
N_Vector  y,
N_Vector  z 
)
static

Definition at line 995 of file nvector_nrnparallel_ld.cpp.

◆ VNeg_NrnParallelLD()

static void VNeg_NrnParallelLD ( N_Vector  x,
N_Vector  z 
)
static

Definition at line 944 of file nvector_nrnparallel_ld.cpp.

◆ VScaleBy_NrnParallelLD()

static void VScaleBy_NrnParallelLD ( realtype  a,
N_Vector  x 
)
static

Definition at line 1032 of file nvector_nrnparallel_ld.cpp.

◆ VScaleDiff_NrnParallelLD()

static void VScaleDiff_NrnParallelLD ( realtype  c,
N_Vector  x,
N_Vector  y,
N_Vector  z 
)
static

Definition at line 969 of file nvector_nrnparallel_ld.cpp.

◆ VScaleSum_NrnParallelLD()

static void VScaleSum_NrnParallelLD ( realtype  c,
N_Vector  x,
N_Vector  y,
N_Vector  z 
)
static

Definition at line 956 of file nvector_nrnparallel_ld.cpp.

◆ VSum_NrnParallelLD()

static void VSum_NrnParallelLD ( N_Vector  x,
N_Vector  y,
N_Vector  z 
)
static

Definition at line 918 of file nvector_nrnparallel_ld.cpp.

Variable Documentation

◆ nrnmpi_numprocs

int nrnmpi_numprocs
extern