-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathSCON_Build_Test_Recipe
81 lines (61 loc) · 4.47 KB
/
SCON_Build_Test_Recipe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
SCON Build and Install Recipe
The following steps are required to build and install SCON for the first drop.
Dependencies: SCON depends on a resource manager that supports PMIx (PMIx server support) for launch of SCON test program and
and for wire-up.
SCON has been tested and verified to work with the PMIx refernce server available on: https://github.com/pmix/pmix-reference-server
For testing SCON with another PMIx supported RM, replace the PMIx reference server specific steps with that RM specific setup.
Building and Install SCON
Step 1: Obtain SCON from git. git clone https://github.com/annu13/SCON.git
Step 2: Setup PMIx Reference Server (See PMIx Reference Server Setup Instructions below)
Step 3: Set up $PATH and $LD_LIBRARY_PATH env vars
a: export PATH = $PATH:<pmix-reference-server_install_dir>/bin
b: export LD_LIBRARY_PATH = <pmix-reference-server_install_dir>/lib
Step 4: Cd to SCON directory and run ./autogen.pl
Step 5: ./configure --prefix = <SCON_install_dir> --with-pmix=<pmix-reference-server_install_dir> CC=pcc
Step 6: make install
Step 7: Verify libscon.la is built and installed in the <SCON_install_dir>/lib directory. You will also find a scon subdir which contains
scon_mca_<framework>_<component>.la libraries. The include directory should contain two header files scon.h and scon_common.h
TESTING SCON
Step 1: Cd to <pmix-reference-server_install_dir>/bin dir and run psrvr
a: Obtained an allocation if needed (salloc -N <num_nodes>)
b: run psrvr daemon by either specifying a hostfile or listing the hosts on the cmd line:
./psrvr -host <host1>:<nslots>, <host2>:<nslots>
eg: ./psrvr -host localhost:16 - launch a max of 16 processes
./psrvr -host ipaddress1:4, ipaddress2:4, ipaddress:16 - launches a max of 24 processes.
Note: This command must be run in the same terminal window where the session was allocated.
Step 2: Open a new terminal and cd to <SCON>/test (the SCON source dir/test>
a: set up the env vars PATH and LD_LIBRARY_PATH as above:
export PATH = $PATH:<pmix-reference-server_install_dir>/bin
export LD_LIBRARY_PATH = <pmix-reference-server_install_dir>/lib
b: launch the SCON test program using prun:
prun -N <num_ranks> <test_init>
prun -N 4 ./test_init
c: Verify that the test job is launced with the specified ranks and the SCON test is executed.
Note: For this to work on localhost setup env var PMIX_SERVER_TMPDIR to the tmp dir path/dvm before running prun.
export PMIX_SERVER_TMPDIR=<tmp_DIR>/dvm.
d: Notice that the test programs emit limited debug output indicating successful operation. To test additional
configuration you can modify the existing tests or add new ones and build it by running make install.
PMIx Reference Server Install Instructions
Step 1: git clone https://github.com/pmix/pmix-reference-server.git or download the latest source tar ball.
Step2 : Build pmix-reference-server following its build recipe. Below are the highlevel steps:
a: ./autogen.pl
b: ./configure --prefix=<pmix-reference-server_install_dir> --enable-orterun-prefix-by-default (recommend using a prefix dir instead
of installing in standard directories)
c: make install
Step3 : Verify the install by running the pmix-reference-server examples in the examples dir.
a: export PATH = $PATH:<pmix-reference-server_install_dir>/bin
b: export LD_LIBRARY_PATH = <pmix-reference-server_install_dir>/lib
c: cd to <pmix-reference-server_install_dir>/bin
d: Obtained an allocation if needed (salloc -N <num_nodes>)
e: run psrvr daemon by either specifying a hostfile or listing the hosts on the cmd line:
./psrvr -host <host1>:<nslots>, <host2>:<nslots>
eg: ./psrvr -host localhost:16 - launch a max of 16 processes
./psrvr -host ipaddress1:4, ipaddress2:4, ipaddress:16 - launches a max of 24 processes.
Note: This command must be run in the same terminal window where the session was allocated
f: Open a new terminal and set the PATH and LD_LIBRARY_PATH env vars as in steps a & b above
g: cd to examples dir, launch a test program using prun:
prun -N <num_ranks> <test_program>
prun -N 4 ./client
h: Verify that a job with the specified ranks is launched and the client app is executed.
Note: For this to work on localhost setup env var PMIX_SERVER_TMPDIR to the tmp dir path/dvm before running prun.
export PMIX_SERVER_TMPDIR=<tmp_DIR>/dvm.