Skip to content

Commit

Permalink
This commit was manufactured by cvs2svn to create tag
Browse files Browse the repository at this point in the history
'slurm-0-4-15-1'.
  • Loading branch information
no author committed Mar 25, 2005
1 parent 5ab7088 commit 0ad0e3d
Show file tree
Hide file tree
Showing 23 changed files with 1,126 additions and 771 deletions.
4 changes: 2 additions & 2 deletions META
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
Name: slurm
Major: 0
Minor: 4
Micro: 6
Version: 0.4.6
Micro: 15
Version: 0.4.15
Release: 1
API_CURRENT: 6
API_AGE: 4
Expand Down
40 changes: 39 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
@@ -1,9 +1,47 @@
This file describes changes in recent versions of SLURM. It primarily
documents those changes that are of interest to users and admins.

* Changes in SLURM 0.4.15
========================
-- Added error checking to a bunch of Bridge API calls and more
gracefully handle failure modes.

* Changes in SLURM 0.4.14
========================
-- job state is kept on warm start of slurm

* Changes in SLURM 0.4.13
========================
-- epilog fix for bgl plugin

* Changes in SLURM 0.4.12
========================
-- bug shot for new api calls.
-- added BridgeAPILogFile as an option for bluegene.conf file

* Changes in SLURM 0.4.11
========================
-- changed as many rm_get_partition() to rm_get_partitions_info as we could
for time saving.

* Changes in SLURM 0.4.10
========================
-- redesign for BGL external wiring.
-- smap display bug fix for smaller systems.

* Changes in SLURM 0.4.9
========================
-- setpnum works now, have to include this in bluegene.conf

* Changes in SLURM 0.4.8
========================
-- Changed the prolog and the epilog to use the env var MPIRUN_PARTITION
instead of BGL_PARTITION_ID

* Changes in SLURM 0.4.7
========================
-- Remove some BGL specific headers that IBM now distributes.
-- Remove some BGL specific headers that IBM now distributes, NOTE
BGL driver 080 or greater required.
-- Change autogen.sh to deal with problems running autoconf on one
system and configure on another with different software versions.

Expand Down
2 changes: 1 addition & 1 deletion auxdir/x_ac_bgl.m4
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ AC_DEFUN([X_AC_BGL],
fi
have_bgl_ar=yes
bgl_ldflags="$bgl_ldflags -Wl,-rpath $bgl_dir/lib -Wl,-L$bgl_dir/lib -Wl,-whole-archive -Wl,-lbglbridge -Wl,-no-whole-archive $bgl_dir/lib/bglbootload.a $bgl_dir/lib/bglsp440supt.a -lbgldb -lbglmachine -ltableapi -lexpat -lbglsp"
bgl_ldflags="$bgl_ldflags -Wl,-rpath $bgl_dir/lib -Wl,-L$bgl_dir/lib -Wl,-whole-archive -Wl,-lbglbridge -Wl,-no-whole-archive $bgl_dir/lib/bglbootload.a $bgl_dir/lib/bglsp440supt.a -lsaymessage -lbgldb -lbglmachine -ltableapi -lexpat -lbglsp"
fi
# Search for required DB2 library in the directory
Expand Down
6 changes: 3 additions & 3 deletions doc/html/bluegene.html
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ <h3>User Tools</h3>
The script that you submit to SLURM can contain multiple invocations of mpirun as
well as any desired commands for pre- and post-processing.
The mpirun command will get its <i>bglblock</i> or BGL partition information from the
<i>BGL_PARTITION_ID</i> as set by SLURM. A sample script is shown below.
<i>MPIRUN_PARTITION</i> as set by SLURM. A sample script is shown below.
<pre>
#!/bin/bash
# pre-processing
Expand Down Expand Up @@ -185,11 +185,11 @@ <h3>System Administration</h3>
and interfaces.
The value of <i>SchedulerType</i> should be set to "sched/builtin".
The value of <i>Prolog</i> should be set to a program that will delay
execution until the bglblock identified by the BGL_PARTITION_ID environment
execution until the bglblock identified by the MPIRUN_PARTITION environment
variable is ready for use. It is recommended that you construct a script
that serves this function and calls the supplied program <i>slurm_prolog</i>.
The value of <i>Epilog</i> should be set to a program that will wait
until the bglblock identified by the BGL_PARTITION_ID environment
until the bglblock identified by the MPIRUN_PARTITION environment
variable has been freed. It is recommended that you construct a script
that serves this function and calls the supplied program <i>slurm_epilog</i>.
The prolog and epilog programs are used to insure proper synchronization
Expand Down
21 changes: 17 additions & 4 deletions etc/bluegene.conf.example
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,30 @@
# LinuxImage: LinuxImage used for creation of all bglblocks.
# MloaderImage: MloaderImage used for creation of all bglblocks.
# RamDiskImage: RamDiskImage used for creation of all bglblocks.
# ChangeNumpsets: Script to reset a created bglblock's Numpsets value.
# Will be removed when an API is available for this.
# Default value uses half of available I/O nodes.
# Numpsets: The Numpsets used for creation of all bglblocks
# equals this value multiplied by the number of
# base partitions in the bglblock.
#
# BridgeAPILogFile : Pathname of file in which to write the BGL
# Bridge API logs.
# BridgeAPIVerbose: How verbose the BGL Bridge API logs should be
# 0: Log only error and warning messages
# 1: Log level 0 and information messasges
# 2: Log level 1 and basic debug messages
# 3: Log level 2 and more debug message
# 4: Log all messages
#
# NOTE: The bgl_serial value is set at configuration time using the
# "--with-bgl-serial=" option. Its default value is "BGL".
#
BlrtsImage=/bgl/BlueLight/ppcfloor/bglsys/bin/rts_hw.rts
LinuxImage=/bgl/BlueLight/ppcfloor/bglsys/bin/zImage.elf
MloaderImage=/bgl/BlueLight/ppcfloor/bglsys/bin/mmcs-mloader.rts
RamDiskImage=/bgl/BlueLight/ppcfloor/bglsys/bin/ramdisk.elf
#ChangeNumpsets=/etc/slurm/change_numpsets
Numpsets=8
#
BridgeAPILogFile=/var/log/slurm/bridgeapi.log
BridgeAPIVerbose=0

#
# Define the static partitions (bglblocks)
Expand Down
2 changes: 1 addition & 1 deletion src/partition_allocator/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ INCLUDES = -I$(top_srcdir) $(BGL_INCLUDES)
# $(top_builddir)/src/api/libslurm.la

# partition_allocator_LDFLAGS = -export-dynamic -lm $(CMD_LDFLAGS) $(BGL_LDFLAGS)
# CPPFLAGS = -DBUILD_EXE
# CPPFLAGS = -DBUILD_EXE

# making a .la
noinst_LTLIBRARIES = libpartition_allocator.la
Expand Down
121 changes: 50 additions & 71 deletions src/partition_allocator/partition_allocator.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,7 @@ static void _switch_config(pa_node_t* source, pa_node_t* target, int dim,
int port_src, int port_tar);
/* */
static void _set_external_wires(int dim, int count, pa_node_t* source,
pa_node_t* target_1, pa_node_t* target_2,
pa_node_t* target_first, pa_node_t* target_second);
pa_node_t* target_1, pa_node_t* target_2);
/* */
static char *_set_internal_wires(List nodes, int size, int conn_type);

