Jump to content
Hash, Inc. Forums

Net Render Instructions?


Recommended Posts

Hi Robert,

a good starting point might be that:


It is a shame, that the pdfs are not available anymore here, but there is still nice information in there.

And here the PDFs are still available:

 

Important: All computers need to be in the same network of cause!
It is very helpful, if you have the render-data at a place where every computer can access it. Best is a NAS or another type of network drive. If you do not have something like that, you can still copy the data (A:M files, textures, etc.) over to each computer on the same position like for instance "C:/am_project/my_project.prj".

Important: Do not copy it on your desktop, since the path will vary from computer to computer if the computer user name is different(!).

In general it is pretty easy:
1.) Start RenderServer_64.exe on one of your computers. Make sure it has at least one Core assigned, which is not occupied by a Messenger/Slave. Theoretically it is not necessary, but I think it is the best option.
2.) Now you should read out the IP-address and Port of this computer / the Render Server. You should be able to see that by going to "Tools > Options > Connection".
3.) You can use the other cores of the computer (renderserver) to render too.
4.) Double-Click on RenderMessenger_64.exe in the A:M folder and use the wizard. There your NetRender Server should be automatically set to the IP address you got from step 2. If not, put it in. Same with the port.
5.) On "User defined data" you do not have to put something in, but it is a good idea to write something in that helps you to identify the computer with. That makes it easy to find out, if something is happening with that computer (this is not very hard to guess if you have only 1 or 2 computers in use, but I did it with 12 computers before and than this is really helpful).
6.) If the path of the project files (etc.) is different for the computers (so you could not use a NAS / network drive with the same letter (P:/, etc.) on the computers or you could not copy the files to the same position, the next step can help you. I would try to avoid it, but you can try it out here.
7.) Now start the next computer and install A:M on it. You do not need an own license for that computer or something. After install, just click on "RenderMessenger_64.exe" and follow the Wizard here too. Be sure to put in the right IP and Port of the RenderServer now.

8.) Check the connection of the Rendermessenger. You can see that, in the task bar (next to the clock on Windows). If the icon shows a connection (both "lines are next to eachother without a gab inbetween). If that worked, go back to the Renderserver and have a look. In the lower area of the RenderServer-Window you should now see the other computer-Netrenderslaves and the one of your own computer.

9.) If that is the case, the connection is working and you should be pretty ready to go :).
After that just open Render Messenger on both computers as often as you've got cores (or virtual cores if you use HT/SMT). Only on the Netserver computer leave one to the server.
So if you have a 4 core computer with HyperThreading (HT, Intel) or Simultaneous Multithreading(SMT, AMD) you can use 8 instances on the other computer and 7 on the the server (if the server is a 4 core too).

10.) Now on the Render Server go to "File > New". This will open a new window (Pool1 or something like that).
In that at the top right-click and choose "New Job". A wizard will pop up. Give it a name (this is only for you if you render a couple of different jobs in a row for instance you can see what you do there... for instance "Peter's day out - Walk animation Scene 01 - Take 01" or something like that is a good idea, especially since I leave the jobs in there in general even if they have finished. Browse for the project-file (or chor) on the next button. Be sure, that the path is available on all computers in the same way (or use the option of 6.).
Select which camera and chor in the project you want to use below that.
In general you can leave OpenMP off and GPU is only needed if you use for instance FakeAO/SSAO or something like that. But first I would just try it with an very easy project.

11.) Next put in the render settings you want or use a preset. At the path at "Filename" make sure that the path is available for any computer. You can render to your own c:/ or a net-drive. For the net drive be sure you can access that from any computer. Anything else should be clear. It is mostly the normal render settings you already should know.

12.) After that the new job should be available in the Pool1-Wndows. Now save the job on the server somewhere. (or a net drive... this does not need to be available to other computers)

13.) Now drag and drop the Instances in the lower area of the Window to the lower part of the Pool1 window. After that, the Netmessengers on the computers should start Renderslaves and render the things. You should be able to watch that on the computer displays and you should be able to see that on the REnder Server too. It refreshes every few settings. If something is not working, you should get an information about errors and so on. If you get some, check what it might be on the computer or by having a look at the render server.

Notice: In the Pool1 Window the right mouse button is key. There are a couple of different options there which are really helpful (and pretty straight forward).

I hope I could help a little. If you have any kind of question or problems let us know.

Best regards
*Fuchur*

PS: And this might be interesting for a lot of cores too:
https://www.patchwork3d.de/start-am-netrender-185-en

Link to comment
Share on other sites

Where are the project files placed? Netrender will not share the project files (or textures, etc.) over the network or something. It needs to be accessable by every computer in your network by itself best by using the same network drive letter or you have to replace the path-string "c:/project/myproject/" by "g:/project/myproject/" or something like that. See 6.) for where to do that.

