Monday, October 11, 2010

changing the output file name for C++

int setindex;
int caseindex;
FILE * pFile;

std::string part1 = "iccv_CV_set";
std::string part2 = "_case";
std::string part3 = "_C";
std::string part4 = "_iter";
std::string part5 = ".txt";
std::string result;


char sset[40]; // enough to hold all numbers up to 64-bits
char scase[40];
char sc[40];
char siter[40];
sprintf(sset, "%i", setindex);
sprintf(scase, "%i", caseindex);
sprintf(sc, "%i", C);
sprintf(siter, "%i", maxIter);
result = part1 + sset + part2 + scase + part3 + sc + part4 + siter + part5;

pFile = fopen(result.c_str(),"w");
fprintf(pFile,"%i\n",maxIter);
.
.
.

Submitting a job with multiple inputs

The following piece of code changes one of the input parameters (1-5) for 5 runs of the algorithm:

#!/bin/sh -login

#PBS -l walltime=00:10:00,nodes=1,mem=2gb
#PBS -M bucakser@msu.edu
#PBS -m abe
#PBS -t 1-5
#PBS -j oe
#PBS -V
cd ${PBS_O_WORKDIR}

./partial kernel.txt labels.txt alphas_iccv_500.txt 100 ${PBS_ARRAYID} 5