Save error on linux

8 views (last 30 days)
Amirhossein Moosavi
Amirhossein Moosavi on 22 Apr 2021
Commented: Jan on 22 Apr 2021
Hello,
I have program that I run it through a script. At the same time, the script uses many functions to compute required components. When I run this program on my laptop (Windows 10), there is no problem and everthing works pretty well. But when I try to run this program on Compute Canada (it is a central and slurm-based computer that uses Linux), the program works pretty great except the last line, where I want to save the outcome. Note that I am using Matlab2020a on Compute Canada. I receive an error like below:
{Error using save
Can not write file /project/XXX/XXX/LTC/ACO/Realistic_ins/ACO_1_1.mat.
Error in aco_1 (line 366)
save(saveName, 'ARCH', 'CPUT');
Error in run (line 91)
evalin('caller', strcat(script, ';'));
}
What would be the reason of this problem?
Best, Amir.

Answers (1)

Jan
Jan on 22 Apr 2021
Edited: Jan on 22 Apr 2021
Does the folder "/project/XXX/XXX/LTC/ACO/Realistic_ins/" exist? Mounting a folder "/project" directly as root folder is very unusual. Is this path relative to your own user folder? Then this would be:
'~/project/XXX/XXX/LTC/ACO/Realistic_ins/'
  2 Comments
Amirhossein Moosavi
Amirhossein Moosavi on 22 Apr 2021
Edited: Amirhossein Moosavi on 22 Apr 2021
Thanks! The folder exists, my script and all relevant functions are in the same folder, and the folder is related to my user. This is so strage for me since the program successfully finishes some test instances, but unsuccessfully some others (all of them work with no problem on my own laptop). I am currently using the below code to save the outcome:
saveName = append('ACO_', fName, '.mat');
save(saveName, 'ARCH', 'CPUT');
According to your suggestion, I should change it as bellow. Am I right? Does it make any diiference since all codes are in that folder?
saveName = append('~/project/XXX/XXX/LTC/ACO/Realistic_ins/ACO_', fName, '.mat');
save(saveName, 'ARCH', 'CPUT');
Jan
Jan on 22 Apr 2021
Under Linux "/project" is a root folder. If you mean "relative to the current folder, use "./project". It the folder is relative to the user folder "~/project".
The location of the M-files does not matter, because this is not necessarily the current folder. The best idea to avoid such errors is not to use relative folders, but absolute ones.

Sign in to comment.

Categories

Find more on Cluster Configuration in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!