def __init__(self):

        print("Setting up distributed code")
        instance = DistributedAmuse()
        instance.initialize_code()

        #    instance.parameters.debug = True
        #    instance.parameters.webinterface_port = 4556
        instance.commit_parameters()

        print("url:", instance.get_webinterface_url())

        print("Resources:")
        print(instance.resources)

        #Claim nodes on the resources. In this example simply the "local" machine
        pilot = Pilot()
        pilot.resource_name = 'local'  # label of the resource to be used
        pilot.node_count = 1  # desired number of nodes
        pilot.time = 99 | units.hour  # wallclock that resource remains available (mainly for job queues)
        pilot.slots_per_node = 99  # slots is accounting measure for a job
        pilot.node_label = 'local'  # label for subgroups of the resource

        instance.pilots.add_pilot(pilot)

        print("Reservations:")
        print(instance.pilots)

        print("Waiting for reservations")
        instance.wait_for_pilots()
        self.instance = instance
def init_local_only():

    print("Setting up distributed code")
    instance = DistributedAmuse()
    instance.initialize_code()

    instance.parameters.webinterface_port = 4556

    print("url:", instance.get_webinterface_url())
    #~ print "Resources:"
    #~ print instance.resources

    #Claim nodes on the resources. In this example simply the "local" machine
    pilot = Pilot()
    pilot.resource_name = 'local'
    pilot.node_count = 1
    pilot.time = 99 | units.hour
    pilot.slots_per_node = 99
    pilot.node_label = 'local'
    instance.pilots.add_pilot(pilot)

    #~ print "Reservations:"
    #~ print instance.pilots

    print("Waiting for reservations")
    instance.wait_for_pilots()
    #    atexit.register(instance.stop)
    return instance
示例#3
0
def start_distributed(lgm_node_names):
    lgm_nodes = [
        new_lgm_node(lgm_node_name) for lgm_node_name in lgm_node_names
    ]
    instance = DistributedAmuse(redirection="file",
                                redirect_file="distributed_amuse.log")
    instance.initialize_code()
    instance.resources.add_resource(new_lgm_gateway())
    for lgm_node in lgm_nodes:
        instance.resources.add_resource(lgm_node)

    instance.resources.add_resource(new_cartesius_resource())

    instance.pilots.add_pilot(new_local_pilot())

    for lgm_node in lgm_nodes:
        instance.pilots.add_pilot(new_gpu_node_pilot(lgm_node))
        instance.pilots.add_pilot(new_cpu_node_pilot(lgm_node))

    instance.pilots.add_pilot(new_cartesius_pilot())

    print "Pilots:"
    print instance.pilots
    print "Waiting for pilots"
    instance.wait_for_pilots()
    return instance
示例#4
0
def start_distributed():
    instance = DistributedAmuse(redirection="file", redirect_file="distributed_amuse.log")
    instance.initialize_code()
    
    instance.pilots.add_pilot(new_local_pilot())
    
    print "Pilots:"
    print instance.pilots
    print "Waiting for pilots"
    instance.wait_for_pilots()
    return instance
示例#5
0
def start_distributed_local():
    instance = DistributedAmuse(redirection="file", redirect_file="distributed_amuse.log")
    instance.initialize_code()
    instance.parameters.debug = True
    instance.use_for_all_workers()
    instance.pilots.add_pilot(new_local_pilot())
    instance.pilots.add_pilot(new_local_pilot(slots=2, label="GPU"))
    instance.pilots.add_pilot(new_local_pilot(slots=24, label="hydro"))
    
    print "Pilots:"
    print instance.pilots
    print "Waiting for pilots"
    instance.wait_for_pilots()
    return instance
示例#6
0
def start_distributed(lgm_node_names):
    lgm_nodes = [
        new_lgm_node(lgm_node_name) for lgm_node_name in lgm_node_names
    ]
    instance = DistributedAmuse(redirection="file",
                                redirect_file="distributed_amuse.log")
    instance.initialize_code()
    instance.resources.add_resource(new_lgm_gateway())
    for lgm_node in lgm_nodes:
        instance.resources.add_resource(lgm_node)

    instance.reservations.add_reservation(new_local_reservation())
    for lgm_node in lgm_nodes:
        instance.reservations.add_reservation(
            new_gpu_node_reservation(lgm_node))
        instance.reservations.add_reservation(
            new_cpu_node_reservation(lgm_node))

    print "Reservations:"
    print instance.reservations
    print "Waiting for reservations"
    instance.wait_for_reservations()
    return instance
示例#7
0
def start_distributed(lgm_node_names):
    lgm_nodes = [
        new_lgm_node(lgm_node_name) for lgm_node_name in lgm_node_names
    ]
    #   instance = DistributedAmuse()
    instance = DistributedAmuse(redirection="file",
                                redirect_file="distributed_amuse.log")
    #   instance = DistributedAmuse(redirection="none")
    instance.initialize_code()
    instance.use_for_all_workers(True)
    instance.resources.add_resource(new_lgm_gateway())
    for lgm_node in lgm_nodes:
        instance.resources.add_resource(lgm_node)

    instance.pilots.add_pilot(new_local_pilot())
    for lgm_node in lgm_nodes:
        instance.pilots.add_pilot(new_cpu_node_pilot(lgm_node))

    print " ** distributed amuse ** "
    print " ** pilots:"
    print instance.pilots
    print "\t waiting for pilots"
    instance.wait_for_pilots()
    return instance
示例#8
0
import sys
import webbrowser
from amuse.lab import *
from amuse.community.distributed.interface import DistributedAmuseInterface, DistributedAmuse
from amuse.community.distributed.interface import Resource, Resources, Pilot, Pilots

# Example on how to use the distributed code. This example should run most (if not all) existing scripts.
# This example only uses local resources to run on. Add remote resources to get it to do something interesting.

if len(sys.argv) < 2:
    print "usage: amuse.sh distributed_amuse.py existing_amuse_script.py"
    sys.exit(1)

print "Setting up distributed code"
instance = DistributedAmuse(redirection="none")
instance.initialize_code()

# open the address of the webinterface in a brower window
# webbrowser.open(instance.get_webinterface_url())

# Add some resources
# resource = Resource()
# resource.name='DAS4-VU'
# resource.location="*****@*****.**"
# resource.scheduler_type="sge"
# resource.amuse_dir="/home/user/amuse"
# instance.resources.add_resource(resource)
print "Resources:"
print instance.resources

# Claim nodes on the resources. In this example simply the "local" machine
示例#9
0
    Pilot,
    # Pilots,
)

# Example on how to use the distributed code. This example should run most (if
# not all) existing scripts.
# This example only uses local resources to run on. Add remote resources to get
# it to do something interesting.

if (len(sys.argv) < 2):
    print("usage: amuse.sh distributed_amuse.py existing_amuse_script.py")
    sys.exit(1)

print("Setting up distributed code")
instance = DistributedAmuse(redirection='none')
instance.initialize_code()

# open the address of the webinterface in a brower window
# webbrowser.open(instance.get_webinterface_url())

# Add some resources
# resource = Resource()
# resource.name='DAS4-VU'
# resource.location="*****@*****.**"
# resource.scheduler_type="sge"
# resource.amuse_dir="/home/user/amuse"
# instance.resources.add_resource(resource)
print("Resources:")
print(instance.resources)

# Claim nodes on the resources. In this example simply the "local" machine