|
Lines 172-177
void batch_bind(batch_job_launch_msg_t *req)
Link Here
|
| 172 |
uint16_t sockets = 0, cores = 0, num_cpus; |
172 |
uint16_t sockets = 0, cores = 0, num_cpus; |
| 173 |
int task_cnt = 0; |
173 |
int task_cnt = 0; |
| 174 |
int job_node_id; |
174 |
int job_node_id; |
|
|
175 |
int start; |
| 175 |
|
176 |
|
| 176 |
if (slurm_cred_get_args(req->cred, &arg) != SLURM_SUCCESS) { |
177 |
if (slurm_cred_get_args(req->cred, &arg) != SLURM_SUCCESS) { |
| 177 |
error("job lacks a credential"); |
178 |
error("job lacks a credential"); |
|
Lines 185-195
void batch_bind(batch_job_launch_msg_t *req)
Link Here
|
| 185 |
return; |
186 |
return; |
| 186 |
} |
187 |
} |
| 187 |
|
188 |
|
| 188 |
/* |
189 |
start = _get_local_node_info(&arg, job_node_id, &sockets, &cores); |
| 189 |
* We have already checked the job_node_id above, no need to check the |
|
|
| 190 |
* return code here. |
| 191 |
*/ |
| 192 |
(void) _get_local_node_info(&arg, job_node_id, &sockets, &cores); |
| 193 |
if ((sockets * cores) == 0) { |
190 |
if ((sockets * cores) == 0) { |
| 194 |
error("%s: socket and core count both zero", __func__); |
191 |
error("%s: socket and core count both zero", __func__); |
| 195 |
slurm_cred_free_args(&arg); |
192 |
slurm_cred_free_args(&arg); |
|
Lines 219-225
void batch_bind(batch_job_launch_msg_t *req)
Link Here
|
| 219 |
* physically exist than are configured (slurmd is out of |
216 |
* physically exist than are configured (slurmd is out of |
| 220 |
* sync with the slurmctld daemon). */ |
217 |
* sync with the slurmctld daemon). */ |
| 221 |
for (p = 0; p < (sockets * cores); p++) { |
218 |
for (p = 0; p < (sockets * cores); p++) { |
| 222 |
if (bit_test(arg.job_core_bitmap, p)) |
219 |
if (bit_test(arg.job_core_bitmap, start + p)) |
| 223 |
bit_set(req_map, (p % num_cpus)); |
220 |
bit_set(req_map, (p % num_cpus)); |
| 224 |
} |
221 |
} |
| 225 |
|
222 |
|
| 226 |
- |
|
|