Expand Down Expand Up @@ -474,7 +473,7 @@ void pa_init(node_info_msg_t *node_info_ptr)
_create_pa_system();

pa_system_ptr->fill_in_value = (pa_node_t *)
xmalloc(sizeof(pa_node_t) * pa_system_ptr->num_of_proc);
xmalloc(sizeof(pa_node_t) * 128);

init_grid(node_info_ptr);

Expand Down Expand Up @@ -985,7 +984,7 @@ static int _create_config_even(pa_node_t *grid)

#if HAVE_BGL
int y,z;
pa_node_t *target_2, *target_first, *target_second;
pa_node_t *target_2;
for(x=0;x<DIM_SIZE[X];x++) {
for(y=0;y<DIM_SIZE[Y];y++) {
for(z=0;z<DIM_SIZE[Z];z++) {
Expand All @@ -999,31 +998,23 @@ static int _create_config_even(pa_node_t *grid)
target_2 = &grid[x+2][y][z];
else
target_2 = target_1;
target_first = &grid[0][y][z];
if (DIM_SIZE[X] > 1)
target_second = &grid[1][y][z];
else
target_second = target_first;
_set_external_wires(X, x, source,
target_1, target_2,
target_first, target_second);
target_1, target_2);

if(y<(DIM_SIZE[Y]-1))
target_1 = &grid[x][y+1][z];
else
target_1 = &grid[x][0][z];

_set_external_wires(Y, y, source,
target_1, NULL,
NULL, NULL);
target_1, NULL);
if(z<(DIM_SIZE[Z]-1))
target_1 = &grid[x][y][z+1];
else
target_1 = &grid[x][y][0];

_set_external_wires(Z, z, source,
target_1, NULL,
NULL, NULL);
target_1, NULL);
}
}
}
Expand Down Expand Up @@ -1051,8 +1042,7 @@ static int _create_config_even(pa_node_t *grid)
target_1 = &grid[x+1];

_set_external_wires(X, x, source,
target_1, NULL,
NULL, NULL);
target_1, NULL);
}
#endif
return 1;
Expand Down Expand Up @@ -1434,8 +1424,7 @@ static void _switch_config(pa_node_t* source, pa_node_t* target, int dim,
}

