Browse Source

Memory use improvement in sparse R=?[I] for MDPs.

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@703 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 18 years ago
parent
commit
de1c744257
  1. 18
      prism/src/sparse/PS_NondetInstReward.cc

18
prism/src/sparse/PS_NondetInstReward.cc

@ -73,7 +73,7 @@ jlong __pointer in
// sparse matrix
NDSparseMatrix *ndsm;
// vectors
double *sr_vec, *soln, *soln2, *tmpsoln;
double *soln, *soln2, *tmpsoln;
// timing stuff
long start1, start2, start3, stop;
double time_taken, time_for_setup, time_for_iters;
@ -100,16 +100,10 @@ jlong __pointer in
kbt = kb;
PS_PrintToMainLog(env, "[%.1f KB]\n", kb);
// get vector for state rewards
PS_PrintToMainLog(env, "Creating vector for state rewards... ");
sr_vec = mtbdd_to_double_vector(ddman, state_rewards, rvars, num_rvars, odd);
kb = n*8.0/1024.0;
kbt += kb;
PS_PrintToMainLog(env, "[%.1f KB]\n", kb);
// create solution/iteration vectors
// (solution is initialised to the state rewards)
PS_PrintToMainLog(env, "Allocating iteration vectors... ");
soln = new double[n];
soln = mtbdd_to_double_vector(ddman, state_rewards, rvars, num_rvars, odd);
soln2 = new double[n];
kb = n*8.0/1024.0;
kbt += 2*kb;
@ -118,11 +112,6 @@ jlong __pointer in
// print total memory usage
PS_PrintToMainLog(env, "TOTAL: [%.1f KB]\n", kbt);
// initial solution is the state rewards
for (i = 0; i < n; i++) {
soln[i] = sr_vec[i];
}
// get setup time
stop = util_cpu_time();
time_for_setup = (double)(stop - start2)/1000;
@ -201,7 +190,6 @@ jlong __pointer in
// free memory
free_nd_sparse_matrix(ndsm);
delete sr_vec;
delete soln2;
return ptr_to_jlong(soln);

Loading…
Cancel
Save