Or can you already access it like that on your windows file explorer using the same path and it can not access that?

Best regards
*Fuchur*

Link to comment
Share on other sites

  • Hash Fellow

The core problem seems to be that if i browse the "network" from my remote computer, I can see my server computer on the network but can't see any of the public/shared folders it contains. It's some sort of permissions problem.

Link to comment
Share on other sites

I think I see what is going on.

You need to share the folder that holds the project and the the project will render too. All my projects are in a folder called "AM_Data"

  • Right click the folder
  • select "Properties"
  • click on the sharing tab(Your use name for windows should be in the box as owner).
    • Your name should be all you need if  that is what you log into every computer on your network as the same log in name. But if you log in with different names on other computers you need to add that name too or "everyone"(There is risks to using everyone anyone on the network can over write or delete with out logging in)
    • Now hit share
  • This will give you a path to the folder(this is mine)
    • \\jason-gaming-pc\AM_Data
  • Now when you open a project on render server user that path.
    • \\jason-gaming-pc\AM_Data\so\data\Act III\Seq03-Departures\Sc03
  • When you set the save path you also need to do the same thing.
    • \\jason-gaming-pc\AM_Data\so_render\Act III\Seq03-Departures\Sc03

       

Link to comment
Share on other sites

  • Hash Fellow

I've made a  folder on my main computer (Q6600) on the C drive called "Frames"

It is shared with the name "AMData"

 

image.png

 

 

Its  permissions are set so that anyone can do anything to it...

 

image.png

 

NetRender aside... I should now at least be able to see that shared folder on "Q6600" over the network from my remote computer "BRENT-PC"

From my remote computer "Brent-PC" the network can see that there is computer named Q6600, but I can't access anything in it, not even the folder that is shared. This is true even if I turn off the Firewall on both computers. What is missing?

 

 

image.png

 

Link to comment
Share on other sites

  • Hash Fellow

When i run the Windows Networking "troubleshooter" on my remote computer, it says I don't have permissions to access the folder I have shared.

What more permissions can i give than the everything and everyone I have already given?

image.png

 

Link to comment
Share on other sites

  • *A:M User*

Robert 

 

Peer to peer setup can be frustrating.   

Try on the permission tab to add a user named Robert if that is how you log onto the remote.  Every user must have read write permission to the folder 

Everyone never seems to work for me.  

Link to comment
Share on other sites

  • *A:M User*

Robert

Also make sure the messenger app is in the exception list for private and domain users of the firewall.  

 

Something stupid I have done in the past, make sure both computers are part of the workgroup under the properties of network advanced settings.  

Link to comment
Share on other sites

  • Hash Fellow

My account name on the remote computer(named "Brent-PC)" is "Remote01". I changed it to that because my account on my main computer was already "Robert"

On my main computer , when i try to "Share with" the folder i want to share, I am unable to add anything from the remote computer. It does not appear in a search of the network, even though it does appear in the "network" in Windows explorer.

 

image.png

Link to comment
Share on other sites

  • Hash Fellow

I got the p2p services "started"

The problem with Homegroups seemed to be that each computer had one established but they were not the same Homegroup.

I killed one of them and joined the other and now I can indeed see shared folders remotely.

However, my remote Netrender node still is "unable to load Project."

 

Quote

Ok try this on the main computer add user in the control panel with admin rights remote01.  Then make sure in the permissions on the data folder remote01 has read and write 

I did this and now there is a user named "Remote01" on my main computer but... that doesn't seem to change anything about my remote computer.

Link to comment
Share on other sites

  • Hash Fellow

Hold everything... I think  it's working! I've got some manually started nodes doing something on both computers.

Thank you Gerald, Steve and Jason for your suggestions.

I think there were three cascading problems...

  • p2p services not getting started when my computer booted up
  • each computer had it's own "HomeGroup"
  • although Netrender can see nodes on a remote computer that were started from one of the remote computer's folders, those nodes can't seem to understand paths to PRJs. If i navigate from the remote computer to the AM folder on the main computer and start a RenderMessenger, that will load/run on the remote computer AND be able to load PRJs via a network path.

 

image.png

Link to comment
Share on other sites

  • Hash Fellow

If a Project loads and renders OK in A:M, what makes a render node decide it is "Invalid"?

The nodes that are on my server computer still render it fine, but the remote node can not.

On the Render Server display the nodes is just perpetually stuck at "Loading frame" with no error reported.

 

image.png

Link to comment
Share on other sites

Is it a complex project or just a very simple one (start with the second of cause ;) ).

It really is just a guess but are you running the same version of A:M/Netrenderer on both systems?
Are you using GPU features in the project?

