Entropy Filtering

Hello,

I’ve been running some supersonic cases with the entropy filtering (PyFR = 1.15.0) and my simulation started to divergence, I was able to stabilise it with a very frequent soln-filter but the performance is suffering a lot from that. Do you have any further insight on the behaviour? Is it due to low grid resolution? Any idea on how to improve the speed of the calculations?
Below the configuration sections of interest

[solver]
system = navier-stokes
order = 4
viscosity-correction = sutherland
shock-capturing = entropy-filter

[soln-filter]
nsteps = 10
cutoff = 0
order = 16
alpha = 36

[solver-entropy-filter]
d-min = 1e-6
p-min = 1e-6
e-tol = 1e-4

[solver-time-integrator]
scheme = tvd-rk3
dt = 3e-9
controller = none
tstart = 0 
tend = 0.02

[soln-filter]
nsteps = 10
cutoff = 0
order = 16
alpha = 36

[solver-interfaces]
riemann-solver = hllc
ldg-beta = 0.5
ldg-tau = 0.1

[solver-interfaces-quad]
soln-pts = gauss-legendre-lobatto
flux-pts = gauss-legendre-lobatto

[solver-elements-hex]
soln-pts = gauss-legendre-lobatto
flux-pts = gauss-legendre-lobatto

Can you double check the version you are using. I’m not sure if entropy-filtering is an option in 1.15.0?

The _version.py shows:

__version__ = '1.15.0'

Moreover, do you have any insight on its performance impact on the simulation? Can this impact be reduced somehow?

You’ll want to upgrade to version 2.0.2 as that is the latest stable version, and prior versions don’t support entropy filtering.

The main issue is the rocm dependency that is not supported by our cluster. Any idea on how to go around it?

PyFR doesn’t have a hard dependency on HIP; for example, I currently have it installed on several clusters without HIP.

What does the error message look like?

My fault I wanted to say ROCm

This was the error.

Clusters we use in any foreseable future will support it

Best

Ah, this is the hard dependency on ROCm>=v6. You have 5.3.3; is there anything newer available?

Theoretically, ROCm doesn’t require root access to compile, so you could do it yourself.

Regardless, if you want entropy filtering, you must be on PyFR v2, as this feature isn’t in older versions.

It is strongly recommended to not use it neither compile it because it can cause severe issues to the filesystem, that’s the main reason behind not using it.
Any other idea?

Ask the system admins. Sadly, there really isn’t a way around using ROCm v6 for PyFR v2.

We already did that and that was their answer unfortunately…

I highly suspect your system administrators do not know what they are talking about.

Case in point the most powerful supercomputer in the world, Frontier, is based around AMD GPUs and has ROCm 6 available as a module.

Regards. Freddie.

1 Like

Anyway, in the 1.15.0 the results are still “physical” or the changes pushed to 2.0.2 is the only “valid” version of the entropy filtering?

The only released version of the code with entropy filtering is the v2 series.

Regards, Freddie.