Exemplo n.º 1
0
int wavefront_task_submit_recursive( struct wavefront_task *n )
{
	int i,j;

	char command[PATH_MAX];
	char filename[PATH_MAX];
	char extra_output_files[PATH_MAX];
	char *extra_input_files=NULL;

	string_nformat(command, PATH_MAX, "./wavefront -M -X %d -Y %d ./%s %d %d >output.%d.%d 2>&1", n->x,n->y,function,n->width,n->height,n->x,n->y);
	string_nformat(extra_output_files, PATH_MAX, "output.%d.%d",n->x,n->y);
	extra_input_files = string_format("wavefront,%s",function);

	for(i=-1;i<n->width;i++) {
		string_nformat(filename, PATH_MAX, "R.%d.%d", n->x+i,n->y-1);
		extra_input_files=string_combine(extra_input_files, ",");
		extra_input_files=string_combine(extra_input_files, filename);
	}

	for(j=0;j<n->height;j++) {
		string_nformat(filename, PATH_MAX, "R.%d.%d",n->x-1,n->y+j);
		extra_input_files=string_combine(extra_input_files, ",");
		extra_input_files=string_combine(extra_input_files, filename);
	}

	batch_job_id_t job_id = batch_job_submit_simple(batch_q,command,extra_input_files,extra_output_files);
	free(extra_input_files);
	
	return job_id;
}
Exemplo n.º 2
0
int wavefront_task_submit_recursive( struct wavefront_task *n )
{
	int i,j;

	char extra_input_files[PATH_MAX*100];
	char extra_output_files[PATH_MAX];
	char command[PATH_MAX];
	char filename[PATH_MAX];

	sprintf(command,"./wavefront -M -X %d -Y %d ./%s %d %d >output.%d.%d 2>&1",n->x,n->y,function,n->width,n->height,n->x,n->y);
	sprintf(extra_output_files,"output.%d.%d",n->x,n->y);
	sprintf(extra_input_files,"wavefront,%s",function);

	for(i=-1;i<n->width;i++) {
		strcat(extra_input_files,",");
		sprintf(filename,"R.%d.%d",n->x+i,n->y-1);
		strcat(extra_input_files,filename);
	}

	for(j=0;j<n->height;j++) {
		strcat(extra_input_files,",");
		sprintf(filename,"R.%d.%d",n->x-1,n->y+j);
		strcat(extra_input_files,filename);
	}

	return batch_job_submit_simple(batch_q,command,extra_input_files,extra_output_files);
}
Exemplo n.º 3
0
int wavefront_task_submit_single( struct wavefront_task *n )
{
	char command[PATH_MAX * 5]; //Ugly, fix, should be the value from sysconf(ARG_MAX)
	char leftfile[PATH_MAX];
	char bottomfile[PATH_MAX];
	char diagfile[PATH_MAX];
	char extra_input_files[PATH_MAX*4];

	string_nformat(leftfile,   PATH_MAX, "R.%d.%d", n->x-1, n->y);
	string_nformat(bottomfile, PATH_MAX, "R.%d.%d", n->x,   n->y-1);
	string_nformat(diagfile,   PATH_MAX, "R.%d.%d", n->x-1, n->y-1);

	string_nformat(extra_input_files, PATH_MAX*4, "%s,%s,%s,%s", function,leftfile,bottomfile,diagfile);

	string_nformat(command, PATH_MAX * 5, "./%s %s %s %s >R.%d.%d", function,leftfile,bottomfile,diagfile,n->x,n->y);

	return batch_job_submit_simple(batch_q,command,extra_input_files,0);
}
Exemplo n.º 4
0
int wavefront_task_submit_single( struct wavefront_task *n )
{
	char command[PATH_MAX];
	char leftfile[PATH_MAX];
	char bottomfile[PATH_MAX];
	char diagfile[PATH_MAX];
	char extra_input_files[PATH_MAX*4];

	sprintf(leftfile,"R.%d.%d",n->x-1,n->y);
	sprintf(bottomfile,"R.%d.%d",n->x,n->y-1);
	sprintf(diagfile,"R.%d.%d",n->x-1,n->y-1);

	sprintf(extra_input_files,"%s,%s,%s,%s",function,leftfile,bottomfile,diagfile);

	sprintf(command,"./%s %s %s %s >R.%d.%d",function,leftfile,bottomfile,diagfile,n->x,n->y);

	return batch_job_submit_simple(batch_q,command,extra_input_files,0);
}