[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Octave on PBS Job Array
From: |
mathan |
Subject: |
Re: Octave on PBS Job Array |
Date: |
Tue, 26 Jun 2012 08:34:16 -0700 (PDT) |
The following error has occurring when i submit the job in PBS but the .m
file is running without any problem when i execute it from bash program
interactively( Not in PBS )
*octave: error while loading shared libraries: libgfortran.so.3: cannot open
shared object file: No such file or directory*
PBS script
#!/bin/bash
#PBS -S /bin/bash
#PBS -N octave_bf
##PBS -m e
#PBS -q job_array
#PBS -l walltime=12:00:00
#PBS -j oe
#PBS -J 1-10000
##PBS -o event_al_^array_index^.out
##PBS -e event_al_^array_index^.err
# Export path to PBS
export PATH=/lustre/applications/OCTAVE/octave-3.6.1/bin:${PATH}
cd /lustre/scratch/mathan1/bct_matlab/2012-03-29BCT/
#for ((PBS_ARRAY_INDEX=1;PBS_ARRAY_INDEX<= 27 ;PBS_ARRAY_INDEX++)); do
#echo ${PBS_ARRAY_INDEX} >>log
# Initialize values for the parameters
iter_init=1
para_init=1
net_init=1
# Initiaize the increments values for the parameters
iter_increment=1
para_increment=1
net_increment=1
# Maximum limit of the each parameters
max_iter=1000
max_para=5
max_net=2
# size of each parameter set
if [ ${iter_increment} == 0 ]; then
iter_set=1
else
iter_set=$(echo "scale=2; ((${max_iter} - ${iter_init}) /
${iter_increment})+1"| bc -l)
fi
if [ ${net_increment} == 0 ]; then
net_set=1
else
net_set=$(echo "scale=2; ((${max_net} - ${net_init}) /
${net_increment})+1"| bc -l)
fi
para_set=$(echo "scale=2; ((${max_para} - ${para_init}) /
${para_increment})+1"| bc -l)
tot_job_array=$(echo "scale=2; ${iter_set}*${para_set}*${net_set}"|
bc -l)
loop1set=${para_set}
# calculating x1>>>>for net
x1=$(echo "scale=0; ((${PBS_ARRAY_INDEX} % ${tot_job_array}) /
${loop2set})"| bc -l)
net=$(echo "scale=2; (${net_init} + (${net_increment}*${x1}))"| bc
-l)
# calculating x2>>>>for iter
x2=$(echo "scale=0; ((${PBS_ARRAY_INDEX} % ${loop2set}) /
${loop1set})"| bc -l)
iter=$(echo "scale=2; (${iter_init} + (${iter_increment}*${x2}))"|
bc -l)
y=$(echo "scale=0; (${PBS_ARRAY_INDEX} % ${loop1set})"| bc -l)
para=$(echo "scale=2; (${para_init} + (${para_increment}*${y}))"| bc
-l)
# Convert to integer
net=${net/\.*}
iter=${iter/\.*}
para=${para/\.*}
# Print all
# echo parameter set ${para} ${net} ${iter}
# Call Octave and execute independent Job
octave parameter.m ${para} ${net} ${iter}
# done
*The Octave Script*
#! /bin/octave -qf
% Get required values from terminal 1.parameter 2.network 3.iteration
para=str2num(argv(){1});
net=str2num(argv(){2});
iter=str2num(argv(){3});
% Change number to string
spara=int2str(para);
snet=int2str(net);
siter=int2str(iter);
% Fill other values :: div = from five set 0.1/3/5/7/9 group
npts=400;
div =1;
sdiv = int2str(div);
% Load coordinate file
pts= load
('/lustre/scratch/mathan1/orgin/inputdata/randat_4p3.dat','-ascii');
start_pt = (npts*(net-1)+1);
end_pt = (net*npts);
x=pts(start_pt:end_pt,1);
y=pts(start_pt:end_pt,2);
% Load matrix
fsyn3 = 'sf50';
fsyn2 = 'res';
uc = '_';
sl = '/';
fsyn1 = '/lustre/scratch/mathan1/orgin/test2/';
matfile = [fsyn1 fsyn2 uc sdiv uc spara uc snet sl siter fsyn3];
% Load parameter file and its values
fsy1 = '_al_sf.dat';
parf = [fsyn1 sdiv fsy1];
PP =load(parf,'-ascii');
tbf = PP(para,1)
cbf = PP(para,2)
tal = PP(para,3)
% Load network matrix and distance matrix
A =load(matfile,'-ascii');
D = distance_bin(A);
% Count total wiring length
[a,b] = find(triu(A,1));
count = size(a,1);
length=0;
for z = 1:count
cc1=(x(a(z))-y(a(z))).^2;
cc2=(x(b(z))-y(b(z))).^2;
length(z) = sqrt(cc1+cc2);
end
tot_length=sum(length)
% Call all other functions
C = clustering_coef_bu(A);
AC = mean(C);
[lambda,efficiency,ecc,radius,diameter] = charpath(D);
Eglob = efficiency_bin(A);
r = assortativity_bin(A,0);
[kden,N,K] = density_und(A);
[fc,FC,total_flo] = flow_coef_bd(A);
[C_tri]=transitivity_bu(A);
% Write all parameter values to file
% Order for out file
% 1-tbf
% 2-cbf
% 3-tal
% 4-iter
% 5-tot_length-
% 6-AC clusteringcoefficient-
% 7-lambda-Avg Shortest Path length
% 8-efficiency-
% 9-radius-
% 10-diameter-
% 11-Eglob-Global Efficiency
% 12-r -assortativity Co-efficient
% 13-FC - Average Flow Coefficient
% 14-C_tri -Transitivity
% 15-kden-Density
% 16-N- No of Nodes
% 17-K- No of Edges
% 18-para
% 19-net
% Append it to the exixting file
fid = fopen('parameter_bf_1.dat','a+');
fprintf(fid,'%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%d\t%d\n',tbf,cbf,tal,iter,tot_length,AC,lambda,efficiency,radius,diameter,Eglob,r,FC,C_tri,kden,N,K,para,net);
fclose(fid);
help appreciated much
Mathan
--
View this message in context:
http://octave.1599824.n4.nabble.com/Octave-on-PBS-Job-Array-tp4630912p4630978.html
Sent from the Octave - Maintainers mailing list archive at Nabble.com.