当前位置: 首页>>代码示例>>Python>>正文


Python ResourceAllocationManager.get_hostnames方法代码示例

本文整理汇总了Python中openmdao.main.resource.ResourceAllocationManager.get_hostnames方法的典型用法代码示例。如果您正苦于以下问题:Python ResourceAllocationManager.get_hostnames方法的具体用法?Python ResourceAllocationManager.get_hostnames怎么用?Python ResourceAllocationManager.get_hostnames使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在openmdao.main.resource.ResourceAllocationManager的用法示例。


在下文中一共展示了ResourceAllocationManager.get_hostnames方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_hostnames

# 需要导入模块: from openmdao.main.resource import ResourceAllocationManager [as 别名]
# 或者: from openmdao.main.resource.ResourceAllocationManager import get_hostnames [as 别名]
    def test_hostnames(self):
        logging.debug('')
        logging.debug('test_hostnames')

        hostnames = ResourceAllocationManager.get_hostnames({'n_cpus':1})
        self.assertEqual(hostnames[0], platform.node())
        
        hostnames = ResourceAllocationManager.get_hostnames({'no_such_resource':1})
        self.assertEqual(hostnames, None)
开发者ID:drousis,项目名称:OpenMDAO-Framework,代码行数:11,代码来源:test_resource.py

示例2: test_hostnames

# 需要导入模块: from openmdao.main.resource import ResourceAllocationManager [as 别名]
# 或者: from openmdao.main.resource.ResourceAllocationManager import get_hostnames [as 别名]
    def test_hostnames(self):
        logging.debug('')
        logging.debug('test_hostnames')

        hostnames = RAM.get_hostnames({'min_cpus': 1})
        self.assertEqual(hostnames[0], platform.node())

        hostnames = RAM.get_hostnames({'allocator': 'LocalHost',
                                       'localhost': False})
        self.assertEqual(hostnames, None)
开发者ID:FashtimeDotCom,项目名称:OpenMDAO-Framework,代码行数:12,代码来源:test_resource.py

示例3: main

# 需要导入模块: from openmdao.main.resource import ResourceAllocationManager [as 别名]
# 或者: from openmdao.main.resource.ResourceAllocationManager import get_hostnames [as 别名]
def main():
    """ Configure a cluster and use it. """
    enable_console(logging.DEBUG)
    logging.getLogger().setLevel(0)
    print 'Client PID', os.getpid()

    # Configure cluster.
    cluster_name = 'EC2Cluster'
    machines = []
    if USE_EC2:
        # The identity file used to access EC2 via ssh.
        identity_filename = os.path.expanduser('~/.ssh/lovejoykey')
        identity_filename += '.ppk' if sys.platform == 'win32' else '.pem'

        machines.append(ClusterHost(
            hostname='[email protected]',
            python='setowns1_2013-05-06_09.17.04.529682' \
                '/OpenMDAO-OpenMDAO-Framework-testbranch/devenv/bin/python',
            tunnel_incoming=True, tunnel_outgoing=True,
            identity_filename=identity_filename))

        machines.append(ClusterHost(
            hostname='[email protected]',
            python='setowns1_2013-05-06_09.17.03.113077' \
                '/OpenMDAO-OpenMDAO-Framework-testbranch/devenv/bin/python',
            tunnel_incoming=True, tunnel_outgoing=True,
            identity_filename=identity_filename))

        machines.append(ClusterHost(
            hostname='[email protected]',
            python='setowns1_2013-05-06_09.17.05.434412' \
                '/OpenMDAO-OpenMDAO-Framework-testbranch/devenv/bin/python',
            tunnel_incoming=True, tunnel_outgoing=True,
            identity_filename=identity_filename))

        machines.append(ClusterHost(
            hostname='[email protected]',
            python='setowns1_2013-05-06_09.20.17.379627' \
                '/OpenMDAO-OpenMDAO-Framework-testbranch/devenv/Scripts/python',
            tunnel_incoming=True, tunnel_outgoing=True,
            identity_filename=identity_filename))

        machines.append(ClusterHost(
            hostname='[email protected]',
            python='setowns1_2013-05-06_09.19.49.348885' \
                '/OpenMDAO-OpenMDAO-Framework-testbranch/devenv/Scripts/python',
            tunnel_incoming=True, tunnel_outgoing=True,
            identity_filename=identity_filename))

