def __init__(self, **kwargs): """Initialize building block""" # Trouble getting MRO with kwargs working correctly, so just call # the parent class constructors manually for now. #super(fftw, self).__init__(**kwargs) ConfigureMake.__init__(self, **kwargs) tar.__init__(self, **kwargs) wget.__init__(self, **kwargs) self.configure_opts = kwargs.get('configure_opts', ['--enable-shared', '--enable-openmp', '--enable-threads', '--enable-sse2']) self.prefix = kwargs.get('prefix', '/usr/local/fftw') self.__baseurl = kwargs.get('baseurl', 'ftp://ftp.fftw.org/pub/fftw') self.__check = kwargs.get('check', False) self.__directory = kwargs.get('directory', '') self.__ospackages = kwargs.get('ospackages', ['file', 'make', 'wget']) self.__toolchain = kwargs.get('toolchain', toolchain()) self.__version = kwargs.get('version', '3.3.7') self.__commands = [] # Filled in by __setup() self.__environment_variables = { 'LD_LIBRARY_PATH': '{}:$LD_LIBRARY_PATH'.format(os.path.join(self.prefix, 'lib'))} self.__wd = '/var/tmp' # working directory # Construct series of steps to execute self.__setup()
def __init__(self, **kwargs): """Initialize building block""" # Trouble getting MRO with kwargs working correctly, so just call # the parent class constructors manually for now. #super(mvapich2, self).__init__(**kwargs) ConfigureMake.__init__(self, **kwargs) sed.__init__(self, **kwargs) tar.__init__(self, **kwargs) wget.__init__(self, **kwargs) self.__baseurl = kwargs.get( 'baseurl', 'http://mvapich.cse.ohio-state.edu/download/mvapich/mv2') self.__check = kwargs.get('check', False) self.configure_opts = kwargs.get('configure_opts', ['--disable-mcast']) self.cuda = kwargs.get('cuda', True) self.directory = kwargs.get('directory', '') self.__gpu_arch = kwargs.get('gpu_arch', None) self.__ospackages = kwargs.get('ospackages', []) self.prefix = kwargs.get('prefix', '/usr/local/mvapich2') self.__runtime_ospackages = [] # Filled in by __distro() # MVAPICH2 does not accept F90 self.toolchain_control = { 'CC': True, 'CXX': True, 'F77': True, 'F90': False, 'FC': True } self.version = kwargs.get('version', '2.3rc2') self.__commands = [] # Filled in by __setup() self.__environment_variables = {} # Filled in by __setup() # Input toolchain, i.e., what to use when building self.__toolchain = kwargs.get('toolchain', toolchain()) self.__wd = '/var/tmp' # working directory # Output toolchain self.toolchain = toolchain(CC='mpicc', CXX='mpicxx', F77='mpif77', F90='mpif90', FC='mpifort') # Set the Linux distribution specific parameters self.__distro() # Construct the series of steps to execute self.__setup()
def __init__(self, **kwargs): """Initialize building block""" # Trouble getting MRO with kwargs working correctly, so just call # the parent class constructors manually for now. #super(netcdf, self).__init__(**kwargs) ConfigureMake.__init__(self, **kwargs) tar.__init__(self, **kwargs) wget.__init__(self, **kwargs) self.configure_opts = kwargs.get('configure_opts', []) self.__baseurl = 'https://www.unidata.ucar.edu/downloads/netcdf/ftp' self.__check = kwargs.get('check', False) self.__cxx = kwargs.get('cxx', True) self.__fortran = kwargs.get('fortran', True) self.__hdf5_dir = kwargs.get('hdf5_dir', '/usr/local/hdf5') self.__ospackages = kwargs.get('ospackages', []) self.prefix = kwargs.get('prefix', '/usr/local/netcdf') self.__runtime_ospackages = [] # Filled in by __distro() self.__toolchain = kwargs.get('toolchain', toolchain()) self.__version = kwargs.get('version', '4.6.1') self.__version_cxx = kwargs.get('version_cxx', '4.3.0') self.__version_fortran = kwargs.get('version_fortran', '4.4.4') self.__wd = '/var/tmp' self.__commands = [] # Filled in by __setup() self.__environment_variables = { 'PATH': '{}:$PATH'.format(os.path.join(self.prefix, 'bin')), 'LD_LIBRARY_PATH': '{}:$LD_LIBRARY_PATH'.format(os.path.join(self.prefix, 'lib')) } # Set the Linux distribution specific parameters self.__distro() # C interface (required) self.__setup() # C++ interface (optional) if self.__cxx: self.__setup_optional(pkg='netcdf-cxx4', version=self.__version_cxx) # Fotran interface (optional) if self.__fortran: self.__setup_optional(pkg='netcdf-fortran', version=self.__version_fortran)
def __init__(self, **kwargs): """Initialize building block""" # Trouble getting MRO with kwargs working correctly, so just call # the parent class constructors manually for now. #super(openmpi, self).__init__(**kwargs) ConfigureMake.__init__(self, **kwargs) tar.__init__(self, **kwargs) wget.__init__(self, **kwargs) self.baseurl = kwargs.get('baseurl', 'https://www.open-mpi.org/software/ompi') self.__check = kwargs.get('check', False) self.configure_opts = kwargs.get( 'configure_opts', ['--disable-getpwuid', '--enable-orterun-prefix-by-default']) self.cuda = kwargs.get('cuda', True) self.directory = kwargs.get('directory', '') self.infiniband = kwargs.get('infiniband', True) self.__ospackages = kwargs.get('ospackages', []) self.prefix = kwargs.get('prefix', '/usr/local/openmpi') self.__runtime_ospackages = [] # Filled in by __distro() # Input toolchain, i.e., what to use when building self.__toolchain = kwargs.get('toolchain', toolchain()) self.version = kwargs.get('version', '3.0.0') self.__commands = [] # Filled in by __setup() self.__environment_variables = { 'PATH': '{}:$PATH'.format(os.path.join(self.prefix, 'bin')), 'LD_LIBRARY_PATH': '{}:$LD_LIBRARY_PATH'.format(os.path.join(self.prefix, 'lib')) } self.__wd = '/tmp' # working directory # Output toolchain self.toolchain = toolchain(CC='mpicc', CXX='mpicxx', F77='mpif77', F90='mpif90', FC='mpifort') # Set the Linux distribution specific parameters self.__distro() # Construct the series of steps to execute self.__setup()
def __init__(self, **kwargs): """Initialize building block""" # Trouble getting MRO with kwargs working correctly, so just call # the parent class constructors manually for now. #super(pgi, self).__init__(**kwargs) tar.__init__(self, **kwargs) wget.__init__(self, **kwargs) self.__commands = [] # Filled in by __setup() # By setting this value to True, you agree to the PGI End-User # License Agreement (https://www.pgroup.com/doc/LICENSE.txt) self.__eula = kwargs.get('eula', False) self.__extended_environment = kwargs.get('extended_environment', False) self.__mpi = kwargs.get('mpi', False) self.__ospackages = kwargs.get('ospackages', []) self.__prefix = '/opt/pgi' self.__referer = r'https://www.pgroup.com/products/community.htm?utm_source=hpccm\&utm_medium=wgt\&utm_campaign=CE\&nvid=nv-int-14-39155' self.__system_cuda = kwargs.get('system_cuda', False) self.__tarball = kwargs.get('tarball', '') self.__url = 'https://www.pgroup.com/support/downloader.php?file=pgi-community-linux-x64' # The version is fragile since the latest version is # automatically downloaded, which may not match this default. self.__version = kwargs.get('version', '18.4') self.__wd = '/var/tmp' # working directory self.__basepath = os.path.join(self.__prefix, 'linux86-64') self.toolchain = toolchain(CC='pgcc', CXX='pgc++', F77='pgfortran', F90='pgfortran', FC='pgfortran') # Set the Linux distribution specific parameters self.__distro() # Construct the series of steps to execute self.__setup()
def __init__(self, **kwargs): """Initialize building block""" # Trouble getting MRO with kwargs working correctly, so just call # the parent class constructors manually for now. #super(charm, self).__init__(**kwargs) sed.__init__(self, **kwargs) tar.__init__(self, **kwargs) wget.__init__(self, **kwargs) self.__baseurl = kwargs.get('baseurl', 'http://charm.cs.illinois.edu/distrib') self.__check = kwargs.get('check', False) self.__options = kwargs.get('options', ['--build-shared', '--with-production']) self.__ospackages = kwargs.get('ospackages', ['git', 'make', 'wget']) self.__parallel = kwargs.get('parallel', 4) self.__prefix = kwargs.get('prefix', '/usr/local') self.__target = kwargs.get('target', 'charm++') self.__target_architecture = kwargs.get('target_architecture', 'multicore-linux-x86_64') self.__version = kwargs.get('version', '6.8.2') self.__installdir = os.path.join(self.__prefix, 'charm-v{}'.format(self.__version)) self.__wd = '/var/tmp' # working directory self.__commands = [] # Filled in by __setup() self.__environment_variables = { 'CHARMBASE': self.__installdir, 'PATH': '{}:$PATH'.format(os.path.join(self.__installdir, 'bin')), 'LD_LIBRARY_PATH': '{}:$LD_LIBRARY_PATH'.format( os.path.join(self.__installdir, 'lib_so')) } # Construct series of steps to execute self.__setup()
def __init__(self, **kwargs): """Initialize building block""" # Trouble getting MRO with kwargs working correctly, so just call # the parent class constructors manually for now. #super(hdf5, self).__init__(**kwargs) ConfigureMake.__init__(self, **kwargs) tar.__init__(self, **kwargs) wget.__init__(self, **kwargs) self.configure_opts = kwargs.get('configure_opts', ['--enable-cxx', '--enable-fortran']) self.prefix = kwargs.get('prefix', '/usr/local/hdf5') self.__baseurl = kwargs.get( 'baseurl', 'http://www.hdfgroup.org/ftp/HDF5/releases') self.__check = kwargs.get('check', False) self.__directory = kwargs.get('directory', '') self.__ospackages = kwargs.get('ospackages', []) self.__runtime_ospackages = [] # Filled in by __distro() self.__toolchain = kwargs.get('toolchain', toolchain()) self.__version = kwargs.get('version', '1.10.1') self.__commands = [] # Filled in by __setup() self.__environment_variables = { 'HDF5_DIR': self.prefix, 'PATH': '{}:$PATH'.format(os.path.join(self.prefix, 'bin')), 'LD_LIBRARY_PATH': '{}:$LD_LIBRARY_PATH'.format(os.path.join(self.prefix, 'lib')) } self.__wd = '/var/tmp' # working directory # Set the Linux distribution specific parameters self.__distro() # Construct the series of steps to execute self.__setup()
def __init__(self, **kwargs): """Initialize building block""" # Trouble getting MRO with kwargs working correctly, so just call # the parent class constructors manually for now. #super(mlnx_ofed, self).__init__(**kwargs) tar.__init__(self, **kwargs) wget.__init__(self, **kwargs) self.__baseurl = kwargs.get('baseurl', 'http://content.mellanox.com/ofed') self.__oslabel = kwargs.get('oslabel', '') self.__ospackages = kwargs.get('ospackages', []) self.__packages = kwargs.get('packages', []) self.__version = kwargs.get('version', '3.4-1.0.0.0') self.__commands = [] self.__wd = '/tmp' # Set the Linux distribution specific parameters self.__distro() # Construct the series of steps to execute self.__setup()