Code Monkey home page Code Monkey logo

Comments (24)

NoelCross avatar NoelCross commented on May 18, 2024 1

@prielgaier it is possible that your Docker configuration caps the Docker VM at 8GB which I think is the default setting. You should be able to modify the Docker settings to allocate more of your host system resources to the Docker VM.

from projectacoustics.

MikeChemi avatar MikeChemi commented on May 18, 2024 1

We have made plenty of optimizations since this thread was posted in 2020. Many bake configurations only need 8GB of RAM these days, so there's nothing to worry about unless you're seeing specific failures.

from projectacoustics.

jaegrover avatar jaegrover commented on May 18, 2024

Hi there, I'm not an official PA team member but have been working with it in Unity recently. Please take my comments with a grain of salt.

Can you confirm you've tried the following:
-After baking, search for the MicrosoftAcoustics prefab in your project explorer window
-Drag and drop that into your scene somewhere
-Reference your baked data with that file (I believe you said you did all this, just checking)
-Make sure the Transform/Coordinates on your MicrosoftAcoustics object are set to 0,0,0 otherwise the probe location may be offset and it might not work
-Make sure that you add a Mixer with the Project Acoustics effect on it in your Windows --> Audio --> Audio Mixer view
-Make sure the Audio Source's Positioning is set to full 3D, not 2D
-Make sure the Audio Source has the Spatialize checkbox checked ON
-Make sure that Project Acoustics is set as your Spatializer plugin in your project settings
-While the game is in Play mode, click on the Scene tab. Do you see green voxels drawn over the level geometry where your camera is pointing? If not, the probe data may not have been loaded / positioned correctly

Let me know if any of that helps :)

from projectacoustics.

joachimpoutaraud avatar joachimpoutaraud commented on May 18, 2024

Hi and thanks for your help ! Yes i confirm all the following informations that you send, especially when it comes to set the 0,0,0 on the Transform/Coordinates of the MicrosoftAcoustics object.