static void _set_external_wires(int dim, int count, pa_node_t* source,
pa_node_t* target_1, pa_node_t* target_2,
pa_node_t* target_first, pa_node_t* target_second)
pa_node_t* target_1, pa_node_t* target_2)
{
_switch_config(source, source, dim, 0, 0);
_switch_config(source, source, dim, 1, 1);
Expand All @@ -1445,47 +1434,46 @@ static void _set_external_wires(int dim, int count, pa_node_t* source,
_switch_config(source, source, dim, 4, 4);
return;
}

if(count==0) {
/* First Node */
/* First Even Node */
/* 4->3 of next */
_switch_config(source, target_1, dim, 4, 3);
/* 2->5 of next */
_switch_config(source, target_1, dim, 2, 5);
/* 3->4 of next even */
_switch_config(source, target_2, dim, 3, 4);
if(DIM_SIZE[dim]<4) {
/* 5->2 of next even */
_switch_config(source, target_2, dim, 5, 2);

}

/* 5->2 of next */
_switch_config(source, target_1, dim, 5, 2);
/* 2->5 of next even */
_switch_config(source, target_2, dim, 2, 5);

} else if(!(count%2)) {
if(count<DIM_SIZE[dim]-2) {
/* Not Last Even Node */
/* 3->4 of next even */
_switch_config(source, target_2, dim, 3, 4);
/* 2->5 of next */
_switch_config(source, target_1, dim, 2, 5);
/* 5->2 of next */
_switch_config(source, target_1, dim, 5, 2);
/* 3->4 of next */
_switch_config(source, target_1, dim, 3, 4);
/* 4->3 of next */
_switch_config(source, target_1, dim, 4, 3);
/* 2->5 of next even */
_switch_config(source, target_2, dim, 2, 5);
/* 5->2 of next even */
_switch_config(source, target_2, dim, 5, 2);

} else {
/* Last Even Node */
/* 3->4 of next */
_switch_config(source, target_1, dim, 3, 4);
/* 5->2 of next */
_switch_config(source, target_1, dim, 5, 2);
/* 2->5 of first */
_switch_config(source, target_first, dim, 2, 5);
/* 2->5 of previous */
/********** fix me: on the full system this is needed ******/
//_switch_config(source, target_1, dim, 2, 5);
/********** fix me: not this ******/
_switch_config(source, target_1, dim, 4, 3);
}
} else {
if(count<DIM_SIZE[dim]-2) {
/* Not Last Odd Node */
/* 4->3 of next odd */
_switch_config(source, target_2, dim, 4, 3);
/* 5->2 of next odd */
_switch_config(source, target_2, dim, 5, 2);
} else {
/* Last Odd Node */
/* 5->2 of second */
_switch_config(source, target_second, dim, 5, 2);
/* nothing */
}
}
}
Expand Down Expand Up @@ -1891,42 +1879,33 @@ int main(int argc, char** argv)
List results;
// List results2;
// int i,j;
DIM_SIZE[X]=8;
DIM_SIZE[X]=4;
DIM_SIZE[Y]=1;
DIM_SIZE[Z]=1;
pa_init(NULL);
loc = find_bp_loc("R171");
printf("The loc is %d%d%d\n",loc[X],loc[Y],loc[Z]);
if((loc = find_bp_loc("R178")))
printf("The loc is %d%d%d\n",loc[X],loc[Y],loc[Z]);
else
printf("This doesn't exsist!\n");
exit(0);

/* request->rotate = true; */
/* request->elongate = true; */
/* request->force_contig = true; */
/* request->co_proc = true; */
/* request->geometry[0]=-1; */

results = list_create(NULL);
request->geometry[0] = -1;
request->size = 1; //atoi(argv[1]);
request->conn_type = TORUS;
new_pa_request(request);
print_pa_request(request);
allocate_part(request, results);


results = list_create(NULL);
request->geometry[0] = 5;
request->geometry[0] = 4;
request->geometry[1] = 1;
request->geometry[2] = 1;
request->size = -1; //atoi(argv[1]);
request->conn_type = MESH;
request->size = 4;
request->conn_type = TORUS;
new_pa_request(request);
print_pa_request(request);
allocate_part(request, results);

/* results = list_create(NULL); */
/* request->geometry[0] = 5; */
/* request->geometry[1] = 1; */
/* request->geometry[2] = 1; */
/* request->size = -1; //atoi(argv[1]); */
/* request->conn_type = MESH; */
/* new_pa_request(request); */
/* print_pa_request(request); */
/* allocate_part(request, results); */

int dim,j;
int x,y,z;
int startx=0;
Expand Down Expand Up @@ -1955,11 +1934,11 @@ int main(int argc, char** argv)
}
}
}
list_destroy(results);
/* list_destroy(results); */

pa_fini();
/* pa_fini(); */

delete_pa_request(request);
/* delete_pa_request(request); */

return 0;
}
Expand Down
Loading

0 comments on commit 0ad0e3d

Please sign in to comment.