#        machines.append(ClusterHost(
#            hostname='viper.grc.nasa.gov',
#            python='OpenMDAO-Framework/devenv/bin/python',
#            tunnel_incoming=True, tunnel_outgoing=True,
#            identity_filename=None))
    else:
        # Trivial local 'cluster' for debugging without remote host issues.
        machines.append(ClusterHost(hostname=socket.getfqdn(),
                                    python=sys.executable))
#        machines.append(ClusterHost(
#            hostname='viper.grc.nasa.gov',
#            python='OpenMDAO-Framework/devenv/bin/python',
#            tunnel_incoming=True, tunnel_outgoing=True,
#            identity_filename=None))

    # Start it.
    cluster = ClusterAllocator(cluster_name, machines, allow_shell=True,
                               method='load-average')
#                               method='greedy')
#                               method='round-robin')
    print 'Cluster initialized'
    RAM.insert_allocator(0, cluster)

    n_servers = RAM.max_servers(dict(allocator=cluster_name))
    print n_servers, 'Servers:'
    for name in RAM.get_hostnames(dict(allocator=cluster_name,
                                       min_cpus=n_servers)):
        print '   ', name

    # Create model.
    top = GPOptimization()

    # Configure DOE.
    top.driver.sequential = False   # Run concurrently across cluster.
    top.driver.reload_model = False
    # Force use of only cluster hosts by adding this requirement.
    top.driver.extra_resources = dict(allocator=cluster_name)
    # This is necessary more often than it should be.
    top.driver.ignore_egg_requirements = True

    # Perform the optimization.
    top.run()
开发者ID:Daiyu506,项目名称:OpenMDAO-Framework,代码行数:93,代码来源:ec2_test.py

示例4: _run_parallel

# 需要导入模块: from openmdao.main.resource import ResourceAllocationManager [as 别名]
# 或者: from openmdao.main.resource.ResourceAllocationManager import get_hostnames [as 别名]
    def _run_parallel(self, busy_hosts):
        """
        Run parallel version of ADPAC. Gets hostnames from resource
        allocators and uses MPI for distribution. `busy_hosts` is a list of
        hosts to exclude from consideration, and is updated with the hosts
        we attempt to use here.  This provides a mechanism to skip those hosts
        a previous attempt failed with.
        """
        if self.mpi_procs:
            n_cpus = self.mpi_procs
        else:
            n_cpus = len(self.input.nbld)
#TODO: get correct number of blocks (nbld isn't necessarily correct)

        hostnames = RAM.get_hostnames(dict(n_cpus=n_cpus, exclude=busy_hosts))
        if not hostnames:
            self.raise_exception('No hosts!', RuntimeError)
        busy_hosts.extend(hostnames)

        machinefile = 'machines'
        with open(machinefile, 'w') as out:
            for name in hostnames:
                out.write('%s\n' % name)

        self.command = [self.mpi_path]
        self.command.extend(['-np', str(n_cpus)])
        self.command.extend(['-machinefile', machinefile])

        if os.path.sep in self.mpi_adpac:
            self.command.append(self.mpi_adpac)
        else:
            # Some mpirun commands want a real path.
            for prefix in os.environ['PATH'].split(os.path.pathsep):
                path = os.path.join(prefix, self.mpi_adpac)
                if os.path.exists(path):
                    self.command.append(path)
                    break
            else:
                self.raise_exception("Can't find %r on PATH" % self.mpi_adpac,
                                     RuntimeError)
        if self.stats:
            self.command.extend(['-s', 'all'])
        self.command.append('-Z')

        if self.iasync:
            self.command.append('-a')
        if self.ibalance:
            self.command.append('-b')
        if not self.icheck:
            self.command.append('-c')
        if not self.idissf:
            self.command.append('-d')
        if self.irevs:
            self.command.append('-r')

        self.command.extend(['-i', self.input.casename+'.input'])
        self.command.extend(['-o', self.input.casename+'.output'])

        self.stdout = self.input.casename+'.log'
        self.stderr = ExternalCode.STDOUT
        self.resources = {}  # MPI will do distribution.
        super(ADPAC, self).execute()

        # On some systems (like GX with a shared filesystem between
        # front-end and compute nodes) it can take a bit before the
        # output files 'materialize'.
        for retry in range(30):
            if os.path.exists(self.input.casename+'.log') and \
               os.path.exists(self.input.casename+'.output'):
                break
            else:
                time.sleep(1)
        else:
            self.raise_exception('timeout waiting for output files',
                                 RuntimeError)
开发者ID:OpenMDAO-Plugins,项目名称:adpac_wrapper,代码行数:77,代码来源:wrapper.py


注:本文中的openmdao.main.resource.ResourceAllocationManager.get_hostnames方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。