NEURON
netpar.cpp File Reference
#include "utils/profile/profiler_interface.h"
#include <../../nrnconf.h>
#include <InterViews/resource.h>
#include <math.h>
#include <nrnmpi.h>
#include <nrnoc2iv.h>
#include <stdio.h>
#include <stdlib.h>
#include <unordered_map>
#include <bbs.h>
#include <errno.h>
#include <netcon.h>
#include <cvodeobj.h>
#include <netcvode.h>
#include <vector>
#include "ivocvect.h"
#include "nrncore_write.h"

Go to the source code of this file.

Macros

#define MD   2147483648.
 
#define BGP_INTERVAL   2
 
#define BGPDMA   0
 
#define TBUFSIZE   0
 
#define TBUF
 

Typedefs

using Gid2PreSyn = std::unordered_map< int, PreSyn * >
 
typedef void(* PFIO) (int, Object *)
 

Functions

static void alloc_space ()
 
Point_processob2pntproc (Object *)
 
void nrn_pending_selfqueue (double, NrnThread *)
 
int vector_capacity (IvocVect *)
 
double * vector_vec (IvocVect *)
 
Objectnrn_sec2cell (Section *)
 
void ncs2nrn_integrate (double tstop)
 
void nrn_fake_fire (int gid, double firetime, int fake_out)
 
int nrnmpi_spike_compress (int nspike, bool gid_compress, int xchng_meth)
 
void nrn_cleanup_presyn (PreSyn *)
 
int nrn_set_timeout (int)
 
void nrnmpi_gid_clear (int)
 
void nrn_partrans_clear ()
 
void nrn_spike_exchange_init ()
 
double nrn_bgp_receive_time (int)
 
void nrn_gidout_iter (PFIO)
 
Objectnrn_gid2obj (int)
 
PreSynnrn_gid2presyn (int)
 
int nrn_gid_exists (int)
 
int nrnthread_all_spike_vectors_return (std::vector< double > &spiketvec, std::vector< int > &spikegidvec)
 NEURON callback used from CORENEURON to transfer all spike vectors after simulation. More...
 
void nrnmpi_multisplit_clear ()
 
static double set_mindelay (double maxdelay)
 
static int nrn_need_npe ()
 
static void calc_actual_mindelay ()
 
static Objectgid2obj_ (int gid)
 
PreSynnrn_gid2outputpresyn (int gid)
 
static int weightcnt (NetCon *nc)
 
size_t nrncore_netpar_bytes ()
 
void nrncore_netpar_cellgroups_helper (CellGroup *cgs)
 

Variables

static int n_bgp_interval
 
static Symbolnetcon_sym_
 
static Gid2PreSyn gid2out_
 
static Gid2PreSyn gid2in_
 
static IvocVectall_spiketvec = NULL
 
static IvocVectall_spikegidvec = NULL
 
static double t_exchange_
 
static double dt1_
 
NetCvodenet_cvode_instance
 
double t
 
double dt
 
int cvode_active_
 
int nrn_use_selfqueue_
 
double nrnmpi_step_wait_
 
static int active_
 
static double usable_mindelay_
 
static double min_interprocessor_delay_
 
static double mindelay_
 
static double last_maxstep_arg_
 
static NetParEventnpe_
 
static int n_npe_
 
static int gid_donot_remove = 0
 
static int timeout_ = 20
 
intnrn_prop_param_size_
 
intpnt_receive_size
 
short * nrn_is_artificial_
 

Macro Definition Documentation

◆ BGP_INTERVAL

#define BGP_INTERVAL   2

Definition at line 27 of file netpar.cpp.

◆ BGPDMA

#define BGPDMA   0

Definition at line 80 of file netpar.cpp.

◆ MD

#define MD   2147483648.

Definition at line 13 of file netpar.cpp.

◆ TBUF

#define TBUF

Definition at line 438 of file netpar.cpp.

◆ TBUFSIZE

#define TBUFSIZE   0

Definition at line 437 of file netpar.cpp.

Typedef Documentation

◆ Gid2PreSyn

using Gid2PreSyn = std::unordered_map<int, PreSyn*>

Definition at line 18 of file netpar.cpp.

◆ PFIO

typedef void(* PFIO) (int, Object *)

Definition at line 61 of file netpar.cpp.

Function Documentation

◆ alloc_space()

static void alloc_space ( )
static

Definition at line 892 of file netpar.cpp.

◆ calc_actual_mindelay()

static void calc_actual_mindelay ( )
static

Definition at line 422 of file netpar.cpp.

◆ gid2obj_()

static Object* gid2obj_ ( int  gid)
static

Definition at line 1100 of file netpar.cpp.

◆ ncs2nrn_integrate()

void ncs2nrn_integrate ( double  tstop)

Definition at line 3748 of file netcvode.cpp.

◆ nrn_bgp_receive_time()

double nrn_bgp_receive_time ( int  )

Definition at line 84 of file netpar.cpp.

◆ nrn_cleanup_presyn()

void nrn_cleanup_presyn ( PreSyn ps)

Definition at line 932 of file netpar.cpp.

◆ nrn_fake_fire()

void nrn_fake_fire ( int  gid,
double  firetime,
int  fake_out 
)

Definition at line 867 of file netpar.cpp.

◆ nrn_gid2obj()

Object* nrn_gid2obj ( int  gid)

Definition at line 1495 of file netpar.cpp.

◆ nrn_gid2outputpresyn()

PreSyn* nrn_gid2outputpresyn ( int  gid)

Definition at line 1487 of file netpar.cpp.

◆ nrn_gid2presyn()

PreSyn* nrn_gid2presyn ( int  gid)

