Changeset 35
- Timestamp:
- 04/22/14 16:14:49 (11 years ago)
- Location:
- trunk/slurm_drmaa
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/slurm_drmaa/job.c
r34 r35 666 666 } 667 667 668 /* set defaults for constraints - ref: slurm.h */ 669 fsd_log_debug(("# Setting defaults for tasks and processors" )); 670 job_desc->num_tasks = 1; 671 job_desc->min_cpus = 0; 672 job_desc->cpus_per_task = 0; 673 job_desc->pn_min_cpus = 0; 674 668 675 /* native specification */ 669 676 value = jt->get_attr( jt, DRMAA_NATIVE_SPECIFICATION ); … … 674 681 } 675 682 676 } 677 678 683 } 684 685 -
trunk/slurm_drmaa/session.c
r13 r35 93 93 fsd_job_t *volatile job = NULL; 94 94 char **volatile job_ids = NULL; 95 unsigned n_jobs = 0;95 unsigned n_jobs = 1; 96 96 volatile bool connection_lock = false; 97 97 fsd_environ_t *volatile env = NULL; … … 103 103 104 104 if( start != end ) 105 n_jobs = (end - start) / incr + 1;106 else107 n_jobs = 1;108 109 if( start != end )110 105 { 111 106 unsigned idx, i; 107 108 n_jobs = (end - start) / incr + 1; 112 109 113 110 fsd_calloc( job_ids, n_jobs+1, char* ); … … 125 122 connection_lock = fsd_mutex_unlock( &self->drm_connection_mutex ); 126 123 127 128 124 job_ids[i] = fsd_asprintf("%d",submit_response->job_id); /*TODO */ 129 125 … … 140 136 { 141 137 fsd_calloc( job_ids, n_jobs+1, char* ); 142 138 143 139 connection_lock = fsd_mutex_lock( &self->drm_connection_mutex ); 144 140 slurmdrmaa_job_create_req( self, jt, (fsd_environ_t**)&env , &job_desc, 0); … … 148 144 } 149 145 146 connection_lock = fsd_mutex_unlock( &self->drm_connection_mutex ); 147 150 148 fsd_log_debug(("job %u submitted", submit_response->job_id)); 151 connection_lock = fsd_mutex_unlock( &self->drm_connection_mutex );152 149 153 150 job_ids[0] = fsd_asprintf( "%d", submit_response->job_id); /* .0*/ -
trunk/slurm_drmaa/util.c
r34 r35 118 118 SLURM_NATIVE_CONSTRAINT, 119 119 SLURM_NATIVE_CONTIGUOUS, 120 SLURM_NATIVE_CPUS_PER_TASK, 120 121 SLURM_NATIVE_EXCLUSIVE, 121 122 SLURM_NATIVE_MEM, … … 211 212 job_desc->contiguous = 1; 212 213 break; 214 case SLURM_NATIVE_CPUS_PER_TASK: 215 fsd_log_debug(( "# cpus_per_task = %s", value)); 216 job_desc->cpus_per_task = fsd_atoi(value); 217 break; 213 218 case SLURM_NATIVE_EXCLUSIVE: 214 219 fsd_log_debug(( "# exclusive -> shared = 0")); … … 252 257 job_desc->job_min_cpus = fsd_atoi(value); 253 258 #else 254 fsd_log_debug(("# min_cpus = %s",value));255 job_desc-> min_cpus = fsd_atoi(value);259 fsd_log_debug(("# pn_min_cpus = %s",value)); 260 job_desc->pn_min_cpus = fsd_atoi(value); 256 261 #endif 257 262 break; … … 311 316 fsd_log_debug(("# ntasks = %s",value)); 312 317 job_desc->num_tasks = fsd_atoi(value); 313 slurmdrmaa_add_attribute(job_desc,SLURM_NATIVE_MINCPUS,value);314 318 break; 315 319 case SLURM_NATIVE_TIME_LIMIT: … … 347 351 case SLURM_NATIVE_TMP: 348 352 fsd_log_debug(("# tmp = %s", value)); 349 350 351 352 353 353 #if SLURM_VERSION_NUMBER >= SLURM_VERSION_NUM(2,3,0) 354 job_desc->pn_min_tmp_disk = fsd_atoi(value); 355 #else 356 job_desc->job_min_tmp_disk = fsd_atoi(value); 357 #endif 354 358 break; 355 359 default: … … 365 369 char *ctxt = NULL; 366 370 char * volatile add_attr_copy = fsd_strdup(add_attr); 371 372 fsd_log_enter(( "" )); 367 373 368 374 TRY … … 392 398 slurmdrmaa_add_attribute(job_desc,SLURM_NATIVE_CONTIGUOUS,NULL); 393 399 } 400 else if (strcmp(name,"cpus-per-task") == 0) { 401 slurmdrmaa_add_attribute(job_desc,SLURM_NATIVE_CPUS_PER_TASK,value); 402 } 394 403 else if(strcmp(name,"exclusive") == 0) { 395 404 slurmdrmaa_add_attribute(job_desc,SLURM_NATIVE_EXCLUSIVE,NULL); … … 473 482 } 474 483 END_TRY 484 fsd_log_return(( "" )); 475 485 } 476 486 … … 508 518 slurmdrmaa_add_attribute(job_desc,SLURM_NATIVE_CONSTRAINT, arg); 509 519 break; 520 case 'c' : 521 slurmdrmaa_add_attribute(job_desc,SLURM_NATIVE_CPUS_PER_TASK, arg); 522 break; 510 523 case 'N' : 511 524 slurmdrmaa_add_attribute(job_desc,SLURM_NATIVE_NODES, arg); … … 563 576 FINALLY 564 577 { 578 fsd_log_debug(( "finalizing job constraints" )); 579 if( job_desc->cpus_per_task > 0 ) { 580 job_desc->min_cpus = job_desc->num_tasks * job_desc->cpus_per_task ; 581 fsd_log_debug(( 582 "set min_cpus to ntasks*cpus_per_task: %d", 583 job_desc->min_cpus 584 )); 585 } else { 586 job_desc->min_cpus = job_desc->num_tasks ; 587 fsd_log_debug(( 588 "set min_cpus to ntasks: %d", 589 job_desc->min_cpus 590 )); 591 } 565 592 fsd_free(native_spec_copy); 566 593 fsd_free(native_specification);
Note: See TracChangeset
for help on using the changeset viewer.