Menu

configuring dist_texture SPU / pixel blaster

Help
Anonymous
2003-06-18
2003-06-19
  • Anonymous

    Anonymous - 2003-06-18

    Hello.

    I am attempting to optimized movie playback on a powerwall.  Right now, I just have three tiles with three server nodes.  There is also a client head node.  Here is the python scipt used to start pixelblaster...

    -------------------------------------------

    import sys
    sys.path.append( '../../server' )
    from mothership import *
                                                                                                                                          
    #Check correct arguments
    if len(sys.argv) != 6:
            print 'Usage: %s <dir_of_movie> <first_padded_frame> <start pos> <stop pos> <increment>' % sys.argv[0]
            sys.exit(-1)
                                                                                                                                          
                                                                                                                                          
    #Set pixel blaster variables from arguments
    MOVIE_DIR = sys.argv[1]
    FIRST_FRAME = sys.argv[2]
    START_POS = sys.argv[3]
    STOP_POS = sys.argv[4]
    INCREMENT = sys.argv[5]
                                                                                                                                          
    #System setupi
    # dist_texture only needed for write mode
    server_spu = SPU( 'render' )
    client_spu = SPU( 'tilesort' )
    dist_texture_spu = SPU( 'dist_texture' )
    server_spu.Conf( 'window_geometry', 0, 0, 1280, 1024 )
    client_spu.Conf( 'draw_bbox', 0 )
                                                                                                                                          
    #configure servers
    #SERVER Row 1, Column 1
    server11_node = CRNetworkNode( 'grotto3' )
    server11_node.AddSPU( dist_texture )
    server11_node.AddSPU( server_spu )
    server11_node.AddTile( 0, 0, 1280, 1024 )
                                                                                                                                          
    #SERVER Row 1, Column 2
    server12_node = CRNetworkNode( 'grotto2' )
    server12_node.AddSPU( dist_texture )
    server12_node.AddSPU( server_spu )
    server12_node.AddTile( 1280, 0, 1280, 1024 )
                                                                                                                                          
    #SERVER Row 1, Column 3
    server13_node = CRNetworkNode( 'grotto1' )
    server13_node.AddSPU( dist_texture )
    server13_node.AddSPU( server_spu )
    server13_node.AddTile( 2560, 0, 1280, 1024 )
                                                                                                                                          
    #Configure client
    client_node = CRApplicationNode( 'grotto' )
    client_node.AddSPU( client_spu )
    #Add all of the servers to this client.
    client_spu.AddServer( server11_node, 'tcpip' )
    client_spu.AddServer( server12_node, 'tcpip' )
    client_spu.AddServer( server13_node, 'tcpip' )
                                                                                                                                          
    #Specify the location of the application that is to run using Chromium.
    client_node.SetApplication( '/usr/local/npb-1.2/npb -W %s/%s %s %s %s' % (MOVIE_DIR, FIRST_FRAME, START_POS, STOP_POS, INCREMENT) )
    #client_node.SetApplication( '/usr/local/npb-1.2/npb ' )
    #client_node.StartDir( APPLICATION_DIR )
    client_node.StartDir( '/usr/local/npb-1.2' )
                                                                                                                                          
    #Start the mothership.
    cr = CR()
    cr.MTU( 2048*1024 );
    cr.AddNode( client_node )
    cr.AddNode( server11_node )
    cr.AddNode( server12_node )
    cr.AddNode( server13_node )
    cr.Go()

    -----------------------------------------------------------------

    I am creating a dir on the head node /usr/local/frames/SC02.  I then place all the .jpg frames in this directory.  I create an identical directory on each server node that remains empty.

    I would expect the texture fiels to be written in these directoies when I run using the -W flag, but they remain empty.  in fact, everything plays exactly as if it is in simple mode.

    Any advice is greatly appreciated.
    daniel@cs.utk.edu

                                                                                                                                 

     
    • Anonymous

      Anonymous - 2003-06-19

      This problem has been fixed and for those that are interested, the corrected .conf file is provided below:

      --------------------------------------------
      import sys
      sys.path.append( '../../server' )
      from mothership import *
                                                                                                                                             
      #Check correct arguments
      if len(sys.argv) != 6:
              print 'Usage: %s <dir_of_movie> <first_padded_frame> <start pos> <stop pos> <increment>' % sys.argv[0]
              sys.exit(-1)
                                                                                                                                             
                                                                                                                                             
      #Set pixel blaster variables from arguments
      MOVIE_DIR = sys.argv[1]
      FIRST_FRAME = sys.argv[2]
      START_POS = sys.argv[3]
      STOP_POS = sys.argv[4]
      INCREMENT = sys.argv[5]
                                                                                                                                             
      #System setupi
      # dist_texture only needed for write mode
      server_spu = SPU( 'render' )
      client_spu = SPU( 'tilesort' )
      dist_texture_spu_11 = SPU( 'dist_texture' )
      dist_texture_spu_12 = SPU( 'dist_texture' )
      dist_texture_spu_13 = SPU( 'dist_texture' )
      server_spu.Conf( 'window_geometry', 0, 0, 1280, 1024 )
      client_spu.Conf( 'draw_bbox', 0 )
                                                                                                                                             
      #configure servers
      #SERVER Row 1, Column 1
      server11_node = CRNetworkNode( 'grotto3' )
      server11_node.AddSPU( dist_texture_spu_11 )
      server11_node.AddSPU( server_spu )
      server11_node.AddTile( 0, 0, 1280, 1024 )
                                                                                                                                             
      #SERVER Row 1, Column 2
      server12_node = CRNetworkNode( 'grotto2' )
      server12_node.AddSPU( dist_texture_spu_12 )
      server12_node.AddSPU( server_spu )
      server12_node.AddTile( 1280, 0, 1280, 1024 )
                                                                                                                                              #SERVER Row 1, Column 3
      server13_node = CRNetworkNode( 'grotto1' )
      server13_node.AddSPU( dist_texture_spu_13 )
      server13_node.AddSPU( server_spu )
      server13_node.AddTile( 2560, 0, 1280, 1024 )
                                                                                                                                             
      #Configure client
      client_node = CRApplicationNode( 'grotto' )
      client_node.AddSPU( client_spu )
      #Add all of the servers to this client.
      client_spu.AddServer( server11_node, 'tcpip' )
      client_spu.AddServer( server12_node, 'tcpip' )
      client_spu.AddServer( server13_node, 'tcpip' )
                                                                                                                                             
      #Specify the location of the application that is to run using Chromium.
      client_node.SetApplication( '/usr/local/npb-1.2/npb -W %s/%s %s %s %s' % (MOVIE_DIR, FIRST_FRAME, START_POS, STOP_POS, INCREMENT) )
      #client_node.SetApplication( '/usr/local/npb-1.2/npb ' )
      #client_node.StartDir( APPLICATION_DIR )
      client_node.StartDir( '/usr/local/npb-1.2' )
                                                                                                                                             
      #Start the mothership.
      cr = CR()
      cr.MTU( 2048*1024 );
      cr.AddNode( client_node )
      cr.AddNode( server11_node )
      cr.AddNode( server12_node )
      cr.AddNode( server13_node )
      cr.Go()

       

Log in to post a comment.