Esempio n. 1
0
    def sanitycheck(self):
        """
        Custom sanity check for HDF5
        """
        if not self.getcfg('sanityCheckPaths'):

            if self.toolkit().opts['usempi']:
                extra_binaries = ["bin/%s" % x for x in ["h5perf", "h5pcc", "h5pfc", "ph5diff"]]
            else:
                extra_binaries = ["bin/%s" % x for x in ["h5cc", "h5fc"]]

            self.setcfg('sanityCheckPaths',{
                                            'files': ["bin/h5%s" % x for x in ["2gif", "c++", "copy",
                                                                               "debug", "diff", "dump",
                                                                               "import", "jam","ls",
                                                                               "mkgrp", "perf_serial",
                                                                               "redeploy", "repack",
                                                                               "repart", "stat", "unjam"]] +
                                                     ["bin/gif2h5"] + extra_binaries +
                                                     ["lib/libhdf5%s.so" % x for x in ["_cpp", "_fortran",
                                                                                       "_hl_cpp", "_hl",
                                                                                       "hl_fortran", ""]],
                                            'dirs': ['include']
                                           })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 2
0
    def sanitycheck(self):
        """Custom sanity check for g2clib."""

        if not self.getcfg("sanityCheckPaths"):
            self.setcfg("sanityCheckPaths", {"files": ["lib/libgrib2c.a"], "dirs": ["include"]})

        Application.sanitycheck(self)
Esempio n. 3
0
    def sanitycheck(self):
        """
        Custom sanity check for netCDF
        """
        if not self.getcfg('sanityCheckPaths'):

            incs = ["netcdf.h"]
            libs = ["libnetcdf.so", "libnetcdf.a"]
            # since v4.2, the non-C libraries have been split off in seperate packages
            # see netCDF-Fortran and netCDF-C++
            if LooseVersion(self.version()) < LooseVersion("4.2"):
                incs += ["netcdf%s" % x for x in ["cpp.h", ".hh", ".inc", ".mod"]] + \
                        ["ncvalues.h", "typesizes.mod"]
                libs += ["libnetcdf_c++.so", "libnetcdff.so",
                         "libnetcdf_c++.a", "libnetcdff.a"]

            self.setcfg('sanityCheckPaths',{
                                            'files': ["bin/nc%s" % x for x in ["-config", "copy", "dump",
                                                                              "gen", "gen3"]] +
                                                     ["lib/%s" % x for x in libs] +
                                                     ["include/%s" % x for x in incs],
                                            'dirs': []
                                           })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 4
0
    def sanitycheck(self):
        """Custom sanity check for OpenFOAM"""

        if not self.getcfg('sanityCheckPaths'):

            odir = "%s-%s" % (self.name(), self.version())

            psubdir = "linux64%sDPOpt" % self.wm_compiler

            if LooseVersion(self.version()) < LooseVersion("2"):
                toolsdir = os.path.join(odir, "applications", "bin", psubdir)

            else:
                toolsdir = os.path.join(odir, "platforms", psubdir, "bin")

            pdirs = []
            if LooseVersion(self.version()) >= LooseVersion("2"):
                pdirs = [toolsdir, os.path.join(odir, "platforms", psubdir, "lib")]

            # some randomly selected binaries
            # if one of these is missing, it's very likely something went wrong
            bins = [os.path.join(odir, "bin", x) for x in []] + \
                   [os.path.join(toolsdir, "buoyant%sSimpleFoam" % x) for x in ["", "Boussinesq"]] + \
                   [os.path.join(toolsdir, "%sFoam" % x) for x in ["bubble", "engine", "sonic"]] + \
                   [os.path.join(toolsdir, "surface%s" % x) for x in ["Add", "Find", "Smooth"]] + \
                   [os.path.join(toolsdir, x) for x in ["deformedGeom", "engineSwirl", "modifyMesh", "refineMesh", "vorticity"]]

            self.setcfg('sanityCheckPaths',{'files':["%s/etc/%s" % (odir, x) for x in ["bashrc", "cshrc"]] + bins,
                                            'dirs':pdirs
                                           })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 5
0
    def sanitycheck(self):
        """Custom sanity check for g2lib."""

        if not self.getcfg('sanityCheckPaths'):
            self.setcfg('sanityCheckPaths', {
                                             'files': ["lib/libg2.a"],
                                             'dirs': []
                                            })

        Application.sanitycheck(self)
Esempio n. 6
0
    def sanitycheck(self):
        """
        Custom sanity check for HPL
        """
        if not self.getcfg("sanityCheckPaths"):

            self.setcfg("sanityCheckPaths", {"files": ["bin/xhpl"], "dirs": []})

            self.log.info("Customized sanity check paths: %s" % self.getcfg("sanityCheckPaths"))

        Application.sanitycheck(self)
Esempio n. 7
0
    def sanitycheck(self):
        """Custom sanity check for FSL"""

        if not self.getcfg('sanityCheckPaths'):

            self.setcfg('sanityCheckPaths', {'files':[],
                                             'dirs':["fsl/%s" % x for x in ["bin", "data", "etc", "extras", "include", "lib"]]
                                            })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 8
