Before discussing how to submit jobs, we need to create a sample program we are going to run on the grid. To compile the short c++ programme below, first save it (on the gridui) in a file simple.cc as well as save the file input.txt below. Then run
g++ -std=c++0x simple.cc -o simple
and to execute the program
./simple input.txt
This produces the file output.txt with content identical to input.txt
#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
//**
// This is a simple c++ program for grid tutorial.
// This program takes a text file as an input and
// saves a number from the first line to another
// file.
//
// To compile run: g++ -std=c++0x simple.cc -o simple
//
// Notice the -std=c++0x flag which you need if you use
// the defaul (old) c++ compiler on gridui.
//**
int main(int argc, char **argv)
{
std::string infile = argv[1];
std::ifstream myfile;
myfile.open(infile);
if(myfile.is_open()){
std::ofstream outfile("output.txt");
std::string line;
while(std::getline(myfile,line)){
// Here we assume that the input file is valid
// and contains a number per line.
std::istringstream stream(line);
int numb;
stream >> numb;
outfile << numb << std::endl;
}
outfile.close();
}else{
std::cerr << "No input file found" << std::endl;
exit (EXIT_FAILURE);
}
return 0;
}
1 2 3 4