From 88dc361ba19b94c000f8d5cf8430cb7ee4e66e3d Mon Sep 17 00:00:00 2001 From: Marco Ratto <marco.ratto@jrc.ec.europa.eu> Date: Fri, 29 Oct 2010 12:30:41 +0200 Subject: [PATCH] unix info added --- matlab/parallel/GiveCPUnumber.m | 51 +++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/matlab/parallel/GiveCPUnumber.m b/matlab/parallel/GiveCPUnumber.m index 6305a2502e..d1d254d46d 100644 --- a/matlab/parallel/GiveCPUnumber.m +++ b/matlab/parallel/GiveCPUnumber.m @@ -4,12 +4,12 @@ function [nCPU]= GiveCPUnumber (ComputerInformations) % on the computer used for run parallel code. % % INPUTS -% an array contained several fields that describe the hardaware +% an array contained several fields that describe the hardaware % software enviroments of a generic computer. -% +% % OUTPUTS -% The CPUs or Cores numbers of computer. -% +% The CPUs or Cores numbers of computer. +% % SPECIAL REQUIREMENTS % none @@ -31,26 +31,41 @@ function [nCPU]= GiveCPUnumber (ComputerInformations) % along with Dynare. If not, see <http://www.gnu.org/licenses/>. -nCPU=-1; +nCPU=''; -OffSet=27; +Enviroment=-1; -SringPosition=strfind(ComputerInformations, 'Processors:'); -nCPU=ComputerInformations(SringPosition+OffSet); +% Determine a specific operating system or software version when necessary +% for different command (sintax, name, ...). + Enviroment=isunix || (~matlab_ver_less_than('7.4') && ismac); -% We check if there are Processors/Cores more than 9. +switch Enviroment + case 0 %WINDOWS OPERATING SYSTEM + OffSet=27; + SringPosition=strfind(ComputerInformations, 'Processors:'); + nCPU=ComputerInformations(SringPosition+OffSet); -t0=ComputerInformations(SringPosition+OffSet+1); -t1=str2num(t0); -t1=isempty(t1); + % We check if there are Processors/Cores more than 9. -% if t1 is 0 the machine have more than 9 CPU. -if t1==0 - nCPU=strcat(nCPU,t0); -end + t0=ComputerInformations(SringPosition+OffSet+1); + t1=str2num(t0); + t1=isempty(t1); + + % if t1 is 0 the machine have more than 9 CPU. -nCPU=str2num(nCPU); + if t1==0 + nCPU=strcat(nCPU,t0); + end -return + nCPU=str2num(nCPU); + + return + case 1 %LIKE UNIX OPERATING SYSTEM + + % Da generalizzare a un numero di CPu maggiore di 9!!! + + nCPU=str2num(ComputerInformations(length(ComputerInformations)-1))+1; + +end -- GitLab