It is currently Fri Mar 29, 2024 8:35 am


New Hauptwerk-PC

Buying or building computers for Hauptwerk, recommendations, troubleshooting computer hardware issues.
  • Author
  • Message
Offline
User avatar

vpo-organist

Member

  • Posts: 306
  • Joined: Wed Apr 29, 2020 6:49 am

New Hauptwerk-PC

PostThu Feb 02, 2023 2:42 pm

@Martin Dyde

I am planning to buy a new Hauptwerk PC (HW VII). For this I need some data on how Hauptwerk uses the hardware.
I saw that the Ryzen 9 7950X has an AVX-512 vector unit.

Does HW use AVX-512?
Does HW use more than 8 cores?

Is there a significant performance increase to be expected between AVX2 and AVX-512? 32 512-bit registers sounds like a lot of power if Hauptwerk is also using.

https://en.wikipedia.org/wiki/AVX-512#Instruction_set
Offline
User avatar

mdyde

Moderator

  • Posts: 15446
  • Joined: Fri Mar 14, 2003 1:19 pm
  • Location: UK

Re: New Hauptwerk-PC

PostThu Feb 02, 2023 3:39 pm

Hello vpo-organist,

[Topic moved here.]

In those regards, the situation for Hauptwerk v7 is the same it was for v6, and the answers I gave you to those questions in 2021 still apply:

viewtopic.php?f=16&t=19973

I.e.:

mdyde wrote:I'm afraid I don't have any specific benchmarks to offer for the hardware you're looking for, or much more to add beyond what was already covered in the previous discussions on it in this thread:

viewtopic.php?f=16&t=19945

mdyde wrote:A few minor points to add to Bob's very comprehensive reply (thanks very much, Bob):

vpo-organist wrote:How many cores are used by Hauptwerk?


- Hauptwerk's audio and convolution reverb engines should run distributed across any number of logical cores up to 64.

- If I recall correctly, the most I've ever heard of anyone using with Hauptwerk is 32 physical cores, although more commonly up to 16 or 24 (and even then, more than 12 is rare).

- More CPU cores do potentially benefit polyphony and the convolution reverb engine, but per-core CPU performance is still extremely important, since threads running on different cores inevitably sometimes need to communicate with each other (thread synchronisation, exchanging data, etc.), and the more cores there are, the more the overheads in keeping them synchronised. Hence with huge numbers of cores there may eventually be a point beyond which more cores even reduce overall performance. Although I can't give advice based on benchmarks, my inclination would be to be wary of going much beyond about 8 physical cores if doing so also involved a significant trade-off in per-core performance (base clock speed, etc.).

- Base clock speed, CPU cache, and memory bandwidth are also extremely important, as is making sure that any candidate CPU has support for the AVX2 instruction set.

- If it doesn't involve much of a trade-off in per-core performance (base clock speed, etc.), then I would expect that up to something like 16 physical CPU cores (32 logical) would scale well with minimal additional synchronisation overheads. (Numbers of cores beyond that may well perform well too, but we don't have feedback on that.)

- Hauptwerk's sample set cache loading mechanism (which determines how fast organs are loaded into memory) can currently take advantage of up to 6 CPU cores (but more won't hurt).

- The MIDI/relay event processing (organ switches, pipe on/off events, etc.) are necessarily serialised to ensure that the state of the organ relay remains consistent.

- Each of the background models (wind supply models, pipework modulation, tremulants) runs in its own thread (one thread per model). That's done since the wind model's time-slices need to be extremely short/frequent (sub-millisecond) and serialised. (It might possibly be be able to gain some performance in the future from further multi-threading the wind model within the time-slices, but possibly not, since the overheads of so many, extremely frequent, thread context switches might exceed any potential performance gain.)

- The first few logical cores are kept free of audio/convolution engine loads, and are instead used for the MIDI/relay, background models, and other threads. If there are 12 or more logical CPU cores then the first 4 logical cores will be reserved for those purposes.

- Hence per-core performance may well become a bottleneck for the achievable polyphony, even if you had a huge number of cores for the audio engine.

So in summary, to emphasize again: per-core performance (base clock speed, etc.) is still very, very important, even with a lot of cores.

vpo-organist wrote:Is AVX-512 also supported by Hauptwerk?


AVX-512 might possibly benefit convolution reverb performance (which relies on a third-part library for the DFFT function), but Hauptwerk (v6.0.2) won't currently benefit from it above AVX2 in other respects. (AVX2 is definitely worthwhile.)

(We did originally make a dedicated AVX-512 build for testing, but there seemed to be strange compatibility problems with at least one AVX-512 CPU, and it gave negligible performance/polyphony gain anyway, so we abandoned it for now, to be on the safe side. It might be resurrected in the longer-term if it proves beneficial.)

vpo-organist wrote:I currently only know the Intel Core i9-10980XE with AVX-512, Turbo 4.8 GHz, 18 cores/36 threads and costs around 1000 EUR. CPU benchmark 33989.

Or should it be a Ryzen 9 5900X, 4.8 GHz, 12Core/24Threads, AVX-2, Bench 39518 for 544 EUR?


Bob's reply covers that in great depth, and the only thing I would add is that Hauptwerk's convolution reverb engine might possibly perform better on Intel CPUs than AMD, all else being equal (same per-core performance, etc.), but in other respects Hauptwerk should be optimised equally for instruction sets (AVX2, etc.) on Intel vs. AMD CPUs.



As above:

- Hauptwerk's audio and convolution engines will certainly take advantage of more than 8 physical cores, but since per-core performance is also extremely important I would be cautious of going much beyond 8 cores if doing so also involves a significant compromise in per-core performance (otherwise, the more cores the better, within reason).

- AVX-512 may be used by Hauptwerk's convolution engine on Intel CPUs (and may potentially give a worthwhile performance benefit for convolution, especially if you want to use lots of reverb instances simultaneously), but probably won't be used on AMD CPUs.

- AVX-512 won't currently be used by other parts of Hauptwerk (and had a negligible benefit on them anyway).
Best regards, Martin.
Hauptwerk software designer/developer, Milan Digital Audio.
Offline

murph

Member

  • Posts: 727
  • Joined: Fri Mar 02, 2012 5:45 pm

Re: New Hauptwerk-PC

PostThu Feb 02, 2023 5:08 pm

Ah! That answers my question! Thank you Martin. I knew it was something like that.

See: http://forum.hauptwerk.com/viewtopic.php?f=16&t=20572



Tony
Offline
User avatar

mdyde

Moderator

  • Posts: 15446
  • Joined: Fri Mar 14, 2003 1:19 pm
  • Location: UK

Re: New Hauptwerk-PC

PostFri Feb 03, 2023 4:47 am

Thanks, Tony. Excellent.
Best regards, Martin.
Hauptwerk software designer/developer, Milan Digital Audio.

Return to Computer hardware / specs

Who is online

Users browsing this forum: No registered users and 3 guests