0
    def sanitycheck(self):
        """Custom sanity check for ScaLAPACK."""

        if not self.getcfg('sanityCheckPaths'):
            self.setcfg('sanityCheckPaths',{
                                            'files': ["lib/libscalapack.a"],
                                            'dirs': []
                                           })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 9
0
    def sanitycheck(self):
        """Custom sanity check for libsmm"""

        if not self.getcfg('sanityCheckPaths'):
            self.setcfg('sanityCheckPaths', {
                                             'files': ["lib/libsmm_%s.a" % x for x in ["dnn", "znn"]],
                                             'dirs': []
                                            })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 10
0
    def sanitycheck(self):
        """Custom sanity check for MrBayes."""

        if not self.getcfg('sanityCheckPaths'):
            self.setcfg('sanityCheckPaths', {
                                             'files': ["bin/mb"],
                                             'dirs': []
                                            })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 11
0
    def sanitycheck(self):
        """Custom sanity check for WPS."""

        if not self.getcfg('sanityCheckPaths'):

            self.setcfg('sanityCheckPaths', {
                                             'files': ["WPS/%s" % x for x in ["geogrid.exe", "metgrid.exe",
                                                                             "ungrib.exe"]],
                                             'dirs': []
                                            })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 12
0
    def sanitycheck(self):
        """
        Custom sanity check for LAPACK (only run when not testing)
        """
        if not self.getcfg('test_only'):
            if not self.getcfg('sanityCheckPaths'):
                self.setcfg('sanityCheckPaths',{
                                                'files': ["lib/%s" % x for x in ["liblapack.a", "libtmglib.a"]],
                                                'dirs': []
                                               })

                self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

            Application.sanitycheck(self)
Esempio n. 13
0
    def sanitycheck(self):
        """Custom sanity check for BLACS."""

        if not self.getcfg('sanityCheckPaths'):
            self.setcfg('sanityCheckPaths',{
                                            'files': [fil for filptrn in ["blacs", "blacsCinit", "blacsF77init"]
                                                          for fil in ["lib/lib%s.a" % filptrn,
                                                                      "lib/%s_MPI-LINUX-0.a" % filptrn]] +
                                                     ["bin/xintface"],
                                            'dirs': []
                                           })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 14
0
    def sanitycheck(self):
        """Custom sanity check for CP2K"""

        if not self.getcfg('sanityCheckPaths'):
            cp2k_type = self.getcfg('type')
            self.setcfg('sanityCheckPaths',{
                                            'files': ["bin/%s.%s" % (x, cp2k_type) for x in ["cp2k",
                                                                                             "cp2k_shell",
                                                                                             "fes"]],
                                            'dirs': ["tests"]
                                           })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 15
0
    def sanitycheck(self):
        """
        Custom sanity check for netCDF-Fortran
        """
        if not self.getcfg('sanityCheckPaths'):

            self.setcfg('sanityCheckPaths',{
                                            'files': ["bin/nf-config"] +
                                                     ["lib/%s" % x for x in ["libnetcdff.so", "libnetcdff.a"]] +
                                                     ["include/%s" % x for x in ["netcdf.inc", "netcdf.mod",
                                                                                 "typesizes.mod"]],
                                            'dirs': []
                                           })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 16
0
    def sanitycheck(self):
        """
        Custom sanity check for MVAPICH2
        """
        if not self.getcfg('sanityCheckPaths'):

            self.setcfg('sanityCheckPaths',{
                                            'files': ["bin/%s" % x for x in ["mpicc", "mpicxx", "mpif77",
                                                                            "mpif90", "mpiexec.hydra"]] +
                                                     ["lib/lib%s" % y for x in ["fmpich", "mpichcxx", "mpichf90",
                                                                               "mpich", "mpl", "opa"]
                                                                     for y in ["%s.so"%x, "%s.a"%x]],
                                            'dirs': ["include"]
                                           })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 17
0
    def sanitycheck(self):
        """Custom sanity check for WRF."""

        if not self.getcfg('sanityCheckPaths'):

            mainver = self.version().split('.')[0]
            self.wrfsubdir = "WRFV%s"%mainver

            fs = ["libwrflib.a", "wrf.exe", "ideal.exe", "real.exe", "ndown.exe", "nup.exe", "tc.exe"]
            ds = ["main", "run"]

            self.setcfg('sanityCheckPaths',{
                                            'files': [os.path.join(self.wrfsubdir, "main", x) for x in fs],
                                            'dirs': [os.path.join(self.wrfsubdir, x) for x in ds]
                                           })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)
Esempio n. 18
0
    def sanitycheck(self):
        """
        Custom sanity check for ATLAS
        """
        if not self.getcfg('sanityCheckPaths'):

            libs = ["atlas", "cblas", "f77blas", "lapack", "ptcblas", "ptf77blas"]

            static_libs = ["lib/lib%s.a" % x for x in libs]

            if self.getcfg('sharedlibs'):
                shared_libs = ["lib/lib%s.so" % x for x in libs]
            else:
                shared_libs = []

            self.setcfg('sanityCheckPaths', {
                                             'files': ["include/%s" % x for x in ["cblas.h", "clapack.h"]] +
                                                    static_libs + shared_libs,
                                             'dirs': ["include/atlas"]
                                            })

            self.log.info("Customized sanity check paths: %s" % self.getcfg('sanityCheckPaths'))

        Application.sanitycheck(self)