Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Slurm
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
tud-zih-energy
Slurm
Commits
87a9ab36
Commit
87a9ab36
authored
15 years ago
by
Moe Jette
Browse files
Options
Downloads
Patches
Plain Diff
Eliminate core_bitmap use from job and step for bluegene systems.
parent
6e0a4c1c
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
src/common/select_job_res.c
+9
-3
9 additions, 3 deletions
src/common/select_job_res.c
src/plugins/select/bluegene/plugin/bg_job_place.c
+7
-1
7 additions, 1 deletion
src/plugins/select/bluegene/plugin/bg_job_place.c
src/slurmctld/step_mgr.c
+11
-4
11 additions, 4 deletions
src/slurmctld/step_mgr.c
with
27 additions
and
8 deletions
src/common/select_job_res.c
+
9
−
3
View file @
87a9ab36
...
...
@@ -116,11 +116,13 @@ extern int build_select_job_res(select_job_res_t select_job_res,
select_job_res
->
sock_core_rep_count
[
sock_inx
]
++
;
core_cnt
+=
(
cores
*
socks
);
}
#ifndef HAVE_BG
select_job_res
->
core_bitmap
=
bit_alloc
(
core_cnt
);
select_job_res
->
core_bitmap_used
=
bit_alloc
(
core_cnt
);
if
((
select_job_res
->
core_bitmap
==
NULL
)
||
(
select_job_res
->
core_bitmap_used
==
NULL
))
fatal
(
"bit_alloc malloc failure"
);
#endif
return
SLURM_SUCCESS
;
}
...
...
@@ -524,8 +526,6 @@ extern void pack_select_job_res(select_job_res_t select_job_res_ptr,
return
;
}
xassert
(
select_job_res_ptr
->
core_bitmap
);
xassert
(
select_job_res_ptr
->
core_bitmap_used
);
xassert
(
select_job_res_ptr
->
cores_per_socket
);
xassert
(
select_job_res_ptr
->
cpus
);
xassert
(
select_job_res_ptr
->
nhosts
);
...
...
@@ -583,6 +583,9 @@ extern void pack_select_job_res(select_job_res_t select_job_res_ptr,
pack32_array
(
select_job_res_ptr
->
sock_core_rep_count
,
(
uint32_t
)
i
,
buffer
);
#ifndef HAVE_BG
xassert
(
select_job_res_ptr
->
core_bitmap
);
xassert
(
select_job_res_ptr
->
core_bitmap_used
);
pack32
(
core_cnt
,
buffer
);
xassert
(
core_cnt
==
bit_size
(
select_job_res_ptr
->
core_bitmap
));
pack_bit_fmt
(
select_job_res_ptr
->
core_bitmap
,
buffer
);
...
...
@@ -590,13 +593,14 @@ extern void pack_select_job_res(select_job_res_t select_job_res_ptr,
pack_bit_fmt
(
select_job_res_ptr
->
core_bitmap_used
,
buffer
);
/* Do not pack the node_bitmap, but rebuild it in reset_node_bitmap()
* based upon job_ptr->nodes and the current node table */
#endif
}
extern
int
unpack_select_job_res
(
select_job_res_t
*
select_job_res_pptr
,
Buf
buffer
)
{
char
*
bit_fmt
=
NULL
;
uint32_t
core_cnt
,
empty
,
tmp32
;
uint32_t
core_cnt
=
0
,
empty
,
tmp32
;
select_job_res_t
select_job_res
;
xassert
(
select_job_res_pptr
);
...
...
@@ -645,6 +649,7 @@ extern int unpack_select_job_res(select_job_res_t *select_job_res_pptr,
safe_unpack32_array
(
&
select_job_res
->
sock_core_rep_count
,
&
tmp32
,
buffer
);
#ifndef HAVE_BG
safe_unpack32
(
&
core_cnt
,
buffer
);
/* NOTE: Not part of struct */
safe_unpackstr_xmalloc
(
&
bit_fmt
,
&
tmp32
,
buffer
);
select_job_res
->
core_bitmap
=
bit_alloc
((
bitoff_t
)
core_cnt
);
...
...
@@ -658,6 +663,7 @@ extern int unpack_select_job_res(select_job_res_t *select_job_res_pptr,
xfree
(
bit_fmt
);
/* node_bitmap is not packed, but rebuilt in reset_node_bitmap()
* based upon job_ptr->nodes and the current node table */
#endif
*
select_job_res_pptr
=
select_job_res
;
return
SLURM_SUCCESS
;
...
...
This diff is collapsed.
Click to expand it.
src/plugins/select/bluegene/plugin/bg_job_place.c
+
7
−
1
View file @
87a9ab36
...
...
@@ -1308,9 +1308,15 @@ static void _build_select_struct(struct job_record *job_ptr, bitstr_t *bitmap)
}
else
select_ptr
->
cpu_array_reps
[
k
]
++
;
total_cpus
+=
node_cpus
;
#if 0
/* This function could be used to control allocation of
* specific c-nodes for multiple job steps per job allocation.
* Such functionality is not currently support on BlueGene
* systems.
* Also see #ifdef HAVE_BG logic in common/select_job_res.c */
if (set_select_job_res_node(select_ptr, j))
error("select_p_job_test: set_select_job_res_node: %m");
#endif
j
++
;
}
if
(
select_ptr
->
nprocs
!=
total_cpus
)
{
...
...
This diff is collapsed.
Click to expand it.
src/slurmctld/step_mgr.c
+
11
−
4
View file @
87a9ab36
...
...
@@ -952,8 +952,6 @@ extern void step_alloc_lps(struct step_record *step_ptr)
bool
pick_step_cores
=
true
;
xassert
(
select_ptr
);
xassert
(
select_ptr
->
core_bitmap
);
xassert
(
select_ptr
->
core_bitmap_used
);
xassert
(
select_ptr
->
cpus
);
xassert
(
select_ptr
->
cpus_used
);
...
...
@@ -965,6 +963,11 @@ extern void step_alloc_lps(struct step_record *step_ptr)
if
(
i_first
==
-
1
)
/* empty bitmap */
return
;
#ifdef HAVE_BG
pick_step_cores
=
false
;
#else
xassert
(
select_ptr
->
core_bitmap
);
xassert
(
select_ptr
->
core_bitmap_used
);
if
(
step_ptr
->
core_bitmap_job
)
{
/* "scontrol reconfig" of live system */
pick_step_cores
=
false
;
...
...
@@ -975,6 +978,7 @@ extern void step_alloc_lps(struct step_record *step_ptr)
step_ptr
->
core_bitmap_job
=
bit_copy
(
select_ptr
->
core_bitmap
);
pick_step_cores
=
false
;
}
#endif
if
(
step_ptr
->
mem_per_task
&&
((
select_ptr
->
memory_allocated
==
NULL
)
||
...
...
@@ -1071,8 +1075,6 @@ static void _step_dealloc_lps(struct step_record *step_ptr)
int
job_node_inx
=
-
1
,
step_node_inx
=
-
1
;
xassert
(
select_ptr
);
xassert
(
select_ptr
->
core_bitmap
);
xassert
(
select_ptr
->
core_bitmap_used
);
xassert
(
select_ptr
->
cpus
);
xassert
(
select_ptr
->
cpus_used
);
...
...
@@ -1133,6 +1135,10 @@ static void _step_dealloc_lps(struct step_record *step_ptr)
if
(
step_node_inx
==
(
step_ptr
->
step_layout
->
node_cnt
-
1
))
break
;
}
#ifndef HAVE_BG
xassert
(
select_ptr
->
core_bitmap
);
xassert
(
select_ptr
->
core_bitmap_used
);
if
(
step_ptr
->
core_bitmap_job
)
{
/* Mark the job's cores as no longer in use */
bit_not
(
step_ptr
->
core_bitmap_job
);
...
...
@@ -1141,6 +1147,7 @@ static void _step_dealloc_lps(struct step_record *step_ptr)
/* no need for bit_not(step_ptr->core_bitmap_job); */
FREE_NULL_BITMAP
(
step_ptr
->
core_bitmap_job
);
}
#endif
}
/*
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment