129 char* (*nrnpy_nrncore_arg_p_)(
double tstop);
143 static size_t part1();
144 static void part2(
const char*);
158 size_t rankbytes =
part1();
177 size_t rankbytes = 0;
203 static void part2(
const char* path) {
212 int gid =
cgs[0].group_id;
221 group_ids[
i] =
cgs[
i].group_id;
236 px[
i] = double(
cgs[
i].group_id);
254 #if defined(HAVE_DLFCN_H)
264 void* handle = get_coreneuron_handle();
267 check_coreneuron_compatibility(handle);
273 void* launcher_sym =
dlsym(handle,
"corenrn_embedded_run");
287 int (*coreneuron_launcher)(int, int, int, int,
const char*,
const char*) =
288 (
int (*)(int, int, int, int,
const char*,
const char*)) launcher_sym;
291 int result = coreneuron_launcher(
309 int b = (*nrnpy_nrncore_enable_value_p_)();
318 int result = (*nrnpy_nrncore_file_mode_value_p_)();
329 char*
arg = (*nrnpy_nrncore_arg_p_)(tstop);
335 const char* CORENRN_DATA_DIR =
"corenrn_data";
static void clean_deferred_netcons()
static void clean_deferred_type2artml()
static CellGroup * mk_cellgroups(CellGroup *)
static void mk_tml_with_art(CellGroup *)
static void setup_nrn_has_net_event()
static size_t get_mla_rankbytes(CellGroup *)
static void datumtransform(CellGroup *)
VEC * cgs(MTX_FN A, void *A_params, VEC *b, VEC *r0, double tol, VEC *x)
DLFCN_EXPORT int dlclose(void *handle)
DLFCN_NOINLINE DLFCN_EXPORT void * dlsym(void *handle, const char *name)
void hoc_execerror(const char *, const char *)
int hoc_is_object_arg(int narg)
int hoc_is_double_arg(int narg)
void vector_resize(Vect *v, int n)
double * vector_vec(Vect *v)
void append(Item *ql, Item *q)
void nrn_spike_exchange_init()
void map_coreneuron_callbacks(void *handle)
Populate function pointers by mapping function pointers for callback.
void write_memb_mech_types(const char *fname)
void create_dir_path(const std::string &path)
create directory with given path
std::string get_filename(const std::string &path, std::string file_name)
void write_globals(const char *fname)
void nrn_write_mapping_info(const char *path, int gid, NrnMappingInfo &minfo)
dump mapping information to gid_3.dat file
void write_nrnthread_task(const char *path, CellGroup *cgs, bool append)
Write all dataset ids to files.dat.
void write_nrnthread(const char *path, NrnThread &nt, CellGroup &cg)
std::string get_write_path()
static void part2(const char *)
int nrncore_run(const char *)
short * nrn_is_artificial_
std::string corenrn_mpi_library
size_t nrnbbcore_gap_write(const char *path, int *group_ids)
size_t write_corenrn_model(const std::string &path)
dump neuron model to given directory path
void(* nrnthread_v_transfer_)(NrnThread *)
int nrncore_is_file_mode()
int nrncore_psolve(double tstop, int file_mode)
int(* nrnpy_nrncore_file_mode_value_p_)()
value of neuron.coreneuron.file_mode as 0, 1 (-1 if error)
char *(* nrnpy_nrncore_arg_p_)(double tstop)
Gets the python string returned by neuron.coreneuron.nrncore_arg(tstop) return a strdup() copy of the...
int * nrn_prop_dparam_size_
NetCvode * net_cvode_instance
int(* nrnpy_nrncore_enable_value_p_)()
value of neuron.coreneuron.enable as 0, 1 (-1 if error)
size_t nrncore_netpar_bytes()
NrnMappingInfo mapinfo
mapping information
Compartment mapping information for NrnThread.
size_t size()
number of cells
void clear()
after writing NrnThread to file we remove all previous mapping information, free memory.
Represent main neuron object computed by single thread.