(I've also noticed that the audio source is making a short crack when i enter play mode)
Anyway maybe a screenshot of my scene will be more easy to analyse :

acoustic

from projectacoustics.

jaegrover avatar jaegrover commented on May 18, 2024

Ah, I'm sorry that didn't help. It may be best to just wait for an official answer from the PA team.

What I can say at the moment:
-My project looks similar to yours, with the voxels and probes appearing, except the voxels render as blue in my project, rather than red in yours, as you have pointed out.
-I am not using the Acoustics Adjust Experimental script
-I did a bake in the Azure cloud, rather than a local bake

Perhaps you could try removing the Experimental script, and if that doesn't work, doing an Azure bake? I notice you mentioned that you had to rename the baked data file - that's also something I didn't do. The Azure bake should only take about 5-10 minutes. Setting up an account is a little tricky, but it comes with $200 of free credit, and the bake should only cost a few dollars, if that, as long as you select Use Low Priority Nodes from the Bake tab of the Acoustics window. I've set up a couple of Azure accounts now, for personal and professional use, so if you have any questions, please let me know, the process of setting up can be a little intimidating, but it's great once you have it up and running

from projectacoustics.

joachimpoutaraud avatar joachimpoutaraud commented on May 18, 2024

Alright then, i tried to remove the experimental script and rename the .ace.bytes file with only .ace but it is still not working. Concerning the Azure bake, i will take your advice in consideration and create a virtual machine and see if there are any notable changes thanks!

from projectacoustics.

kegodin avatar kegodin commented on May 18, 2024

Hi @joachimcnrs , the red colored probes implies a bake failure. As @jaegrover mentioned (thanks!), probes from a successful bake are colored blue-green. The log file you shared in your original post shows a failure message ('Data was not found for some probes. Output contains data for 0 / 123 probes').

How long did the local bake take? For 123 probes I would have expected it to take a few hours. This will tell us whether the bake failed during initialization or if it completed some computations and failed mid-bake.

You mentioned this is only part of the AcousticsLog.txt, can you share the rest?

from projectacoustics.

joachimpoutaraud avatar joachimpoutaraud commented on May 18, 2024

Alright thanks that is good to know ! The bake did take only 10 minutes so i guess this explain that.

But then i dont understand why the local bake didnt work here is the AcousticsLog.txt file
AcousticsLog.txt

from projectacoustics.

kegodin avatar kegodin commented on May 18, 2024

Thanks for sharing the full file. The log file shows the simulator-encoder crashed on initialization.

How much RAM is on your workstation? If less than 8GB, or if there were other significant RAM users running, it could be an out-of-memory problem. This specific error is one that we know our tools currently lack diagnostics on.

from projectacoustics.

joachimpoutaraud avatar joachimpoutaraud commented on May 18, 2024

Ok thanks, here are the caracteristics of my workstation :

Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 2208 Mhz, 6 Core(s), 12 Logical Processor(s)
Installed Physical Memory (RAM) 32.0 GB

I did install Docker on my machine and configured the advanced settings with resources for 10 GB of RAM for the local bake. I also tried to bake my scene using the Azure Batch and create a vCPU (Standard D13 v2 (8 virtuals processeurs, 56 Gio memory) but the Azure bake status indicate "Waiting for the nodes to initialize".

I precise that i did put the number 2 for the Node count in the bake tab.

from projectacoustics.

jaegrover avatar jaegrover commented on May 18, 2024

Ah ok, you'll need to request more nodes.

In your Azure portal, click on your Batch Account, then on the bottom left (scroll down), click Support (or Open Support Ticket / Request Assistance, I forget the exact wording and unfortunately can't sign into my account atm. The phrases / things to select that I've written below are probably not word for word accurate either, but it'll at least give you a clue as to what to look for)

Select Open a New Issue
Under Issue Type, select Quotas or Account Limits
Select Request a Quota Increase
It will ask you what type of core you want to increase your quota for
There is a drop down menu where you can select what type of cores you're requesting an increase for
Click on this drop down menu and scroll down far until you find "Low-priority nodes / cores," then click on that
Type in the number of Low-Priority Cores that you want. I typed in 1,000, which corresponds to 125 active nodes, so far this has been perfectly adequate for my needs
Click OK / Submit
By the end of the day, you should receive an email letting you know that your quota increase request has been approved
Now, in Unity, open the Acoustics tab, click Bake
Under Node Count, put in 1000
Click on USE LOW PRIORITY. Make sure this is ON
Then submit your bake

This is what has worked for me so far.

To clarify - there are two main types of nodes you can use, dedicated or low priority. Dedicated nodes are reserved exclusively for your use. They are quite expensive to use.
Low-priority nodes are not assigned exclusively to you. When you submit a bake, Azure will attempt to assign you as many available nodes as you have specified in your Node Count field in the Acoustics Bake window - this number is limited by your Account Quota
Low Priority Nodes are MUCH cheaper, and you can easily get access to enough of them to bake even large maps in a few hours.
The only disadvantage of Low Priority Nodes is that they can be co-opted for other tasks by other users with higher priviledges. So far, however, this hasn't affected me negatively - I've had a steady 125 node (1000 core) Low Priority allocation for all of our level bakes over the past weeks with no interruptions. I think the longest bake was a fine bake of a level with 4800 probes, which maybe took 4 hours? Probably less.
By default, when creating a free account with Azure, for some reason you're not assigned any Low Priority Nodes, i.e. your Quota is Zero, so you have to go through the process of requesting that quota increase.
If you request a huge number of nodes, you'll likely be contacted by MS Tech Support for a credit check, basically they don't want people accidentally running up massive charges they can't cover, or abusing their free accounts etc. I'm sure there's more to it, but that's what I know at the moment.

I hope that all helps / makes sense. I'll have access to my account later today, if you're still stuck I can make a quick video tutorial.

from projectacoustics.

joachimpoutaraud avatar joachimpoutaraud commented on May 18, 2024

Thanks for your answer ! I guess my problem is also that i don't really understand the exact meaning of nodes. Can you explain it to me ?

Concerning the Azure Batch, i did ask for a request with a number of 500 low priority nodes. But like you said the Azure Batch Account seems a bit tricky and I think i'll definitly prefer to understand the process with a local bake first to be sure that i am not doing some tricky mistakes.

from projectacoustics.

jaegrover avatar jaegrover commented on May 18, 2024

Sure thing :)

Honestly it's a little confusing for me as well. I've been learning Azure, and all of this terminology, for the first time as I've been figuring out Project Acoustics as well.

If I understand correctly, Azure works by sending tasks to Virtual Machines (VMs). Each Virtual Machine is similar to an actual PC, in that it has a certain amount of RAM and CPU speed available. They can be assigned operating systems like Linux or Windows - you can even select to have certain software installed, e.g. Maya to do 3D rendering tasks.

A "Core" just refers to one of those CPU cores, similarly to how your desktop PC might have an 8-core processor. A Node is a group of cores. In Unity if you go to Window-->Acoustics-->Bake tab, check out the VM Node Type drop-down menu.

By default, the VM (Virtual Machine) Node Type is listed as Standard_F8s_v2. This means that when your data is sent off to Azure for processing, it's going to try to allocate "Standard F Series, Version 2" nodes, which each have 8 cores. Think of this like saying, "We're going to give you one Intel i7 Processor, which has 8 cores in it." So, for each node you are assigned via Azure, you'll be using 8 cores to process the tasks that are sent in.

If you selected 500 Low Priority Nodes, and selected Standard_F8s_v2 as your Node Type, Then Azure is going to try to look for up to 500 Low Priority, Standard_F8s_v2 nodes to use for your task. If it manages to assign all of them, you'll be using 500 nodes * 8 cores, for a total of 4,000 cores. Once again, think of that as using 500 Intel i7 processors, each with all 8 cores running to compute your bake task.

Now, everyone's Azure account has what's called a quota. This is a limit of the maximum number of cores you can use. By default, there's a big group of low-priority nodes that are available on a first come, first serve basis. Think of this like going to a public swimming pool that you and your friends want to go to. If you pay a small fee, you can get in during Open Swim time. Each of you will try to find a lane that's not full of people. As more people come in, lanes may fill up, and they might start going to other lanes. If everything fills up, no more people can come into the pool until someone leaves.

Now, let's say someone is a professional swimmer, so they paid a lot of money to reserve an entire lane for the afternoon. When they show up, they're going to kick everyone else out of that lane. Then they're going swim there for as long as they want. Once they leave, the lane opens up again, and the other folks can come back in. That's similar to how Dedicated Nodes work. You pay a much higher fee, but you guarantee that no one else can interrupt your task.

You could think of a quota as how many people you're allowed to bring to the pool with you. If you've just joined the swim club, they might not want you to show up on the first day with 20 of your friends, especially if they don't know you or your friends very well, or don't know how long you're going to stay there. But if you check in and ask for permission, they'll give you a higher max number of people you can bring with you to the pool at once. You start off with a very low quota of low priority nodes (actually, I think it's zero!) and a very low quality of Dedicated Nodes as well. Once you've spent some time in the pool and have decided which one works best for you, you can submit a request to the staff to either let you bring more friends with you into the open swim area for a lower price (increasing your low priority node quota) or reserve lanes exclusively for you and your team for a very high price (increasing your dedicated node quota).

Since I'm a solo sound designer working as a contractor for an indie team at the moment, I got a quota of 125 Low-Priority Nodes, which corresponds to 1,000 cores. This week, I submitted bakes for 6 of our levels, which had anywhere from 800 to 4000 probes. The average time it took to bake each map was around 3 hours, and the cost for doing all of those was around $200 (it might have been less, we tried an experimental very high probe count - 12,000 - build at the end which increased our charges). By comparison, using 25 dedicated nodes for a bake of a level with 4000 probes took about 3 days and cost us $500. The support staff here at Project Acoustics were super helpful (love you guys <3) in helping me out and saving me from spending tons of money I didn't need - check out the other Issues in this forum, I have a post from a couple of weeks ago that goes into more details.

I hope that helps! If you're still struggling with Azure at all, don't get frustrated. It's pretty weird to get into without having a background in this stuff. I'd be happy to throw together a little video overview for you later on if you think that would be helpful.

Have a great weekend :)

from projectacoustics.

nikunjragh avatar nikunjragh commented on May 18, 2024

Great answer @jaegrover - love the swimming pool analogy for low-pri vs dedicated nodes, quotas etc. Thanks for taking the time to help others.

@joachimcnrs: like jaegrover said, a "node" is a PC sitting somewhere far away with a CPU and RAM, and "cores" are all the CPU cores in it just like your laptop. Our tools are such that each listener probe needs a full PC to do the simulation fast - it will use up all the cores and a lot of RAM on the PC/node (off the top of my head, 16GB to be on the safe side although like @kegodin said, 8GB should be good, but for the local bake you could try upping to 16GB and if it still fails, share logs with us).

from projectacoustics.

joachimpoutaraud avatar joachimpoutaraud commented on May 18, 2024

Hi again and thanks for your answers, they are very clear and helpful !

Because my actual computer has only 6 cores with 32 GB of RAM, i guess it won't be possible to do a local bake. Anyway, i think i'll just wait and see if my low-pri request is accepted and then see if i can manage to do a bake with Azure correctly.

Have a nice day

from projectacoustics.

nikunjragh avatar nikunjragh commented on May 18, 2024

@joachimcnrs 6 cores will work, it will just go slower than with 8 cores :). The hard limit is on RAM. You should be able to do a local bake. I was suggesting increase your Docker allocation to 16GB and try doing a local bake again. And if it still fails, share those logs with us, because with 16GB we know a 100% that it can't really be running out of RAM.

from projectacoustics.

joachimpoutaraud avatar joachimpoutaraud commented on May 18, 2024

Finally it worked !! Thanks again for your help

from projectacoustics.

kegodin avatar kegodin commented on May 18, 2024

Great to hear! So to confirm it sounds like the resolution was to increase the docker image RAM allocation to 16GB. Closing this issue for now.

from projectacoustics.

prielgaier avatar prielgaier commented on May 18, 2024

Great to hear! So to confirm it sounds like the resolution was to increase the docker image RAM allocation to 16GB. Closing this issue for now.

is it possible that the baking process is only using a single ram module? i have 4 ram sticks 8 gb each and in the entire duration of the baking process i see only 8 gb out of 32 gb (memory used) in the task manager

from projectacoustics.

prielgaier avatar prielgaier commented on May 18, 2024

Is a docker being created the moment i run the RunLocalBake.bat? Because im not baking through a virtual machine (unless it runs a vm on its own)
I had no failures its just that i upgraded my cpu from an i7 9700k to an i9 13900k and the local bake times haven't noticeably improve, is it possible that im limited by ram after all? Im baking 500 probes

from projectacoustics.

NoelCross avatar NoelCross commented on May 18, 2024

If you are using Unity, then the RunLocalBake.bat tool utilizes Docker Desktop for executing the local bakes. The Unreal Engine plugin requires downloading additional local bake tools and those tools run natively without Docker Desktop.

from projectacoustics.

MikeChemi avatar MikeChemi commented on May 18, 2024

The processing doesn't scale linearly with number of cores. I'd expect some improvement, but I wouldn't expect 16 cores to be strictly 2x faster than 8 cores, for example. Looking at the processors you listed, I can't say for sure what I'd expect since the i9 has more cores overall but the efficient cores are at a lower clock rate.

from projectacoustics.

prielgaier avatar prielgaier commented on May 18, 2024

@NoelCross I'm using the Unreal Engine's additional bake tools, then i guess i do have a problem with limited ram usage?
@MikeChemi the i9 13900k has 24 cores and 32 threads compared to my old 8 cores 8 threads, and even the efficiency cores run a touch faster at 4.3 GHz compared to 4.2 GHz on my last cpu (locked it due to limited cpu cooling)

from projectacoustics.

MikeChemi avatar MikeChemi commented on May 18, 2024

Gotcha. Could be I/O bound. Each probe that bakes does fresh I/O. How fast are you seeing a single probe bake taking? I've seen that if a probe only takes a few seconds to bake, we can take a couple seconds of I/O for each one, so now the disk reads are the slow thing, not anything to do with the actual processing.

from projectacoustics.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.