Skip to content

Commit bea2ec1

Browse files
authored
Merge pull request #75 from gvallee/mpi_manifest
Finish support for Manifest and base images from the library
2 parents 365331a + 5b89e85 commit bea2ec1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+705
-745
lines changed

README.syvalidate.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ The tool achieves this by installing a specific version of MPI on the host and a
5555
(currently based on Ubuntu) with a specific version of MPI that will run certain MPI programs within it to test the comptibility.
5656

5757
The version of a given MPI implementation to be used throughout an experiment is defined in a configuration file. For example, a
58-
default configuration file for Open MPI is available in `etc/openmpi.conf` and a default configuration file for MPICH is available
59-
in `etc/mpich.conf`. Users *must* specify the configuration file on the command line when running the tool (see examples).
58+
default configuration file for Open MPI is available in `etc/sympi_openmpi.conf` and a default configuration file for MPICH is available
59+
in `etc/sympi_mpich.conf`. Users *must* specify the configuration file on the command line when running the tool (see examples).
6060

6161
Once the tool has completed, view the ``openmpi-results.txt``/``mpich-results.txt`` to view results of various combinations of the
6262
versions and pick the host-container version combination most suitable to you.
@@ -71,39 +71,39 @@ At the moment, we support two tests:
7171

7272
## Run the tool with the default Open MPI versions and a simple helloworld test
7373

74-
``syvalidate -configfile `pwd`/etc/openmpi.conf``
74+
``syvalidate -configfile `pwd`/etc/sympi_openmpi.conf``
7575

7676
## Run the tool with the default Open MPI versions and Netpipe
7777

78-
``syvalidate -configfile `pwd`/etc/openmpi.conf -netpipe``
78+
``syvalidate -configfile `pwd`/etc/sympi_openmpi.conf -netpipe``
7979

8080
## Run the tool with the default Open MPI versions and IMB
8181

82-
``syvalidate -configfile `pwd`/etc/openmpi.conf -imb``
82+
``syvalidate -configfile `pwd`/etc/sympi_openmpi.conf -imb``
8383

8484
## Run the tool with the default MPICH versions and a simple helloworld test
8585

86-
``syvalidate -configfile `pwd`/etc/mpich.conf``
86+
``syvalidate -configfile `pwd`/etc/sympi_mpich.conf``
8787

8888
## Run the tool with the default MPICH versions and Netpipe
8989

90-
``syvalidate -configfile `pwd`/etc/mpich.conf -netpipe``
90+
``syvalidate -configfile `pwd`/etc/sympi_mpich.conf -netpipe``
9191

9292
## Run the tool with the default MPICH versions and IMB
9393

94-
``syvalidate -configfile `pwd`/etc/mpich.conf -imb``
94+
``syvalidate -configfile `pwd`/etc/sympi_mpich.conf -imb``
9595

9696
## Run the tool with the default Intel MPI versions and a simple helloworld test
9797

98-
``syvalidate -configfile `pwd`/etc/intel.conf``
98+
``syvalidate -configfile `pwd`/etc/sympi_intel.conf``
9999

100100
## Run the tool with the default Intel MPI versions and Netpipe
101101

102-
``syvalidate -configfile `pwd`/etc/intel.conf -netpipe``
102+
``syvalidate -configfile `pwd`/etc/sympi_intel.conf -netpipe``
103103

104104
## Run the tool with the default Intel MPI versions and collective operation test
105105

106-
``syvalidate -configfile `pwd`/etc/intel.conf -imb``
106+
``syvalidate -configfile `pwd`/etc/sympi_intel.conf -imb``
107107

108108
These commands will run various MPI programs to test the compatibility between different versions:
109109
- a basic HelloWorld test,

cmd/sycontainerize/sycontainerize.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ import (
1313
"os"
1414
"strconv"
1515

16+
"github.com/gvallee/go_util/pkg/util"
17+
"github.com/gvallee/kv/pkg/kv"
1618
"github.com/sylabs/singularity-mpi/internal/pkg/checker"
17-
"github.com/sylabs/singularity-mpi/internal/pkg/kv"
1819
"github.com/sylabs/singularity-mpi/internal/pkg/launcher"
1920
"github.com/sylabs/singularity-mpi/internal/pkg/sy"
2021
"github.com/sylabs/singularity-mpi/internal/pkg/sys"
21-
util "github.com/sylabs/singularity-mpi/internal/pkg/util/file"
22-
"github.com/sylabs/singularity-mpi/pkg/containizer"
22+
"github.com/sylabs/singularity-mpi/pkg/containerizer"
2323
)
2424

