tdw.conf
来自「集群计算环境下的网络通讯与负载系统」· CONF 代码 · 共 241 行
CONF
241 行
TEMPLATE = "Tilesort"import string, sys, getoptsys.path.append( "../server" )from mothership import *TILE_ROWS = 3TILE_COLS = 4TILE_WIDTH = 1024TILE_HEIGHT = 768RIGHT_TO_LEFT = 0BOTTOM_TO_TOP = 0SERVER_HOSTS = ['node1', 'node2', 'node3', 'node4', 'node5', 'node6', 'node7', 'node8', 'node9', 'node10', 'node11', 'node12']SERVER_PATTERN = ('node#', 1)APP_NODES = ['localhost']APP_HOSTS = ['localhost']APP_PATTERN = ('localhost', 1)NUM_APP_NODES = 1TILESORT_OPTIONS = [ ("split_begin_end", 1), ("sync_on_swap", 1), ("sync_on_finish", 1), ("draw_bbox", 0), ("bbox_line_width", 5), ("fake_window_dims", [4096, 2304]), ("scale_to_mural_size", 1), ("emit_GATHER_POST_SWAPBUFFERS", 0), ("local_tile_spec", 0), ("bucket_mode", "Test All Tiles"), ("use_dmx", 0), ("retile_on_resize", 1),]RENDER_OPTIONS = [ ("try_direct", 1), ("force_direct", 0), ("fullscreen", 1), ("on_top", 0), ("render_to_app_window", 0), ("render_to_crut_window", 0), ("resizable", 0), ("title", "Chromium Render SPU"), ("window_geometry", [0, 0, 256, 256]), ("system_gl_path", ""), ("display_string", ""), ("gather_url", ""), ("gather_userbuf_size", 0), ("lut8", ""), ("swap_master_url", ""), ("is_swap_master", 0), ("num_swap_clients", 1),]SERVER_OPTIONS = [ ("optimize_bucket", 1), ("lighting2", 0), ("only_swap_once", 0), ("spu_dir", ""), ("debug_barriers", 0), ("shared_display_lists", 1), ("shared_texture_objects", 1), ("shared_programs", 1),]APP_OPTIONS = [ ("application", ""), ("zeroth_arg", ""), ("start_dir", crbindir), ("client_dll", ""), ("spu_dir", ""), ("minimum_window_size", [0, 0]), ("match_window_title", ""), ("track_window_size", 0), ("show_cursor", 0),]MOTHERSHIP_OPTIONS = [ ("MTU", 1048576), ("auto_start", 1),]# end of options, the rest is boilerplate (do not remove this line!)def Usage(): print "Usage:" print " %s [--help] [-c columns] [-r rows] [-w tileWidth]" % sys.argv[0] print " [-h tileHeight] [-s servers] [program]" sys.exit(0) # Init globalsPROGRAM = ""ZEROTH_ARG = ""AUTO_START = 0# Look for some special app and mothership paramsfor (name, value) in APP_OPTIONS: if name == "application": PROGRAM = value elif name == "zeroth_arg": ZEROTH_ARG = valuefor (name, value) in MOTHERSHIP_OPTIONS: if name == "auto_start": AUTO_START = value# Check for program name/args on command linetry: (opts, args) = getopt.getopt(sys.argv[1:], "c:r:w:h:s:", ["help"])except getopt.GetoptError: Usage()for (name, value) in opts: if name == "--help": Usage() elif name == "-c": TILE_COLS = int(value) elif name == "-r": TILE_ROWS = int(value) elif name == "-w": TILE_WIDTH = int(value) elif name == "-h": TILE_HEIGHT = int(value) elif name == "-s": SERVER_HOSTS = str.split(value, ",") if len(args) > 0: PROGRAM = args[0]print "--- Tilesort Template ---"print "Mural size: %d cols x %d rows" % (TILE_COLS, TILE_ROWS)print "Tile size: %d x %d" % (TILE_WIDTH, TILE_HEIGHT)print "Total size: %d x %d" % (TILE_WIDTH * TILE_COLS, TILE_HEIGHT * TILE_ROWS)print "Servers: %s" % SERVER_HOSTSprint "Program: %s" % PROGRAMprint "-------------------------"# Determine if tiles are on one server or manysingleServer = 1for i in range(1, len(SERVER_HOSTS)): if SERVER_HOSTS[i] != SERVER_HOSTS[0]: singleServer = 0 breaklocalHostname = os.uname()[1]cr = CR()tilesortSPUs = []appNodes = []for i in range(NUM_APP_NODES): tilesortspu = SPU('tilesort') for (name, value) in TILESORT_OPTIONS: tilesortspu.Conf(name, value) tilesortSPUs.append(tilesortspu) tilesortspu.Conf('broadcast', '1') appnode = CRApplicationNode(APP_NODES[i]) for (name, value) in APP_OPTIONS: appnode.Conf(name, value) appnode.AddSPU(tilesortspu) # argument substitutions if PROGRAM != "": if i == 0 and ZEROTH_ARG != "": app_string = string.replace( PROGRAM, '%0', ZEROTH_ARG) else: app_string = string.replace( PROGRAM, '%0', '' ) app_string = string.replace( app_string, '%I', str(i) ) app_string = string.replace( app_string, '%N', str(NUM_APP_NODES) ) appnode.Conf('application', app_string ) if AUTO_START: appnode.AutoStart( ["/bin/sh", "-c", "LD_LIBRARY_PATH=%s /usr/local/bin/crappfaker" % crlibdir] ) appNodes.append(appnode)for row in range(TILE_ROWS): for col in range(TILE_COLS): # layout directions if RIGHT_TO_LEFT: j = TILE_COLS - col - 1 else: j = col if BOTTOM_TO_TOP: i = TILE_ROWS - row - 1 else: i = row # compute index for this tile index = i * TILE_COLS + j renderspu = SPU('render') for (name, value) in RENDER_OPTIONS: renderspu.Conf(name, value) if singleServer: renderspu.Conf('window_geometry', [ int(1.1 * j * TILE_WIDTH), int(1.1 * i * TILE_HEIGHT), TILE_WIDTH, TILE_HEIGHT ] ) host = SERVER_HOSTS[0] else: renderspu.Conf('window_geometry', [0, 0, TILE_WIDTH, TILE_HEIGHT]) host = SERVER_HOSTS[index] servernode = CRNetworkNode(host) servernode.AddTile(col * TILE_WIDTH, (TILE_ROWS - row - 1) * TILE_HEIGHT, TILE_WIDTH, TILE_HEIGHT) distspu = SPU('dist_texture') servernode.AddSPU(distspu) servernode.AddSPU(renderspu) for (name, value) in SERVER_OPTIONS: servernode.Conf(name, value) cr.AddNode(servernode) for i in range(NUM_APP_NODES): tilesortSPUs[i].AddServer(servernode, protocol='tcpip', port = 7000 + index) if AUTO_START: servernode.AutoStart( ["/usr/bin/rsh", host, "/bin/sh -c 'DISPLAY=:0 CRMOTHERSHIP=%s LD_LIBRARY_PATH=%s crserver'" % (localHostname, crlibdir) ] )# Add nodes to mothershipfor i in range(NUM_APP_NODES): cr.AddNode(appNodes[i])# Set mothership paramsfor (name, value) in MOTHERSHIP_OPTIONS: cr.Conf(name, value)cr.Go()
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?