[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3503] trunk/py/scripts/tools/bi_farm: CUDA option now working

Campbell Barton ideasman42 at gmail.com
Mon Jun 18 17:47:16 CEST 2012


Revision: 3503
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3503
Author:   campbellbarton
Date:     2012-06-18 15:47:16 +0000 (Mon, 18 Jun 2012)
Log Message:
-----------
CUDA option now working

Modified Paths:
--------------
    trunk/py/scripts/tools/bi_farm/master_ui.py
    trunk/py/scripts/tools/bi_farm/new_blender_setup.py
    trunk/py/scripts/tools/bi_farm/new_master.py
    trunk/py/scripts/tools/bi_farm/new_node_update_frames.sh

Modified: trunk/py/scripts/tools/bi_farm/master_ui.py
===================================================================
--- trunk/py/scripts/tools/bi_farm/master_ui.py	2012-06-18 14:41:10 UTC (rev 3502)
+++ trunk/py/scripts/tools/bi_farm/master_ui.py	2012-06-18 15:47:16 UTC (rev 3503)
@@ -324,7 +324,10 @@
         # add a slave
         elif self.path == '/slave_add':
             d = urllib.parse.parse_qs(command)
-            slave_add(d['id'][0], d['ip'][0], eval(d['is_cuda'][0].capitalize()))
+            slave_add(d['id'][0],
+                      d['ip'][0],
+                      "is_cuda" in d,  # checkbox, only exists if pressed
+                      )
         # add a job
         elif self.path == '/job_add':
             d = urllib.parse.parse_qs(command)
@@ -491,7 +494,7 @@
                 # output("<td>")
                 # dropdown('job_set_processor', job.id, job.processor, Job.processor_types)
                 # output("%d" % job.processor)
-                output("<td>" + job.processor "</td>\n")
+                output("<td>" + job.processor + "</td>\n")
 
                 output("<td id='td-toggle'>")
                 action('job_remove(\\"%s\\")' % job.id, "X", "Are you sure you want to remove this job?")
@@ -527,7 +530,7 @@
             output("</select>\n")
 
             output("<select name='processor'>\n")
-            for option in Job.processor_type:
+            for option in Job.processor_types:
                 if option == 'CPU':
                     state = "selected"
                 else:
@@ -588,7 +591,7 @@
                 output("</td>\n")
                 output("<td>" + slave.id + "</td>\n")
                 output("<td>" + slave.ip + "</td>\n")
-                output("<td>" + ("\u2611" if slave.is_cuda else "\u2610")  + "</td>\n")
+                output("<td>" + ("&#x2611;" if slave.is_cuda else "&#x2610;")  + "</td>\n")
                 if slave.status == 'Disabled':
                         output("<td style='color:red'>" + slave.status + "</td>\n")
                 else:
@@ -609,7 +612,7 @@
             output("<form method='post' action='/slave_add'>\n")
             output("<input name='id' value='Computer X' size='25'/>\n")
             output("<input name='ip' value='192.168.1.x' size='25'/>\n")
-            output("<input name='is_cuda' checked='no' type='checkbox'>Cuda</input>\n")
+            output("<input name='is_cuda' type='checkbox'>Cuda</input>\n")
             output("<input type='submit' value='Add Slave'/>\n")
             output("</form>\n")
 

Modified: trunk/py/scripts/tools/bi_farm/new_blender_setup.py
===================================================================
--- trunk/py/scripts/tools/bi_farm/new_blender_setup.py	2012-06-18 14:41:10 UTC (rev 3502)
+++ trunk/py/scripts/tools/bi_farm/new_blender_setup.py	2012-06-18 15:47:16 UTC (rev 3503)
@@ -37,12 +37,13 @@
 #    print("finals_config not found")
 #    sys.exit(1)
 
+
+# TODO: cleanup this and use some nice arg parsing!
+processor = sys.argv[-5]
 output_fpath = sys.argv[-4]
 render_frame = int(sys.argv[-3])
 quality = sys.argv[-2] + " " + sys.argv[-1]
-print(quality)
 
-
 def get_ip():
 
     import socket
@@ -141,8 +142,20 @@
             rd.threads = 8
         '''
 
+
+        # REMOVE SOON
+        '''
         if ip == "192.168.3.190":
             scene.cycles.device = 'GPU'
+        '''
+        
+        if processor == 'CPU':
+            scene.cycles.device = 'CPU'
+        elif processor == 'CUDA':
+            scene.cycles.device = 'GPU'
+        else:
+            assert(0)
+
         scene.cycles.use_cache = False
 
         print("rendering using %d threads" % (rd.threads))

Modified: trunk/py/scripts/tools/bi_farm/new_master.py
===================================================================
--- trunk/py/scripts/tools/bi_farm/new_master.py	2012-06-18 14:41:10 UTC (rev 3502)
+++ trunk/py/scripts/tools/bi_farm/new_master.py	2012-06-18 15:47:16 UTC (rev 3503)
@@ -352,7 +352,7 @@
 
     frame_list = " ".join([str(f) for f in frames])
 
-    remote_command(ip, os.path.join(FARM_DIR, "new_node_update_frames.sh") + " " + filename + " " + output_filename + " \"" + job.quality + "\" " + frame_list)
+    remote_command(ip, os.path.join(FARM_DIR, "new_node_update_frames.sh") + " " + filename + " " + job.processor + " " + output_filename + " \"" + job.quality + "\" " + frame_list)
 
 
 def generate_avi():
@@ -480,7 +480,7 @@
                     # test the processor
                     if job.processor == 'CPU':
                         return True
-                    elif processor == 'CUDA':
+                    elif job.processor == 'CUDA':
                         return (slave.is_cuda == True)
 
                 slave_job, slave_frames = job_find(slaves_state, do_finals, num_frames,

Modified: trunk/py/scripts/tools/bi_farm/new_node_update_frames.sh
===================================================================
--- trunk/py/scripts/tools/bi_farm/new_node_update_frames.sh	2012-06-18 14:41:10 UTC (rev 3502)
+++ trunk/py/scripts/tools/bi_farm/new_node_update_frames.sh	2012-06-18 15:47:16 UTC (rev 3503)
@@ -13,12 +13,15 @@
 fi
 
 BLEND=$1
-OUTPUT_BLEND=$2
-QUALITY=$3
+PROCESSOR=$2
+OUTPUT_BLEND=$3
+QUALITY=$4
 
+# skip 4 args above
 shift
 shift
 shift
+shift
 
 # get info on the file we're rendering
 echo "Rendering "${BLEND/\/media\/data\/mango_farm_svn\//}" "$* > $BUSY
@@ -26,7 +29,7 @@
 for FRAME in $*
 do
     # -a doesnt work. TODO, find out why, render with operator until then.
-    $FARM_DIR/new_node_command.sh nice -n 19 $FARM_DIR/blender_farm.sh --background -noaudio $BLEND --python $FARM_DIR/new_blender_setup.py -- $OUTPUT_BLEND $FRAME $QUALITY &
+    $FARM_DIR/new_node_command.sh nice -n 19 $FARM_DIR/blender_farm.sh --background -noaudio $BLEND --python $FARM_DIR/new_blender_setup.py -- $PROCESSOR $OUTPUT_BLEND $FRAME $QUALITY &
     # no background for testing...
     # $FARM_DIR/new_node_command.sh nice -n 19 $FARM_DIR/blender_farm.sh -noaudio $BLEND --python $FARM_DIR/new_blender_setup.py -- $OUTPUT_BLEND $FRAME $QUALITY &
 done



More information about the Bf-extensions-cvs mailing list