2525
func main() {
@@ -92,7 +92,7 @@ func main() {
9292
}
9393

9494
log.Println("* Creating container for your application...")
95-
_, err = containizer.ContainerizeApp(&sysCfg)
95+
_, err = containerizer.ContainerizeApp(&sysCfg)
9696
if err != nil {
9797
log.Fatalf("failed to create container for app: %s", err)
9898
}

cmd/sympi/sympi.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@ import (
1616
"regexp"
1717
"strings"
1818

19+
"github.com/gvallee/go_util/pkg/util"
20+
"github.com/gvallee/kv/pkg/kv"
1921
"github.com/sylabs/singularity-mpi/internal/pkg/buildenv"
2022
"github.com/sylabs/singularity-mpi/internal/pkg/builder"
2123
"github.com/sylabs/singularity-mpi/internal/pkg/checker"
2224
"github.com/sylabs/singularity-mpi/internal/pkg/implem"
23-
"github.com/sylabs/singularity-mpi/internal/pkg/kv"
2425
"github.com/sylabs/singularity-mpi/internal/pkg/manifest"
2526
"github.com/sylabs/singularity-mpi/internal/pkg/sy"
2627
"github.com/sylabs/singularity-mpi/internal/pkg/sympierr"
2728
"github.com/sylabs/singularity-mpi/internal/pkg/sys"
28-
util "github.com/sylabs/singularity-mpi/internal/pkg/util/file"
2929
"github.com/sylabs/singularity-mpi/pkg/sympi"
3030
)
3131

@@ -367,7 +367,7 @@ func installSingularity(id string, params []string, sysCfg *sys.Config) error {
367367

368368
func listAvail(sysCfg *sys.Config) error {
369369
fmt.Println("The following versions of Singularity can be installed:")
370-
cfgFile := filepath.Join(sysCfg.EtcDir, "singularity.conf")
370+
cfgFile := filepath.Join(sysCfg.EtcDir, "sympi_singularity.conf")
371371
kvs, err := kv.LoadKeyValueConfig(cfgFile)
372372
if err != nil {
373373
return fmt.Errorf("failed to load configuration from %s: %s", cfgFile, err)
@@ -377,7 +377,7 @@ func listAvail(sysCfg *sys.Config) error {
377377
}
378378

379379
fmt.Println("The following versions of Open MPI can be installed:")
380-
cfgFile = filepath.Join(sysCfg.EtcDir, "openmpi.conf")
380+
cfgFile = filepath.Join(sysCfg.EtcDir, sys.GetMPIConfigFileName("openmpi"))
381381
kvs, err = kv.LoadKeyValueConfig(cfgFile)
382382
if err != nil {
383383
return fmt.Errorf("failed to load configuration from %s: %s", cfgFile, err)
@@ -387,7 +387,7 @@ func listAvail(sysCfg *sys.Config) error {
387387
}
388388

389389
fmt.Println("The following versions of MPICH can be installed:")
390-
cfgFile = filepath.Join(sysCfg.EtcDir, "mpich.conf")
390+
cfgFile = filepath.Join(sysCfg.EtcDir, sys.GetMPIConfigFileName("mpich"))
391391
kvs, err = kv.LoadKeyValueConfig(cfgFile)
392392
if err != nil {
393393
return fmt.Errorf("failed to load configuration from %s: %s", cfgFile, err)

cmd/syrun/syrun.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"log"
1111
"os"
1212

13-
util "github.com/sylabs/singularity-mpi/internal/pkg/util/file"
13+
"github.com/gvallee/go_util/pkg/util"
1414
"github.com/sylabs/singularity-mpi/pkg/sympi"
1515
)
1616

cmd/syvalidate/syvalidate.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@ import (
1515
"path/filepath"
1616
"strconv"
1717

18+
"github.com/gvallee/go_util/pkg/util"
19+
"github.com/gvallee/kv/pkg/kv"
1820
"github.com/sylabs/singularity-mpi/internal/pkg/app"
1921
"github.com/sylabs/singularity-mpi/internal/pkg/buildenv"
2022
"github.com/sylabs/singularity-mpi/internal/pkg/checker"
2123
"github.com/sylabs/singularity-mpi/internal/pkg/configparser"
2224
cfg "github.com/sylabs/singularity-mpi/internal/pkg/configparser"
2325
"github.com/sylabs/singularity-mpi/internal/pkg/container"
24-
"github.com/sylabs/singularity-mpi/internal/pkg/kv"
2526
"github.com/sylabs/singularity-mpi/internal/pkg/launcher"
2627
"github.com/sylabs/singularity-mpi/internal/pkg/results"
2728
"github.com/sylabs/singularity-mpi/internal/pkg/sy"
2829
"github.com/sylabs/singularity-mpi/internal/pkg/syexec"
2930
"github.com/sylabs/singularity-mpi/internal/pkg/sys"
30-
util "github.com/sylabs/singularity-mpi/internal/pkg/util/file"
3131
exp "github.com/sylabs/singularity-mpi/pkg/experiments"
3232
)
3333

@@ -161,7 +161,7 @@ func run(experiments []exp.Config, sysCfg *sys.Config, syConfig *sy.MPIToolConfi
161161
log.Printf("Running experiment %d/%d with host MPI %s and container MPI %s\n", i+1, sysCfg.Nrun, e.HostMPI.Version, e.ContainerMPI.Version)
162162
newRes, err = runExperiment(e, sysCfg, syConfig)
163163
if err != nil {
164-
log.Fatalf("failure during the execution of experiment: %s", err)
164+
log.Printf("[ERROR] failure during the execution of experiment: %s", err)
165165
}
166166
newResults = append(newResults, newRes)
167167

@@ -261,7 +261,7 @@ func main() {
261261
}
262262

263263
/* Argument parsing */
264-
configFile := flag.String("configfile", sysCfg.EtcDir+"/openmpi.conf", "Path to the configuration file specifying which versions of a given implementation of MPI to test")
264+
configFile := flag.String("configfile", sysCfg.EtcDir+"/sympi_openmpi.conf", "Path to the configuration file specifying which versions of a given implementation of MPI to test")
265265
outputFile := flag.String("outputFile", "", "Full path to the output file")
266266
verbose := flag.Bool("v", false, "Enable verbose mode")
267267
netpipe := flag.Bool("netpipe", false, "Run NetPipe as test")
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)