Skip to content

Commit 2c17d2f

Browse files
author
Edgar Solomonik
committed
adjust initial models, turn off strictly positive model enforcement
1 parent 8a0c92e commit 2c17d2f

File tree

2 files changed

+21
-20
lines changed

2 files changed

+21
-20
lines changed

src/shared/init_models.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
namespace CTF_int{
2-
double csrred_mdl_init[] = {3.0689E-08, 2.2385E-04, 4.4815E-12};
2+
double csrred_mdl_init[] = {3.0689E-03, 2.2385E-04, 4.4815E-07};
33
double csrred_mdl_cst_init[] = {-1.8323E-04, 1.3076E-04, 2.8732E-09};
44
double alltoall_mdl_init[] = {1.0000E-06, 1.0000E-06, 5.0000E-10};
55
double alltoallv_mdl_init[] = {7.3164E-23, 1.0404E-04, 2.5827E-07};

src/shared/model.cxx

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,13 @@ namespace CTF_int {
122122
is_active = true;
123123
//copy initial static coefficients to initialzie model (defined in init_model.cxx)
124124
memcpy(coeff_guess, init_guess, nparam*sizeof(double));
125+
name = (char*)alloc(strlen(name_)+1);
126+
name[0] = '\0';
127+
strcpy(name, name_);
125128
#ifdef TUNE
126129
/*for (int i=0; i<nparam; i++){
127130
regularization[i] = coeff_guess[i]*REG_LAMBDA;
128131
}*/
129-
name = (char*)alloc(strlen(name_)+1);
130-
name[0] = '\0';
131-
strcpy(name, name_);
132132
hist_size = hist_size_;
133133
mat_lda = nparam+1;
134134
time_param_mat = (double*)alloc(mat_lda*hist_size*sizeof(double));
@@ -140,8 +140,8 @@ namespace CTF_int {
140140
avg_under_time = 0.0;
141141
over_time = 0.0;
142142
under_time = 0.0;
143-
get_all_models().push_back(this);
144143
#endif
144+
get_all_models().push_back(this);
145145
}
146146

147147

@@ -155,8 +155,8 @@ namespace CTF_int {
155155

156156
template <int nparam>
157157
LinModel<nparam>::~LinModel(){
158-
#ifdef TUNE
159158
if (name != NULL) cdealloc(name);
159+
#ifdef TUNE
160160
if (time_param_mat != NULL) cdealloc(time_param_mat);
161161
#endif
162162
}
@@ -455,20 +455,21 @@ namespace CTF_int {
455455
cdealloc(work);
456456
cdealloc(iwork);
457457
cdealloc(A);
458-
double step = 1.;
459-
for (int ii=0; ii<nparam; ii++){
460-
if (b[ii] <= 0.){
461-
step = std::min(step, -.999*coeff_guess[ii]/(b[ii]-coeff_guess[ii]));
462-
}
463-
}
464-
assert(step>=0.);
465-
if (step == 1.)
466-
memcpy(coeff_guess, b, nparam*sizeof(double));
467-
else {
468-
for (int ii=0; ii<nparam; ii++){
469-
coeff_guess[ii] = (1.-step)*coeff_guess[ii] + step*b[ii];
470-
}
471-
}
458+
//double step = 1.;
459+
//for (int ii=0; ii<nparam; ii++){
460+
// if (b[ii] <= 0.){
461+
// step = std::min(step, -.999*coeff_guess[ii]/(b[ii]-coeff_guess[ii]));
462+
// }
463+
//}
464+
//assert(step>=0.);
465+
//if (step == 1.)
466+
// memcpy(coeff_guess, b, nparam*sizeof(double));
467+
//else {
468+
// for (int ii=0; ii<nparam; ii++){
469+
// coeff_guess[ii] = (1.-step)*coeff_guess[ii] + step*b[ii];
470+
// }
471+
//}
472+
memcpy(coeff_guess, b, nparam*sizeof(double));
472473
/*print();
473474
double max_resd_sq = 0.0;
474475
for (int i=0; i<ncol-nparam; i++){

0 commit comments

Comments
 (0)