From 2977c9336e4c5a994f996051ec55ff774d1f2cd6 Mon Sep 17 00:00:00 2001 From: MichelJuillard Date: Mon, 20 May 2019 09:57:10 +0000 Subject: [PATCH] fix finding CPU's number when larger than 9 --- matlab/parallel/AnalyseComputationalEnvironment.m | 10 +++++----- matlab/parallel/GiveCPUnumber.m | 4 +--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/matlab/parallel/AnalyseComputationalEnvironment.m b/matlab/parallel/AnalyseComputationalEnvironment.m index be01f3c8d..d03a9d16a 100644 --- a/matlab/parallel/AnalyseComputationalEnvironment.m +++ b/matlab/parallel/AnalyseComputationalEnvironment.m @@ -522,7 +522,7 @@ for Node=1:length(DataInput) % To obtain a recoursive function remove the 'for' if (DataInput(Node).Local == 1) if Environment if ~ismac - [si0, de0] = system('grep processor /proc/cpuinfo'); + [si0, de0] = system('nproc'); else [si0, de0] = system('sysctl -n hw.ncpu'); Environment1 = 2; @@ -539,7 +539,8 @@ for Node=1:length(DataInput) % To obtain a recoursive function remove the 'for' end if OStargetUnix if RemoteEnvironment ==1 - command_string = ['ssh ',ssh_token,' ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' grep processor /proc/cpuinfo']; + command_string = ['ssh ',ssh_token,' ', ... + DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' nproc']; else % it is MAC command_string = ['ssh ',ssh_token,' ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' sysctl -n hw.ncpu']; Environment1 = 2; @@ -562,7 +563,6 @@ for Node=1:length(DataInput) % To obtain a recoursive function remove the 'for' end RealCPUnbr=''; - % keyboard; RealCPUnbr=GiveCPUnumber(de0,Environment1); % Questo controllo penso che si possa MIGLIORARE!!!!! @@ -574,12 +574,12 @@ for Node=1:length(DataInput) % To obtain a recoursive function remove the 'for' if isempty (RealCPUnbr) % An error occurred when we try to know the Cpu/Cores % numbers. - disp('It is impossible determine the number of Cpu/Processor avaiable on this machine!') + disp('It is impossible determine the number of Cpu/Processor available on this machine!') skipline() disp('ErrorCode 2.') skipline() if Environment - disp('Check the command "$less /proc/cpuinfo" ... !') + disp('Check the command "$grep - /proc/cpuinfo" ... !') else disp('Check if the pstools are installed and are in machine path! And check the command "psinfo \\"') end diff --git a/matlab/parallel/GiveCPUnumber.m b/matlab/parallel/GiveCPUnumber.m index cc2d45aa3..f7e6caf04 100644 --- a/matlab/parallel/GiveCPUnumber.m +++ b/matlab/parallel/GiveCPUnumber.m @@ -65,9 +65,7 @@ switch Environment return case 1 %LIKE UNIX OPERATING SYSTEM - % Da generalizzare a un numero di CPu maggiore di 9!!! - - nCPU=str2num(ComputerInformations(length(ComputerInformations)-1))+1; + nCPU=str2num(ComputerInformations); case 2 %MAC-OS OPERATING SYSTEM