Definition at line 1499 of file netpar.cpp.

◆ nrn_gid_exists()

int nrn_gid_exists ( int  gid)

Definition at line 997 of file netpar.cpp.

◆ nrn_gidout_iter()

void nrn_gidout_iter ( PFIO  callback)

Definition at line 1505 of file netpar.cpp.

◆ nrn_need_npe()

static int nrn_need_npe ( )
static

Definition at line 401 of file netpar.cpp.

◆ nrn_partrans_clear()

void nrn_partrans_clear ( )

Definition at line 845 of file partrans.cpp.

◆ nrn_pending_selfqueue()

void nrn_pending_selfqueue ( double  ,
NrnThread  
)

Definition at line 3802 of file netcvode.cpp.

◆ nrn_sec2cell()

Object* nrn_sec2cell ( Section )

Definition at line 224 of file cabcode.cpp.

◆ nrn_set_timeout()

int nrn_set_timeout ( int  timeout)

Definition at line 1194 of file netpar.cpp.

◆ nrn_spike_exchange_init()

void nrn_spike_exchange_init ( void  )

Definition at line 441 of file netpar.cpp.

◆ nrncore_netpar_bytes()

size_t nrncore_netpar_bytes ( )

Definition at line 1525 of file netpar.cpp.

◆ nrncore_netpar_cellgroups_helper()

void nrncore_netpar_cellgroups_helper ( CellGroup cgs)

Definition at line 1567 of file netpar.cpp.

◆ nrnmpi_gid_clear()

void nrnmpi_gid_clear ( int  arg)

Definition at line 950 of file netpar.cpp.

◆ nrnmpi_multisplit_clear()

void nrnmpi_multisplit_clear ( )

Definition at line 500 of file multisplit.cpp.

◆ nrnmpi_spike_compress()

int nrnmpi_spike_compress ( int  nspike,
bool  gid_compress,
int  xchng_meth 
)

Definition at line 1428 of file netpar.cpp.

◆ nrnthread_all_spike_vectors_return()

int nrnthread_all_spike_vectors_return ( std::vector< double > &  spiketvec,
std::vector< int > &  spikegidvec 
)

NEURON callback used from CORENEURON to transfer all spike vectors after simulation.

Parameters
spiketvec- vector of spikes
spikegidvec- vector of gids
Returns
1 if CORENEURON shall drop writing out.dat; 0 otherwise

Definition at line 1273 of file netpar.cpp.

◆ ob2pntproc()

Point_process* ob2pntproc ( Object )

Definition at line 88 of file hocmech.cpp.

◆ set_mindelay()

static double set_mindelay ( double  maxdelay)
static

Definition at line 1302 of file netpar.cpp.

◆ vector_capacity()

int vector_capacity ( IvocVect )

◆ vector_vec()

double* vector_vec ( IvocVect )

◆ weightcnt()

static int weightcnt ( NetCon nc)
static

Definition at line 1520 of file netpar.cpp.

Variable Documentation

◆ active_

int active_
static

Definition at line 206 of file netpar.cpp.

◆ all_spikegidvec

IvocVect* all_spikegidvec = NULL
static

Definition at line 36 of file netpar.cpp.

◆ all_spiketvec

IvocVect* all_spiketvec = NULL
static

Definition at line 35 of file netpar.cpp.

◆ cvode_active_

int cvode_active_

Definition at line 158 of file fadvance.cpp.

◆ dt

double dt

Definition at line 123 of file init.cpp.

◆ dt1_

double dt1_
static

Definition at line 38 of file netpar.cpp.

◆ gid2in_

Gid2PreSyn gid2in_
static

Definition at line 34 of file netpar.cpp.

◆ gid2out_

Gid2PreSyn gid2out_
static

Definition at line 33 of file netpar.cpp.

◆ gid_donot_remove

int gid_donot_remove = 0
static

Definition at line 930 of file netpar.cpp.

◆ last_maxstep_arg_

double last_maxstep_arg_
static

Definition at line 210 of file netpar.cpp.

◆ min_interprocessor_delay_

double min_interprocessor_delay_
static

Definition at line 208 of file netpar.cpp.

◆ mindelay_

double mindelay_
static

Definition at line 209 of file netpar.cpp.

◆ n_bgp_interval

int n_bgp_interval
static

Definition at line 29 of file netpar.cpp.

◆ n_npe_

int n_npe_
static

Definition at line 212 of file netpar.cpp.

◆ net_cvode_instance

NetCvode* net_cvode_instance

Definition at line 27 of file cvodestb.cpp.

◆ netcon_sym_

Symbol* netcon_sym_
static

Definition at line 32 of file netpar.cpp.

◆ npe_

NetParEvent* npe_
static

Definition at line 211 of file netpar.cpp.

◆ nrn_is_artificial_

short* nrn_is_artificial_

Definition at line 231 of file init.cpp.

◆ nrn_prop_param_size_

int* nrn_prop_param_size_

Definition at line 178 of file init.cpp.

◆ nrn_use_selfqueue_

int nrn_use_selfqueue_

Definition at line 92 of file netcvode.cpp.

◆ nrnmpi_step_wait_

double nrnmpi_step_wait_

Definition at line 40 of file ocbbs.cpp.

◆ pnt_receive_size

int* pnt_receive_size

Definition at line 173 of file init.cpp.

◆ t

double t

Definition at line 123 of file init.cpp.

◆ t_exchange_

double t_exchange_
static

Definition at line 37 of file netpar.cpp.

◆ timeout_

int timeout_ = 20
static

Definition at line 1193 of file netpar.cpp.

◆ usable_mindelay_

double usable_mindelay_
static

Definition at line 207 of file netpar.cpp.