I think I could even run different versions of A:M, but I am just not sure at the moment.

Best regards
*Fuchur*

Link to comment
Share on other sites

  • Hash Fellow

It's a very simple test project. It is baffling because the same project worked before I changed it to render with AO.

IT has to be the same version of Netrender since everything is coming from the AMRoot directory on the server

 

Link to comment
Share on other sites

  • *A:M User*

Yep I remember.  Try this, install am on Brent-PC.   Then copy license into am folder.  Then launch messenger on brentpc and see if that helps. 

Remind me what type of video card is in that machine. 

Link to comment
Share on other sites

  • Hash Fellow

The test i did last night was when i still had A:M installed on the remote PC. 

But according to the plan in Jody's PDF everything is supposed to come from the server, So I uninstalled A:M from the remote computer.

With A:M gone from the remote computer, The rendermessengers are still properly pulled from the main server and run on the remote computer, according to plan.

However, the RenderMessengers are still looking for RenderSlaves on a hard-coded path to a C drive, which won't exist on the remote computer.

How do I get the messengers to properly look for RenderSlaves in the network shared folder \AMRoot?

image.png

 

Update....

I can RMB on the remote slave in Netrender and choose "Change slave exe" and choose RenderSlave.exe from the networked folder.

Now it renders!

But what do i need to do to make this happen automatically, so i don't need to rechoose every slave every time I run Netrender?

 

image.png

 

Link to comment
Share on other sites

I never tried it like that... always had A:M installed on each machine. You do not need the lic-file on the other computer if you are only using it for rendering.
Maybe just use a local path for rendering for now and see if that works?

Best regards
*Fuchur*

Link to comment
Share on other sites

  • Hash Fellow

Finding plugins (especially Image IO plugins, needed to save a render) seems to be problem for slaves on machines that don't have an actual directory of A:M installed.

Is there some way using "folder paths" (?) or shortcuts to make the slave look across the network to the A:M folder installed on the main machine for additional items it needs?

 If C:\Program Files\Hash Inc\V19.0\ImageIOS doesn't exist on the slave machine can we make it look to \\MainComputer\AMRoot\ImageIOS ?

There is an "override plugin folders" option  in Netrender but that doesn't seem to work the same as the "override slaves" option, which was able to get the Render Messengers to pull their slaves from the main computer instead of needing them locally.

 

 

Link to comment
Share on other sites

  • Hash Fellow

For simplicity of maintaining the system. You only need to ever update the main computer if everything comes from there. That was the premise of Jody's PDF. If it can work that would be the way to go.

Link to comment
Share on other sites

You might try to put in your network address in A:M itself. I am not sure if that helps, but you could try it:

1.) Go to the computer where the full A:M is installed on and open A:M.
2.) In A:M click on "Tools > Options" and go to "Folders".
3.) Click on the drop down and choose "Image IO Plugins (iio files)" and set in the field below the network drive and not the local one. (i would copy the default folder path to a editor just in case)

Since you are opening the Slaves/Messengers from that folder, maybe it will choose those pathes from there too?

Best regards
*Fuchur*

Link to comment
Share on other sites

  • Hash Fellow
20 minutes ago, Fuchur said:

You might try to put in your network address in A:M itself. I am not sure if that helps, but you could try it:

1.) Go to the computer where the full A:M is installed on and open A:M.
2.) In A:M click on "Tools > Options" and go to "Folders".
3.) Click on the drop down and choose "Image IO Plugins (iio files)" and set in the field below the network drive and not the local one. (i would copy the default folder path to a editor just in case)

Since you are opening the Slaves/Messengers from that folder, maybe it will choose those pathes from there too?

Best regards
*Fuchur*

 

Here's what i don't understand.  This same window popsup in Netrender to choose a network location of IO plugins but it is also going to assign a drive letter, unlike the window where a network location for slaves was assigned.

You can set this alternate path but how do you get the slaves to use it?

 

image.png

Link to comment
Share on other sites

Did you try out what I suggested? I am not sure what happens if you are opening a program installed on one computer through network on another. I would say that all the stuff is saved in the registery of the original computer and is like that not available for the other one, but I could be wrong.

It sounds like something that is a highly risky security vise (to be able to open a program from another computer and change stuff with that there) and I would never had try that, but if you are okay with that, try it out. Maybe the slaves will try to open a file like master_64.MAC next to the executable or something like that but it is more likely that those information is saved in the registery of the computer and then it is pretty much over if you ask me.

I never messed with it because it just worked without a problem for me by installing A:M on each system and that creates the right registery entries for it, but if A:M does not need those and saves it to a file, you might be lucky.

Best regards
*Fuchur*

Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...