Write resume command even when computation concludes
This commit is contained in:
parent
a94c066014
commit
4436866d2f
@ -159,36 +159,35 @@ int eea(
|
|||||||
if (savefile==NULL){
|
if (savefile==NULL){
|
||||||
savefile=stderr;
|
savefile=stderr;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(savefile,"# Interrupted computation. Resume with\n");
|
|
||||||
// command to resume
|
|
||||||
fprintf(savefile,"#! ");
|
|
||||||
|
|
||||||
fprintf(savefile, cmd_string);
|
|
||||||
|
|
||||||
// params
|
|
||||||
// allocate buffer for params
|
|
||||||
if(params_string!=NULL) {
|
|
||||||
char* params=calloc(sizeof(char), strlen(params_string)+1);
|
|
||||||
strcpy(params, params_string);
|
|
||||||
remove_entry(params, "starting_time");
|
|
||||||
remove_entry(params, "init");
|
|
||||||
remove_entry(params, "nsteps");
|
|
||||||
fprintf(savefile," -p \"%s;starting_time=%lu;nsteps=%lu;init=file:%s\"", params, t+1, (nsteps == 0 ? 0 : nsteps-t-1), savefile_string);
|
|
||||||
free(params);
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(savefile," energy\n");
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// save final entry to savefile
|
if(savefile!=NULL){
|
||||||
if(savefile==stderr || savefile==stdout){
|
fprintf(savefile,"# Continue computation with\n");
|
||||||
write_vec(u, K1, K2, savefile);
|
|
||||||
} else {
|
// command to resume
|
||||||
write_vec_bin(u, K1, K2, savefile);
|
fprintf(savefile,"#! ");
|
||||||
|
fprintf(savefile, cmd_string);
|
||||||
|
// params
|
||||||
|
// allocate buffer for params
|
||||||
|
if(params_string!=NULL) {
|
||||||
|
char* params=calloc(sizeof(char), strlen(params_string)+1);
|
||||||
|
strcpy(params, params_string);
|
||||||
|
remove_entry(params, "starting_time");
|
||||||
|
remove_entry(params, "init");
|
||||||
|
remove_entry(params, "nsteps");
|
||||||
|
fprintf(savefile," -p \"%s;starting_time=%lu;nsteps=%lu;init=file:%s\"", params, t+1, (nsteps < t+1 ? 0 : nsteps-t-1), savefile_string);
|
||||||
|
free(params);
|
||||||
|
}
|
||||||
|
fprintf(savefile," energy\n");
|
||||||
|
|
||||||
|
// save final u to savefile
|
||||||
|
if(savefile==stderr || savefile==stdout){
|
||||||
|
write_vec(u, K1, K2, savefile);
|
||||||
|
} else {
|
||||||
|
write_vec_bin(u, K1, K2, savefile);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ns_free_tmps(u, tmp1, tmp2, tmp3, fft1, fft2, ifft);
|
ns_free_tmps(u, tmp1, tmp2, tmp3, fft1, fft2, ifft);
|
||||||
|
Loading…
Reference in New Issue
Block a user