builder

package
v1.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2019 License: BSD-3-Clause Imports: 21 Imported by: 2

Documentation

Overview

* builder is a package that provides a set of APIs to help configure, install and uninstall MPI * on the host or in a container.

Index

Constants

View Source
const (
	DefaultUbuntuDistro = "ubuntu:disco"
)

Variables

This section is empty.

Functions

func GenericConfigure

func GenericConfigure(env *buildenv.Info, sysCfg *sys.Config, extraArgs []string) error

GenericConfigure is a generic function to configure a software, basically a wrapper around autotool's configure

Types

type Builder

type Builder struct {
	// PrivInstall specifies whether install needs to be executed with sudo
	PrivInstall bool

	// Configure is the function to call to configure the software
	Configure ConfigureFn

	// GetConfigureExtraArgs is the function to call to get extra arguments for the configuration command
	GetConfigureExtraArgs GetConfigureExtraArgsFn

	// GetDeffileTemplateTags is the function to call to get all template tags
	GetDeffileTemplateTags GetDeffileTemplateTagsFn
}

Builder gathers all the data specific to a software builder

func Load

func Load(pkg *implem.Info) (Builder, error)

Load is the function that will figure out the function to call for various stages of the code configuration/compilation/installation/execution

func (*Builder) CompileAppOnHost

func (b *Builder) CompileAppOnHost(appInfo *app.Info, buildEnv *buildenv.Info, sysCfg *sys.Config) error

CompileAppOnHost compiles and installs a given non-MPI application on the host

func (*Builder) CompileMPIAppOnHost

func (b *Builder) CompileMPIAppOnHost(appInfo *app.Info, mpiCfg *mpi.Config, buildEnv *buildenv.Info, sysCfg *sys.Config) error

CompileMPIAppOnHost compiles and installs a given application on the host, as well as the required MPI implementation when necessary

func (*Builder) GenerateDeffile

func (b *Builder) GenerateDeffile(appInfo *app.Info, mpiCfg *implem.Info, env *buildenv.Info, container *container.Config, sysCfg *sys.Config) error

GenerateDeffile generates the definition file for a MPI container.

func (*Builder) InstallOnHost

func (b *Builder) InstallOnHost(pkg *implem.Info, env *buildenv.Info, sysCfg *sys.Config) syexec.Result

InstallHostMPI installs a specific version of MPI on the host

func (*Builder) UninstallHost

func (b *Builder) UninstallHost(mpiCfg *implem.Info, env *buildenv.Info, sysCfg *sys.Config) syexec.Result

UninstallHost uninstalls a version of MPI on the host that was previously installed by our tool

type ConfigureFn

type ConfigureFn func(*buildenv.Info, *sys.Config, []string) error

ConfigureFn is the function prototype to configuration a specific software

type GetConfigureExtraArgsFn

type GetConfigureExtraArgsFn func(*sys.Config) []string

GetConfigureExtraArgsFn is the function prootype for getting extra arguments to configure a software

type GetDeffileTemplateTagsFn

type GetDeffileTemplateTagsFn func() deffile.TemplateTags

GetDeffileTemplateTagsFn is a "function pointer" to get the tags used in the definition file template for a given implementation of MPI

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL