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
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
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
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
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
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
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
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