#include <nrnpthread.h>
#include <nrnmpi.h>
#define BENCHADD | ( | arg | ) |
Referenced by nrn_multithread_job(), and nrn_onethread_job().
#define BENCHBEGIN | ( | arg | ) |
Referenced by nrn_multithread_job(), and nrn_onethread_job().
#define BENCHDECLARE |
Referenced by nrn_multithread_job(), and nrn_onethread_job().
#define BENCHMARKING 0 |
#define BS 0 |
Referenced by nrn_thread_stat(), and nrn_threads_create().
#define CACHELINE_ALLOC | ( | name, | |||
type, | |||||
size | ) | name = (type*)nrn_cacheline_alloc((void**)&name, size*sizeof(type)) |
Referenced by nrn_threads_create().
#define CACHELINE_CALLOC | ( | name, | |||
type, | |||||
size | ) | name = (type*)nrn_cacheline_calloc((void**)&name, size, sizeof(type)) |
#define WAIT wait_for_workers |
Referenced by nrn_multithread_job(), and nrn_onethread_job().
assert | ( | order | = =section_count |
) |
for | ( | ) |
References buf, hoc_execerror(), hocSEC, ITERATE, n, Section::parentsec, secname(), and Section::volatile_mark.
Referenced by SaveState::restorenet(), and SaveState::savenet().
FOR_THREADS | ( | _nt | ) |
References Node::_d, and Node::_rhs.
ForAllSections | ( | sec | ) |
if | ( | n! | = nrn_global_ncell |
) |
if | ( | nrn_multisplit_setup_ | ) |
void nrn_hoc_lock | ( | ) |
References nrn_inthread_.
void nrn_hoc_unlock | ( | ) |
int nrn_how_many_processors | ( | ) |
void nrn_malloc_lock | ( | ) |
void nrn_malloc_unlock | ( | ) |
void nrn_mk_table_check | ( | ) |
References Datum::_pvoid, emalloc, Datum::i, id, NrnThreadMembList::index, index, memb_func, NrnThreadMembList::next, and NrnThread::tml.
Referenced by KSChan::usetable().
References BENCHADD, BENCHBEGIN, BENCHDECLARE, nrn_inthread_, and WAIT.
Referenced by fcurrent(), N_VAbs_NrnThread(), N_VAbs_NrnThreadLD(), N_VAddConst_NrnThread(), N_VAddConst_NrnThreadLD(), N_VCompare_NrnThread(), N_VCompare_NrnThreadLD(), N_VConst_NrnThread(), N_VConst_NrnThreadLD(), N_VConstrMask_NrnThread(), N_VConstrMask_NrnThreadLD(), N_VDiv_NrnThread(), N_VDiv_NrnThreadLD(), N_VDotProd_NrnThread(), N_VDotProd_NrnThreadLD(), N_VInv_NrnThread(), N_VInv_NrnThreadLD(), N_VInvTest_NrnThread(), N_VInvTest_NrnThreadLD(), N_VL1Norm_NrnThread(), N_VL1Norm_NrnThreadLD(), N_VLinearSum_NrnThread(), N_VLinearSum_NrnThreadLD(), N_VMaxNorm_NrnThread(), N_VMaxNorm_NrnThreadLD(), N_VMin_NrnThread(), N_VMin_NrnThreadLD(), N_VMinQuotient_NrnThread(), N_VMinQuotient_NrnThreadLD(), N_VOneMask_NrnThread(), N_VOneMask_NrnThreadLD(), N_VProd_NrnThread(), N_VProd_NrnThreadLD(), N_VScale_NrnThread(), N_VScale_NrnThreadLD(), N_VWL2Norm_NrnThread(), N_VWL2Norm_NrnThreadLD(), N_VWrmsNorm_NrnThread(), N_VWrmsNorm_NrnThreadLD(), N_VWrmsNormMask_NrnThread(), N_VWrmsNormMask_NrnThreadLD(), nrn_daspk_init_step(), nrn_fixed_step(), nrn_fixed_step_group(), and nrn_use_busywait().
void nrn_old_thread_save | ( | ) |
Referenced by nrn_threads_free().
References assert, BENCHADD, BENCHBEGIN, BENCHDECLARE, and WAIT.
void nrn_thread_error | ( | char * | s | ) |
References hoc_execerror().
Referenced by Imp::check(), linmod_alloc(), nrn_lhs(), nrn_rhs(), and nrn_solve().
References assert, hoc_obj_ref(), hoc_obj_unref(), NrnThread::roots, NrnThread::userpart, and v_structure_change.
void nrn_thread_partition | ( | ) |
Referenced by nrn_user_partition().
void nrn_thread_stat | ( | ) |
References BS, buf, fprintf(), n, nrnmpi_myid, and nrnmpi_numprocs.
void nrn_thread_table_check | ( | ) |
References Memb_list::_thread, Memb_list::data, Datum::i, NrnThreadMembList::index, memb_func, NrnThreadMembList::ml, Memb_list::pdata, and Memb_func::thread_table_check_.
Referenced by fcurrent(), nrn_daspk_init_step(), nrn_finitialize(), nrn_fixed_step(), and nrn_fixed_step_group().
References NrnThread::_actual_a, NrnThread::_actual_area, NrnThread::_actual_b, NrnThread::_actual_d, NrnThread::_actual_rhs, NrnThread::_actual_v, NrnThread::_ctime, NrnThread::_dt, NrnThread::_ecell_memb_list, NrnThread::_sp13mat, NrnThread::_stop_stepping, NrnThread::_t, NrnThread::_v_node, NrnThread::_v_parent, NrnThread::_v_parent_index, NrnThread::_vcv, BEFORE_AFTER_SIZE, BS, CACHELINE_ALLOC, diam_changed, NrnThread::end, hoc_obj_unref(), NrnThread::id, NrnThread::ncell, nrn_threads_free(), NrnThread::roots, NrnThread::tbl, NrnThread::tml, NrnThread::userpart, and v_structure_change.
void nrn_threads_free | ( | ) |
References NrnThread::_actual_a, NrnThread::_actual_area, NrnThread::_actual_b, NrnThread::_actual_d, NrnThread::_actual_rhs, NrnThread::_actual_v, NrnThread::_ecell_memb_list, NrnThread::_sp13mat, Memb_list::_thread, NrnThread::_v_node, NrnThread::_v_parent, NrnThread::_v_parent_index, NrnThread::_vcv, BEFORE_AFTER_SIZE, Memb_list::data, NrnThread::end, Memb_func::hoc_mech, NrnThreadMembList::index, memb_func, NrnThreadMembList::ml, NrnThread::ncell, NrnThreadBAList::next, NrnThreadMembList::next, Memb_list::nodelist, nrn_old_thread_save(), Memb_list::pdata, Memb_list::prop, NrnThread::roots, NrnThread::tbl, Memb_func::thread_cleanup_, NrnThread::tml, and NrnThread::userpart.
Referenced by nrn_threads_create().
double nrn_time | ( | ) |
References time.
Referenced by hoc_startsw().
int nrn_user_partition | ( | ) |
References b, buf, FOR_THREADS, ForAllSections, hoc_execerror(), hocSEC, ITERATE, n, nrn_thread_partition(), Section::prop, NrnThread::roots, NrnThread::userpart, and Section::volatile_mark.
void nrn_wait_for_threads | ( | ) |
n = 0 |
Referenced by nrn_hoc_lock(), and nrn_multithread_job().
Referenced by nrn_partrans_clear(), and nrnmpi_setup_transfer().
Referenced by fclamp(), frecord_init(), fstim(), fsyn(), nrn_cache_prop_realloc(), nrn_finitialize(), nrn_prop_is_cache_efficient(), nrn_spike_exchange_init(), MultiSplitControl::pmat(), MultiSplitControl::pmat1(), MultiSplitControl::pmatf(), ReducedTree::pr_map(), MultiSplitControl::prstruct(), Imp::setmat1(), Imp::solve(), and MultiSplitControl::v_setup().
Referenced by _modl_set_dt(), MatrixMap::alloc(), Imp::alloc(), Imp::check(), NonLinImp::compute(), NonLinImpRep::current(), NonLinImpRep::delta(), NonLinImpRep::dids(), NonLinImpRep::didv(), LinearModelAddition::dkmap(), NonLinImpRep::dsds(), NonLinImpRep::dsdv(), BGP_ReceiveBuffer::enqueue(), erand(), MultiSplitControl::exchange_setup(), fmatrix(), frecord_init(), KSSingle::init(), LinearModelAddition::lhs(), linmod_alloc(), Imp::LUDecomp(), MultiSplitControl::matrix_exchange(), MultiSplitControl::matrix_exchange_nocap(), NonLinImpRep::NonLinImpRep(), nrn_cache_prop_realloc(), nrn_daspk_init_step(), nrn_fake_fire(), nrn_finitialize(), nrn_fixed_step(), nrn_fixed_step_group(), nrn_matrix_node_alloc(), nrn_multisplit_nocap_v(), nrn_prop_is_cache_efficient(), nrn_spike_exchange_init(), NonLinImpRep::ode(), NrnMusicEventHandler::operator()(), MultiSplitControl::pexch(), MultiSplitControl::pmat(), MultiSplitControl::pmat1(), MultiSplitControl::pmatf(), ReducedTree::pr_map(), MultiSplitControl::prstruct(), LinearModelAddition::rhs(), MultiSplitControl::rt_map_update(), BGP_DMASend::send(), Imp::setmat(), Imp::setmat1(), NonLinImp::solve(), MultiSplitControl::solve(), Imp::solve(), LinearModelAddition::update(), KSChan::usetable(), and MultiSplitControl::v_setup().
order = 0 |
Referenced by for(), ForAllSections(), ReducedTree::reorder(), and section_order().
Referenced by hoc_fmenu().