locked
Directions to submit a NewTEK Lightwave rendering job to High Performance Cluster: RRS feed

  • General discussion

  • On the client

    1. From the Lightwave application, from the file menu choose package scene.  You can choose to save the scene to a folder (that will be the "project name" you are working on.)  The name of the folder can have NO_SPACES in that name.  Use underscores instead if you need spaces. 
    2. The packaged scene will have 3 subfolders, Images, Objects and Scenes.
    3. In the scenes subfolder, it is required that the scene file (*.lws) is setup to output to z:\%projectname% where %projectname% is the name of the folder you packaged your scene to.  So, if you packaged the scene to a folder name "MyRender" for example, the scene file needs to be configured to output to z:\MyRender\.  If this path is not set properly, you will not get output (though the rendering will occur).  Specifically, the line [SaveRGBImagesPrefix Z:\MyRender\Output_File_Name_1].  With the line in the scene file, the images resulting from the parametric sweep will be save to z:\MyRender\Output_File_Name_1.img through z:\MyRender\Output_File_Name_n.img.
    4. Copy the Lightwave scene you just packaged to the content folder on the cluster server.  You will copy the top folder with the (3) subfolders. To do that:
    5. Map a drive (L:) to \\headnode\LightWave
    6. Navigate to (L:\Content) and Copy your "Project Name" folder to that location.  (MyRender) is an example of what will be copied to the remote server.  So there will be l:\content\MyRender with the (subfolders)
    7. The output folder on Z: needs to be created / on the headnode.  In the example above, the output folder that needs to be created is z:\myrender

     

    On the headnode of the HPCC

    1.     The program NewTEK Lightwave is installed on the headnode of the cluster.  The client needs a dongle to run, the HPCC members/headnode do not need a dongle to run the command line render engine.

    2.     "C:\Program Files (x86)\NewTek\LightWave 3D 9" is shared as “Lightwave”

    3.     A disk array on the head node with an output folder is shared as “output.”

    4.     Create a batchfile submit.bat as below

    net use L: \\headnode\lightwave

    net use Z: \\headnode\output

    cd L:\

    L:\programs\lwsn.exe -3 -c"L:\config\lw9.cfg" -d"l:\content\%1" "L:\content\%1\scenes\%2" %3 %4 1

     

    5.     In the job manager, Create a new job.  Add a new parametric sweep.  The task for the parametric sweep, the task for the parametric sweep is

    [\\headnode\lightwave\submit.bat MyRender ScenFile_in_MyRender.lws * *]

    6.     Where %MyRender% is the name of the subfolder of the schene you packages in the example above, and %scenefile_inMyRender is the name of the scene file in the scenes subfolder you are using.

    SuSubmit the job.

     

    Performance Considerations

    For the 32bit version of lightwave on a 64bit cluster (what we are running on) each thread appears limited/will use up to 2GB of RAM.

    C:\Program Files (x86)\NewTek\LightWave 3D 9\Config\lw9.cfg controls the number of threads per core in a server.  set 

    RenderThreads 0 when submitting per node, all the server cores will work to process each frame together using 2GB of RAM total.  

    RenderThreads 1 when submitting per core, each server core will process its own frame using 2GB of RAM.

    We found on a dual socket, 8 core server (total 8 cores 2x4) that the ideal configuration was to have 16GB of RAM, allowing each core to use the full 2GB of RAM was 40% faster than the same job run on the same server with 4GB of RAM.  2GB RAM per thread, configure per core was the optimum config in our testing of comparisions submitting jobs per core, per socket or per node with different amounts of RAM on a 64BIT HPCC 2008, using the 32Bit version of Lightwave.  When RAM was limited, jobs submitted per node outperformed jobs submitted per core because the jobs were RAM starved.  On a 16core server with 16GB a RAM a job submitted per core to 8 cores outperformed the same job per core submitted to all 16 cores.


     

    Tuesday, May 5, 2009 4:34 PM

All replies

  • I am looking into setting up a render server for Lightwave, and i was wondering if it will use a GPU rather than just the CPU. Specifically, I want to know if i should buy an NVIDIA Tesla.

    Wednesday, May 27, 2009 1:37 AM
  • We looked at that.  On the lightwave site there were responses indicating it was not supported... though it would be really cool if it was.
    Wednesday, June 10, 2009 8:31 PM