#include #include #include #define CHAR_BUFFER 256 int createBulkCmd(char *prog, char *params, char *addr, size_t adrrLength, int start, int end, int incr) { int i,count = (end-start+1)/incr; FILE * fd; fd = fopen(addr,"wx"); if(fd!=NULL) { fprintf(fd,"# File created by LoadLeveler DRMAA. If no LL DRMAA aplications are running you can delete this file\n"); fprintf(fd,"# @ initialdir = %s\n","/home/mamon/michal/5_2_bulk"); fprintf(fd,"# @ executable = %s\n",prog); fprintf(fd,"# @ arguments = %s\n",params); fprintf(fd,"# @ output = $(executable).$(jobid).$(stepid).out\n"); //stepname? fprintf(fd,"# @ error = $(executable).$(jobid).$(stepid).err\n"); fprintf(fd,"# @ job_type = parallel\n"); for(i=0;i [params] \n"); exit(1); } prog=mktemp(templateCmd); if(argc==6) createBulkCmd(argv[1],argv[5],prog,CHAR_BUFFER,atoi(argv[2]),atoi(argv[3]),atoi(argv[4])); else createBulkCmd(argv[1],"",prog,CHAR_BUFFER,atoi(argv[2]),atoi(argv[3]),atoi(argv[4])); status = llsubmit(prog,NULL,NULL,&test,LL_JOB_VERSION); remove(prog); printf("submitted bulk job with jobids:\n"); for(i=0;istep_name); llfree_job_info(&test,LL_JOB_VERSION); return 0; }