Finding Option Probability Density Using Local Volatility from Dupire Model

This question is different than pricing using dupire local volatility model and Is Dupire's local volatility model path independent to recover historical option price?

I also asked this on Math Stack Exchange and realized it would be better asked here.

I have been reading about the Dupire local volatility model. I have found ways to calculate the local volatility so for my question we can assume that it is known.

More specifically, it is considered piecewise constant between strikes and tenors so I have a local volatility surface that should be defined for all times and strikes.

From here I am wondering how I can think about solving the Dupire equation and recover risk neutral probability densities. I am not super familiar with Stochastic Differential Equations so I am hoping that I can receive help reasoning through the problem.

My attempt

The Dupire equation takes the form $$dS_t=μ_tS_tdt+σ(S_t,t)S_tdW_t$$ where $$S_t$$ is the stock price at time $$t$$, $$μ_t$$ is the drift term, $$σ$$ is the local volatility and $$W_t$$ is a Wiener process. Additionally, $$S_t|_{t=0}=S_0$$.

For simplicity I have been taking $$μ_t=0$$.

It is at this point that I have been getting confused about how to define the necessary constraints to solve the Ito integral.

First, I take it that $$S_0$$ is the spot price of the underlying of the derivative. If we solve this SDE, do we then find the how the spot price evolves over time? How does that help with option pricing? If $$S_0$$ is not the spot price, what instead is it? Is it the price of an option with a given strike at $$t=0$$ and we are then solving for the option prices at that strike across time?

If the latter is the case, do I solve this SDE for each forward price I want to query and simply have my volatility function be a function of time?

Once I have priced my options, I simply plan on taking the second derivative of price with respect to strike at each tenor to find the risk neutral probability density. Assume for this problem that tenors and strikes are dense enough that differentiation makes sense.

I found all of this information in Lecture 1: Stochastic Volatility and Local Volatility by Jim Gatheral, http://web.math.ku.dk/~rolf/teaching/ctff03/Gatheral.1.pdf

The answer is that $$S_t$$ is a random variable which has realizations that can be solved for using a monte carlo or numerical methods. By solving for this value many times (which is what a monte carlo does for instance) you can find a distribution of prices of the underlying at a given time. This is because the process is random so each solve should be slightly different. With enough realizations of this random variable forming a distribution, you can then price the option as all you need is a strike and distribution to find the price of an option ($$C(t,K) = \int_{K}^\infty p_t(x)(x-K)dx$$)