Skip to content
This repository was archived by the owner on Mar 20, 2023. It is now read-only.

Commit cab134d

Browse files
ferdonlinepramodk
authored andcommitted
Reduce temporarily steps to buffer (#131)
Add option to change number of mindelays that we used for buffering with reportinglib
1 parent 45153b3 commit cab134d

File tree

4 files changed

+14
-1
lines changed

4 files changed

+14
-1
lines changed

coreneuron/nrniv/main1.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,10 @@ extern "C" int solve_core(int argc, char** argv) {
408408

409409
// register all reports into reportinglib
410410
double min_report_dt = INT_MAX;
411+
int num_report_mindelay = nrnopt_get_int("--num-report-mindelay");
412+
413+
set_num_mindelay_to_buffer(num_report_mindelay);
414+
411415
for (size_t i = 0; i < configs.size(); i++) {
412416
register_report(dt, tstop, delay, configs[i]);
413417
if (configs[i].report_dt < min_report_dt) {

coreneuron/nrniv/nrnoptarg.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ static param_int param_int_args[] = {
7171
{"--extracon -x", 0, 0, 10000000,
7272
"Number of extra random connections in each thread to other duplicate models (int)."},
7373
{"--seed -s", -1, 0, 100000000, "Initialization seed for random number generator (int)."},
74+
{"--num-report-mindelay", 100, 1, 10000, "Number of min delay intervals to be buffered during reporting (int)."},
7475
{NULL, 0, 0, 0, NULL}};
7576

7677
static param_dbl param_dbl_args[] = {

coreneuron/utils/reports/nrnreport.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ std::vector<int> map_gids(NrnThread& nt) {
351351
#endif // ENABLE_REPORTING
352352

353353
// number of min-delay intervals to buffer
354-
static int num_min_delay_to_buffer = 500;
354+
static int num_min_delay_to_buffer = 100;
355355

356356
/// number of min-delays completed since last flush
357357
static int num_min_delays_completed = 0;
@@ -386,6 +386,12 @@ void setup_report_engine(double dt_report, double mindelay) {
386386
#endif // ENABLE_REPORTING
387387
}
388388

389+
// number of min delay intervals that will be buffered with reports
390+
// @todo : this will be replaced by buffer size in MB
391+
void set_num_mindelay_to_buffer(int n) {
392+
num_min_delay_to_buffer = n;
393+
}
394+
389395
// TODO: we can have one ReportEvent per register_report_call generated by MPI rank
390396
// instead of one per cell group
391397
void register_report(double dt, double tstop, double delay, ReportConfiguration& report) {

coreneuron/utils/reports/nrnreport.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,5 +78,7 @@ std::vector<ReportConfiguration> create_report_configurations(const char* filena
7878
void setup_report_engine(double dt_report, double mindelay);
7979
void finalize_report();
8080
void nrn_flush_reports(double t);
81+
void set_num_mindelay_to_buffer(int n);
82+
8183
} // namespace coreneuron
8284
#endif //_H_NRN_REPORT_

0 commit comments

Comments
 (0)