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 + -
显示快捷键?