blob: 13cd0960d07cc2d180ad0aad9806b84c9d7dbf9a (
plain) (
blame)
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
|
# Simple example to showcase distributed tests using NixOS VMs.
import ./make-test.nix {
nodes = {
master =
{ config, pkgs, ... }: {
environment.systemPackages = [ gcc mpich2 ];
#boot.kernelPackages = pkgs.kernelPackages_2_6_29;
};
slave =
{ config, pkgs, ... }: {
environment.systemPackages = [ gcc mpich2 ];
};
};
# Start master/slave MPI daemons and compile/run a program that uses both
# nodes.
testScript =
''
startAll;
$master->succeed("echo 'MPD_SECRETWORD=secret' > /etc/mpd.conf");
$master->succeed("chmod 600 /etc/mpd.conf");
$master->succeed("mpd --daemon --ifhn=master --listenport=4444");
$slave->succeed("echo 'MPD_SECRETWORD=secret' > /etc/mpd.conf");
$slave->succeed("chmod 600 /etc/mpd.conf");
$slave->succeed("mpd --daemon --host=master --port=4444");
$master->succeed("mpicc -o example -Wall ${./mpich-example.c}");
$slave->succeed("mpicc -o example -Wall ${./mpich-example.c}");
$master->succeed("mpiexec -n 2 ./example >&2");
'';
}
|