News:

Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

Threadripper and Ryzen

Started by DrSuperGood, June 17, 2019, 05:12:09 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DrSuperGood

QuoteI cannot wait for Threadripper 3 whenever that may be released, but I will wait for Ryzen 3, which is coming out on the 7th of July.
Unless you specifically need a lot of cores for video editing, rendering, scientific simulations, e.t.c. then Threadripper is a tad excessive and can even be lower performance than Ryzen for common work loads due to generally lower per core clocks (lower single thread performance). Seeing how expensive the parts are, one really has to be doing something that needs a Threadripper for them to be worth it.

If you just want a ton of performance then it will be hard to beat a Ryzen 3. Some leaked tests of the 16 core 32 thread variant put it beating some Threadripper parts, especially the older ones. Not bad for a ~$700 part with cheaper motherboard design. If you want a more budget but still powerful part then the 12 core matches the core I9 9900k price wise and although it might end up with slightly worse single thread performance than the I9, with 50% more cores it will perform better with multi threaded work loads.

With Ryzen 3 care must be taken when selecting a motherboard. Lower cost boards are aimed at the 6 or 8 core variants while higher end boards are aimed at the 12 and 16 core variants despite them all sharing the same socket. The big difference is with the quality and size of the VRM which powers the CPU. Lower cost boards will not be able to reliably or properly supply the power needed by the higher core count variants which might result in system instability or performance throttling. The TDP listed for the parts is the minimal power demand that the system can be expected to draw and work reliably, with parts often far exceeding it when under full load. Of course numbers for actual power usage will come out in a couple of weeks time when the benchmark embargo on Ryzen 3 is lifted.

jamespetts

Thank you for your thoughts: that is very helpful. The 16 core version of the Ryzen 3 is not out for a few more months, so I will have to choose the 12 core version for now as I cannot sensibly wait until the autumn to replace this 2010 built dinasaur. Thank you for the tip apropos the motherboard; may I ask what counts as a "lower cost motherboard" for these purposes? I notice that a lot of the boards have silly multi-coloured LED lighting and other unnecessary features that I should like to avoid if possible.

Hopefully, the new computer should make Simutrans-Extended development more efficient and pleasant than it has been of late.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

DrSuperGood

Quoteso I will have to choose the 12 core version for now as I cannot sensibly wait until the autumn to replace this 2010 built dinasaur
Reminds me of my computer lol. Still runs fine with a Core I7 920. It uses tri channel DDR3 and I am sure kids these days do not even know what either of those mean!
Quotemay I ask what counts as a "lower cost motherboard" for these purposes? I notice that a lot of the boards have silly multi-coloured LED lighting and other unnecessary features that I should like to avoid if possible.
Each vendor has a price stack where higher up the stack usually means better quality, with exception of some special editions and offers (e.g. boards which come with a processor that has been binned for at least a certain overclock level). The very top of the stack is always their "flagship" motherboard which is not aimed at consumers but rather "professional overclockers" and rich people. The VRM and cooling on those is excessive as they have to deal with the 600W+ power usage of processors overclocked when under liquid nitrogen. On the other end of the spectrum are the budget boards. These literally have the bare minimum VRM to run parts such as the 6 cores or 6 cores with integrated GPUs.

All Ryzen 3 PCI-E Gen 4 boards will cost quite a bit because of the more expensive PCI-E gen 4 chipset and PCI-E gen 4 design rules. In theory one can use a cheaper higher end board from the previous generation and get as good as performance because PCI-E Gen 4 will not result in better real world performance outside of a few very specific applications.

Most motherboards now have RGB lighting. It is a dumb fashion. People hate it but need to live with it sadly. Trying to find a decent one without RGB is near impossible. RGB does not make anything faster, just wastes your money buying something you really do not need but have no choice over.

Unfortunately until the review embargo is lifted it is hard to recommend a motherboard because there is no information exactly how much power the new Ryzen 3 parts will use. The only suggestion is "if buying the higher core parts buy towards the higher end of the stack". Also some older motherboards will not be compatible with Ryzen 3 because they will not be able to cope with the power draw, but this should not effect anyone buying new and only those wanting to upgrade.

What is important is to get appropriately clocked memory. Especially with the 12 and 16 core variants you will need to run in dual channel mode and use DDR4 memory of at least the recommended clock speed otherwise there is a very high chance of running into memory bandwidth bottlenecks during all core loads. This usually is not an issue, but with that many data hungry cores each capable of running 2 threads, it starts to be. This is why traditionally higher core parts are usually quad or hex channel. Since you are debugging a lot or might want to run multiple clients at once it might be worth considering 2x 16GB sticks for a total of 32GB which will be more than enough to debug even the most complex unoptimized builds of extended, even when running a server locally.

GPU wise one can use the existing GPU until an upgrade is needed or wanted. PCI-E gen 4 is pin compatible all the way back to the original PCI-E. This can be useful to defer costs or to take advantage of seasonal special offers to get a better deal. I assume your system uses PCI-E, since not much that used AGP GPUs still works.

I would recommend an SSD for the boot drive and to run games and software from. These now are usually NVMe (M.2 PCI-E, best performance) with cheaper options of HCI (M.2 or discrete SATA, lower performance but difference is much less than between SSD and any mechanical drive). HCI ones are considerably cheaper than NVMe because their potential performance is limited by SATA. I would not recommend a PCI-E gen 4 NVMe SSD because those will likely come at a premium and only offer peek boost speeds of up to 25% faster than previous generation PCI-E NVMe and the other metrics are almost the same. For bulk data any reliable mechanical drive is fine, this would include things such as source code or builds.

jamespetts

I have split this from the topic concerning a problem with connecting to the Bridgewater-Brunel server, as this is on a different topic.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ters

Quote from: DrSuperGood on June 17, 2019, 11:38:29 PMReminds me of my computer lol. Still runs fine with a Core I7 920. It uses tri channel DDR3 and I am sure kids these days do not even know what either of those mean!
I don't know what tri channel DDR3 or most of what else you are talking about means. (I do know that DDR3 is RAM, but not the tri-channel part.) I do however have a running computer with an Intel Pentium Dual-Core and a floppy drive. It was what I experimented getting Simutrans to build and run as a 64-bit application on. It is primarily a file server these days. Even back then, I had already stopped being able to keep up to date with whatever signified increased performance over something else. It was much easier when you just looked at MHz, MB RAM and MB or GB HD.

Quote from: DrSuperGood on June 17, 2019, 11:38:29 PMMost motherboards now have RGB lighting. It is a dumb fashion. People hate it but need to live with it sadly. Trying to find a decent one without RGB is near impossible. RGB does not make anything faster, just wastes your money buying something you really do not need but have no choice over.
If one wants a powerful laptop, one of two options is the so-called gaming laptops. These have the same thing with the keyboard. Can't get them without multicolored backlighting apparently. Usually along with some layout shenanigans, but all laptops seem to have their own unique selection and arrangement of at least the non-alphanumeric keys.

Quote from: jamespetts on June 18, 2019, 11:12:05 PMI would recommend an SSD for the boot drive and to run games and software from. [...] For bulk data any reliable mechanical drive is fine, this would include things such as source code or builds.
I've often put applications, especially the bigger ones, on the big HDD and source code on the SSD. Applications (and probably games) seem to do more bulk reading, and keep it in memory afterwards, while building software is lots of smaller reads and writes. All the writing might wear out the SSD faster, but the faster build times seems to be worth it. Although it should be noted that these builds are projects far bigger than Simutrans. I haven't worn out any SSD yet, though. Then again, I don't play modern games. (The most recent may in fact be Simutrans, if only because it keeps coming out in new versions. The second newest game I have, apart from some Flash games, is over five years old now. And I haven't even installed it on my new computer.)

jamespetts

I am slowly coalescing my plans to rebuild my computer: having disabled the faulty RAM modules in my existing computer, I am now running on 8GB, which is painful with modern software and is incapable of running the current Bridgewater-Brunel server game.

I have put together a provisional specification list. If anyone has any comments (especially about things such as motherboard VRMs and how to assess their quality), I should be grateful:


    CPU: Ryzen 3900X
    CPU cooler: be quiet! Dark Rock Pro 4
    PSU: [1.2kW unit recycled from existing system]
    Motherboard: MSI Prestige x570 Creation
    Memory: G.Skill Trident Z 32Gb kit (2x16Gb)
    GPU MSI Nvidia RTX 2080Ti Gaming X Trio
    Sound card: [Sound Blaster Z PCIe unit recycled from current system]
    Storage 1: Samsung 4TB 860 EVO (for media; my old 2TB HDD is now full)
    Storage 2: Corsair 2TB MP600 (for the system and software)
    Storage 3: [existing SSD from current system recycled as encrypted drive for work documents]
    Optical drive: [Blu-Ray drive recycled from current system]
    Card reader: SilverStone SST-FP95B
    Mouse: [Recycled from current system]
    Monitor 1: [4k G-Sync monitor recycled from current system]
    Monitor 2: [1440p monitor in vertical configuration recycled from current system]
    Speakers: [Recycled from current system]
    Keyboard: Microsoft Natural Ergonomic 4000
    OS: Windows 10
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

DrSuperGood

#6
Quote from: Ters on June 19, 2019, 08:34:57 AMI don't know what tri channel DDR3 or most of what else you are talking about means.
Memory bandwidth is a concern when it comes to computer design. Computational resources can become starved if it cannot read data fast enough from memory. For example a system which had this issue in a big way was the Super Nintendo console as it basically had the same memory bandwidth as the original Nintendo entertainment system but with much more complex graphics and a much faster CPU. The result was that the console could not handle a lot of highly animated or quickly changing graphics because it could not move data in memory around fast enough.

Now as processor clock speeds increased so have memory clock speeds. However the rate that this happened has always been slower. To compensate for this cache was added to the processors but ultimately in data processing intensive applications large amounts of data will need to be read from memory. Since increasing memory clocks are not practical this is achieved by reading memory in parallel. A DIMM package consists of a separate memory module and communication link per bit of the memory word which are accessed in parallel allowing memory at the same clock to transfer a lot more data through parallelism. When more memory is needed more memory modules could be attached to the same communication link, turning the parallel communication links into busses.

However per memory word parallelism was still not enough to keep processors fed with data. Especially with the rise of multi core processors and powerful graphic accelerators this had to be taken to another level. By accessing 2 DIMMs with separate communication links together one could read two memory words per memory clock cycle. This gave rise to the now ubiquitous "dual channel" memory that even the latest Ryzen 3000 processors use and in most cases now with very fast DDR4 it provides more memory bandwidth that the CPU ever needs. For higher core count parts like Threadripper, Xenon or HEDT quad (4) channel memory is used for twice the bandwidth over dual channel. However there was this very strange time during the early Intel I7 processors where slow DDR3 was still used and processor throughput increased dramatically. To solve this processors like the I7 920 used tri (3) channel memory giving 50% more memory bandwidth that dual channel. However this practice quickly died out since the cost of a motherboard with more memory channels was significantly larger than buying faster memory modules. The new Ryzen 3000 CPUs take this to the next level offering up to 16 cores (32 threads) fed by the highest recommended DDR4 memory clock speed of any consumer processor.
Quote from: Ters on June 19, 2019, 08:34:57 AMApplications (and probably games) seem to do more bulk reading, and keep it in memory afterwards, while building software is lots of smaller reads and writes.
Actually it is very much the opposite. Games do a lot of very small file reads which fall very close to a pure random access pattern. This is because an environment might be made up of thousands of smaller pieces of art which are not located or accessed sequentially within storage. This is where a SSD can cut the initial loading time of a game from 20-40 seconds down to 5-7 at most (not I/O limited). If you want proof of this look at Sony's upcoming PS5 discussions which covers how moving game installs from a mechanical drive to a SSD allow transitions and open world traversal speeds that were not possible before.

However I do agree that after initial loading time the file cache will cache the game data files at which time there is no difference between a HDD and SSD as the data is being accessed at memory speeds. However this requires a lot of free system memory (16-32GB total system RAM for modern games) and that initial loading times and actor pop-in will be atrocious on a HDD compared with a SSD.

As far as games are concerned moving from a SATA SSD to a PCI-E SSD will make as good as no difference. Where as the reduction in random access times from HDD to any SSD is orders of magnitude large, the move from SATA to PCI-E is very little.
Quote from: jamespetts on July 13, 2019, 11:16:34 AMMemory: G.Skill Trident Z 32Gb kit (2x16Gb)
What access times and clock speed out of interest?

Also remember to enable XMP so it runs at that speed rather than reverting to some DDR4 default speed.
Quote from: jamespetts on July 13, 2019, 11:16:34 AMStorage 3: [existing SSD from current system recycled as encrypted drive for work documents]
With SSDs it is important to keep an eye on the drive health. Specifically the TBW (Terabytes Written). When this value nears the warrantee amount the drive will soon be unreliable and data loss will happen sooner rather than later. For most users, especially with larger drivers, this might take a very long time to happen, often measurable in decades.

jamespetts

Thank you for your thoughts and the tip re: XMP. The memory details are available here. Sadly, I am not sure when this memory will be back in stock, but I am not likely to have time to build a computer in the next two weeks in any event.

As to SSDs, the drive that I will be recycling is a relatively new device bought in circa 2017 to replace a much older SSD that was purchased with the computer. That older device is currently my encrypted drive: the plan is to cascade these and cease to use the old SSD (although I am likely to keep it attached to the system, as it will not wear out when idle).
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

DrSuperGood

Quote from: jamespetts on July 13, 2019, 05:51:21 PMhank you for your thoughts and the tip re: XMP. The memory details are available here.
From what I can tell the memory has CAS16 timings which AMD recommends so should result in good performance.

Ters

Quote from: DrSuperGood on July 13, 2019, 05:31:57 PMMemory bandwidth is [blah blah blah blah]
TL;DR. It's not that I'm incapable of knowing. I just find it too tedious to know these kind of things. It is much simpler that USB 3.0 is better than USB 2.0. Or that DisplayPort is better than VGA.

Quote from: DrSuperGood on July 13, 2019, 05:31:57 PMActually it is very much the opposite. Games do a lot of very small file reads which fall very close to a pure random access pattern. This is because an environment might be made up of thousands of smaller pieces of art which are not located or accessed sequentially within storage. This is where a SSD can cut the initial loading time of a game from 20-40 seconds down to 5-7 at most (not I/O limited). If you want proof of this look at Sony's upcoming PS5 discussions which covers how moving game installs from a mechanical drive to a SSD allow transitions and open world traversal speeds that were not possible before.
I wasn't saying that games don't benefit from SSD. It was the prioritizing of what should go on SSD I didn't agree on. I can rather wait for Simutrans to load a pak and a game, which I do at most once per hour, than hundreds or thousands of waits while compiling something. But then I don't play many games that need to load new assets all the time. Those that do are so old that I didn't notice it on a relatively modern laptop, even with a 5400 RPM drive.

Furthermore, SSDs seems to have dropped enough in price now, that you can put just about everything on a couple of them. If the trend keeps going, SSDs will soon pass HDDs in capacity.

TurfIt

Quote from: jamespetts on July 13, 2019, 11:16:34 AM
    CPU cooler: be quiet! Dark Rock Pro 4
1.13kg by the specs (hopefully including the fan weight too...), largest I ever used was a 790g + 3 *  ~100g fans, so possibly similar. Was afraid to even move it across the room with that much weight levered off the socket. The flex on the motherboard was insane - went to water cooling after just to eliminate that.


Quote from: jamespetts on July 13, 2019, 11:16:34 AM
    PSU: [1.2kW unit recycled from existing system]
Overkill I'm sure you know, but if you already have it.... atleast you run off a 230V supply over there regaining some of the efficiency loss of running so far below the efficiency point on such a large unit...


Quote from: jamespetts on July 13, 2019, 11:16:34 AM
    Motherboard: MSI Prestige x570 Creation
Do note that's an EATX form factor motherboard. I don't see what case you're using listed, presumably recycling it from the existing, but make sure it supports EATX...


Quote from: jamespetts on July 13, 2019, 11:16:34 AM
    Memory: G.Skill Trident Z 32Gb kit (2x16Gb)
  The memory details are available here.
Note this is "Intel" memory. If you're comfortable setting up all the timings yourself (and I mean all - there's 47 memory settings on my 2700X system I fought with...), good. Otherwise you might want to wait for 'AMD' memory products to be updated for Zen2 if you want the BIOS to do the work (ie. just enable XMP and go).

From your details link, this is F4-3600C17D-32GTZKW.  Last year I upgraded a system to a 2700X and used F4-3600C17D-32GTZR for memory, same as your selection but infected with RGB @^#&*^&*@^. (it was cheaper than the non-RGB...). Most internet sites were reporting 3200 speeds 'no problem' with Zen+, but of course all with 2*8GB modules. Being used to 32GB ram, I thought I might have more success with with 2*16GB (dual rank modules) vs 4*8GB (single rank). I didn't expect to get 3600, but again these modules were cheaper than the 3200 rated units that had the same Samsung B-die dram chips anyway (the important part!). In the end, after much teeth gnashing, I've got it working at the 3066 C14 fast settings from 'ryzen dram calculator'.  It almost works at 3133, but dies after ~30h of memory stress testing with memory errors. 3200 is complete no go even at c17 'safe' settings. and note there much more improvement from tightening the timings vs raw frequency.

Now with Zen2, all the internet sites are claiming 3600 'no problem', but again it appears they're all using 2 single rank dimms...
If you go this route, the ryzen dram calculator is a must, but expect still hours of memory stability testing.


Quote from: jamespetts on July 13, 2019, 11:16:34 AM
    GPU MSI Nvidia RTX 2080Ti Gaming X Trio
Sparing no expense! I don't know what you're used to GPU wise, but even with this custom triple fan cooler, expect lots of noise if you push the GPU.  Being tired of screaming GPU fans, I moved to full custom water cooling loop last year with my 2700X, 1080ti build. (was using AIO water before on CPU only due to the afore mentioned weight concern with huge tower air coolers) Much better noise wise, and GPU temp wise too!


Quote from: jamespetts on July 13, 2019, 11:16:34 AM
    Sound card: [Sound Blaster Z PCIe unit recycled from current system]
Unless this has some feature (connector?) you require, I'd be tempted to skip this even though you already have.... Onboard sound has come a long long way, and especially on a higher end motherboard like you've selected.


Quote from: jamespetts on July 13, 2019, 11:16:34 AM
    Storage 2: Corsair 2TB MP600 (for the system and software)
Just a few $$$ more right?  Hard to say if worth it.  Of course no experience with PCIe4 NVMe since brand new... I used a 960pro as my first NMVe drive in 2016, certainly benchmarks faster than SATA SSDs, but in day to day use, not so noticeable. Definitely not worth the $$$ I'd say. Hence for last years 2700X build, I dropped to a mid range'ish NVMe - HP EX920 was super cheap being a complete unknown on the market, easily 1/3 the price of the samsung pro NVMe drives, and no more expensive than the SATA SSDs. Happy with it. Preorder pricing on the MP600 is scary.... I'd be looking at sticking with an older midrange PCIe3 drive.

The jump from HDD to SSD is huge, from SATA SSD to NVMe SSD less, from mid range NVMe to high end NMVe almost undetectable IMHO.


Quote from: jamespetts on July 13, 2019, 11:16:34 AM
    Optical drive: [Blu-Ray drive recycled from current system]
Also note most modern cases don't have 5 1/4 bays anymore if you're not recycling your old case.

DrSuperGood

Quote from: TurfIt on July 13, 2019, 09:13:01 PM1.13kg by the specs (hopefully including the fan weight too...), largest I ever used was a 790g + 3 *  ~100g fans, so possibly similar. Was afraid to even move it across the room with that much weight levered off the socket. The flex on the motherboard was insane - went to water cooling after just to eliminate that.
Flex is not really a concern outside of transportation. One must make sure that the cooler is screwed in properly and that the motherboard is screwed into the case using as many mounting holes as possible.
Quote from: TurfIt on July 13, 2019, 09:13:01 PMOverkill I'm sure you know, but if you already have it.... atleast you run off a 230V supply over there regaining some of the efficiency loss of running so far below the efficiency point on such a large unit...
The loss in efficiency is not too much. Due to how overrated it is the cooling fan will seldom need to turn on, effectively allowing the PSU to be passively cooled under lighter loads.

The main reason one should not buy overrated PSUs is because they cost a lot. Even if they do have power savings the amount of money saved with power is a drop in the ocean of the excessive cost.
Quote from: TurfIt on July 13, 2019, 09:13:01 PMNote this is "Intel" memory. If you're comfortable setting up all the timings yourself (and I mean all - there's 47 memory settings on my 2700X system I fought with...), good. Otherwise you might want to wait for 'AMD' memory products to be updated for Zen2 if you want the BIOS to do the work (ie. just enable XMP and go).
It is my understanding that this is not an issue for Ryzen 3000. The infinity fabric clock is no longer tied with the memory clock and the memory traces have been vastly improved. Hence most DIMMs should just work with XMP enabled as long as they are in 1 DIMM per channel and not trying to push records.
Quote from: TurfIt on July 13, 2019, 09:13:01 PMNow with Zen2, all the internet sites are claiming 3600 'no problem', but again it appears they're all using 2 single rank dimms...
AMD even recommends something like 3,200 to 3,600 with CAS16 timings for optimum performance of the higher core count parts.
Quote from: TurfIt on July 13, 2019, 09:13:01 PMAlso note most modern cases don't have 5 1/4 bays anymore if you're not recycling your old case.
One can always get an external enclosure for it and run it via USB3 or Thunderbolt.

jamespetts

Thank you both for your feedback. I am aware that the board is E-ATX and have specified a case accordingly; I note that I accidentally omitted the case from the above specification.

The memory I will have to look into - I was not aware that there was such a thing as "Intel" and "AMD" memory (although I infer that they are cross-compatible save that the memory timings may need manually setting if not used on the intended platform). How does one tell which is which? There is also the complexity that there is very little memory in 3,600Mhz with CAS 16 available, but there is much at 4,000Mhz with CAS 19 which some people seem to have been able to run at 3,600Mhz CAS 16; but it is not clear how this affects the tuning of the other timings and therefore the overall speed.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

DrSuperGood

Quote from: jamespetts on July 15, 2019, 08:43:05 PMI was not aware that there was such a thing as "Intel" and "AMD" memory
As far as I am aware there is no such thing for the Ryzen 3000 series. It was a problem for Ryzen 2000 because the infinity fabric was slow and coupled to the memory clock so overclocking memory meant overclocking the infinity fabric of the processor package which lead to instability. With Ryzen 3000 memory overclocking should just work like it does with Intel. AMD recommends very fast memory even due to the limitations of feeding 12 or 16 high performance cores from dual memory channels (why Intel HEDT processors usually are quad channel).
Quote from: jamespetts on July 15, 2019, 08:43:05 PMThere is also the complexity that there is very little memory in 3,600Mhz with CAS 16 available, but there is much at 4,000Mhz with CAS 19 which some people seem to have been able to run at 3,600Mhz CAS 16; but it is not clear how this affects the tuning of the other timings and therefore the overall speed.
The CAS number is the access latency in clock cycles. Hence one can convert it into a uniform time by dividing the CAS number by the memory frequency. Ryzen 3000 benefits a lot from a smaller such number.

Otherwise memory frequency itself determines the total bandwidth. This is important for heavy multi threaded work loads, especially on the unreleased 16 core part, but most common workloads do not get near that. With Ryzen 3000 most workloads benefit from the reduced memory latency (CAS / memory clock speed) and not memory bandwidth. Hence why they recommend something like 3,200MHz with CAS16 as it gives a good balance between bandwidth, latency and cost. Higher frequencies might have higher CAS numbers and so similar latency but also higher bandwidth. There is also some penalty for 4,000 MHz and higher memory where due to not operating in the range of the infinity fabric there is some mismatch causing a tiny experienced latency regression, or at least some random article I encountered claimed.

The main thing AMD is saying is to look for faster memory as it makes a reasonable difference to a degree. If one used something like DDR4-1600 with CAS 12 on the 12 Core Ryzen 3900 to run a highly multi threaded work load chances are it will be performing nowhere near what it could. Take advantage of vendor XMP profiles. If you really are unsure then feel free to consult the motherboard vendor certified memory vendor list which lists memory modules and their guaranteed obtainable frequencies on that board with the specified memory configuration.

jamespetts

Unfortunately, the Ryzen 3900x seems to have been delayed in the UK - the latest information from Overclockers.co.uk suggests htat it may be available on the 5th of August, but I shall believe that when I see it as previous delayed due dates (e.g. the 15th of July) have failed to be met.

This is unfortunately delaying me being able to do significant work on Simutrans-Extended, as it is very difficult for me to get acceptable performance out of my computer in its present state.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

DrSuperGood

Quote from: jamespetts on July 30, 2019, 11:04:21 PMUnfortunately, the Ryzen 3900x seems to have been delayed in the UK - the latest information from Overclockers.co.uk suggests htat it may be available on the 5th of August, but I shall believe that when I see it as previous delayed due dates (e.g. the 15th of July) have failed to be met.
Apparently there is a massive undersupply of the 3900X. Why it appears the UK has as good as none of them I am not sure, and hopefully it is not related to the recent GBP volatility or Brexit politics chasing shipments away.

I find it strange that there should be such high demand for the processor. For those who want a cheap PC to game on it will perform very close to the much cheaper 3600 and 3700X. For those who want the best, no expense saved, gaming PC the Intel I9 9900K is still the performance king due to its superior single thread performance. The 3900X really is aimed more towards more budget productivity applications or for AMD fans who want the best available consumer processor from them. This means that either AMD has very badly underestimated demand and made woefully few of them, or they managed to trick a lot of people to buy them when they might not need them.

Hopefully the shortage will be solved by the time the 3950X is released. It is likely that at that time many unfulfilled 3900X orders will be cancelled and upgraded to the 3950X which will either solve the shortage directly, or at lease place a deadline for them to have solved the shortage to avoid cancelled orders.

jamespetts

Interesting. It may be that the 3950x is available by the time that the 3900x is available in any event.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

jamespetts

There is a serious availability/supply problem with the 3900X; I might as well simply wait for the 3950X to be available, which is due in September. Unfortunately, this means that it will be difficult for me to undertake any work requiring in-depth work on the code until after the upgrade has been completed.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

DrSuperGood

Surprisingly I managed to get a Ryzen 9 3900X in the UK just the other day via a custom built system ordered from PC Specialists. For my needs it ended up approximately the same cost as if I ordered the parts separately from sites like Amazon and built the system myself, there really was no money to be saved doing this.

I am guessing that currently all Ryzen 9 3900X chips headed for the UK are going to OEMs and custom system builders which order them using the same channels. This is why very few 3900X chips are available for purchase in the open market and why they are not being replenished quickly. My order took approximately 2 weeks to be built, and they had the 3900X in stock.

I am not at all surprised this is happening. Given its price point the 3900X does not disappoint and truly is a marvel of processor engineering for 2019.

I have noticed some interesting behaviour with the 3900X. When your system is mostly idle it will run all processing cores at ~400 MHz with~0.3V and sip power/current. When you have moderate workloads above that threshold it will shutdown most of the cores except a few and run them at ~1.0GHz @~1.0V and still sip power/current. It will try to keep doing this as it raises clock speed and number of cores to meet demand. Finally it will settle with an all core workload (24 thread) of between 3.975 and 4.1 GHz depending on the work (lower of AVX). Doing this it might use up to ~150W of power and will be limited by either current or power in a well cooled system. The cores also run hot, it is very easy for them to hit 80 degrees C, but this is to be expected considering the 7nm process producing very small cores.

The single thread performance is also very good. It might not be a I9 9900k but it still blows me away coming from a I7 920 and having to use a Core2 Quad Q6600 for 2-3 weeks. More than enough to run any modern game very well. Any game that does not run well can probably be made to run well by adjusting the core affinity or with Ryzen Master limiting the number of cores or SMT usage.

The processor is totally overkill for most people. Even I am struggling to find use for it, with regular games I play like Heroes of the Strom using <7% of the CPU at most. Unless you plan to do a lot of video editing, code compiling, graphic rendering or simulations you will be better off spending the money on a Ryzen 5 3600 or Ryzen 7 3700X as both are a lot cheaper and will give you more than enough performance for playing games or most other common tasks.

The 3950X is still a conundrum. Looking at its specs it likely has the same ~150W power limit of the 3900X. However it has a 100 Mhz higher boost but also a lower base clock. Looking at how my 3900X performs I am guessing the 3950X will consist of better binned chiplets (likely Ryzen 7 3800X like chiplets rather than Ryzen 5 3600X like chiplets which I guess are in the 3900X) allowing the higher boost limit. The lower base frequency is likely because the average core frequency of an all thread workload would be ~300 MHz lower than the 3900X due to the same power limit. This means that it will be noticeably faster, but its all core performance might show signs of diminishing returns to some extent (<<33% increase over the 3900X).

jamespetts

That is very interesting, and congratulations on getting hold of a Ryzen 3900x! I might as well hold out for the 3950x at this stage, but I should be very interested to know how you manage with running the Bridgewater-Brunel server game with your bhemoth of a CPU. Given the rapid move towards higher core counts, I am minded to allow Simutrans-Extended on the Bridgewater-Brunel server to use all 6 cores that the server configuration that I now have offers (as the server and client must run the same number of threads to stay in synchronisation) to allow for better performance. I realise that there is a bug affecting the server at present which hopefully I will be able to fix once I have my own new computer.

It is interesting that Dr. Supergood and I have had such similar computer hardware upgrade cycles over the last decade!
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

DrSuperGood

Quote from: jamespetts on August 30, 2019, 06:04:04 PMbut I should be very interested to know how you manage with running the Bridgewater-Brunel server game with your bhemoth of a CPU.
So would I. Too bad the server never is available for me to join... Specifically it is always reporting that it did not respond when trying to query it from the server list. See the dozens of reports over the last few weeks, which I can now confirm.

I guess that is what you are referring to as "a bug affecting the server".
Quote from: jamespetts on August 30, 2019, 06:04:04 PMIt is interesting that Dr. Supergood and I have had such similar computer hardware upgrade cycles over the last decade!
Well I did not intend to upgrade quite yet but 3 weeks ago my PSU murdered either my motherboard or CPU or even both. At this stage it really would not be worth replacing like for like so I decided to go new. The result is that I am still using the same old GTX 760 (an old replacement for my old GPU that died long ago) with a Ryzen 9 3900X. I might upgrade GPU next year since with Intel hitting the market and NVidia going PCI-E 4 and 7nm there will be a lot of options and hopefully good performance will be cheap.

Matthew

Quote from: DrSuperGood on August 30, 2019, 05:35:21 PM
Surprisingly I managed to get a Ryzen 9 3900X in the UK just the other day via a custom built system ordered from PC Specialists. For my needs it ended up approximately the same cost as if I ordered the parts separately from sites like Amazon and built the system myself, there really was no money to be saved doing this.

Earlier this year I was researching buying/making a new PC on a very tight budget, because of the imminent end of Windows 7 support. Since I have time, but not money, I looked carefully at many firms (all the way to things like Companies' House records) and came to the same conclusion as you: PC Specialists had by far the best reviews and were better value than I could get on PCPartPicker.

I put together a spec and posted it on their forums' 'review my spec' page. A forum mod responded by saying that I would be wasting my money and would be better off installing Linux on my existing laptop.   :o ??? In other words, they turned my custom away because it wasn't in my best interests. That, IMHO, is the height of good customer service....  :D When I eventually get to the point that I can buy a PC, PCS will absolutely be my first choice.

It's good to hear that you've had fun playing with your new beast too... hopefully it isn't too frustrating for James.
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

jamespetts

Matthew - I wouldn't worry about me. I hope that the 3950x will be worth the wait when it comes out hopefully next month. You may find a CPU with lots of cores (>6) beneficial for playing very large maps in Simutrans-Extended when you do get around to upgrading.

Dr. Supergood - yes, this is the bug affecting the server to which I was referring. There is, I believe, a copy of the latest saved game available in the /saves subdirectory of the Bridgewater-Brunel web server so you can at least try it in single player mode.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

jamespetts

Unfortunately, it seems that the 3950x has been delayed until November. The 3900x is still unavailable for an indeterminate period.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

DrSuperGood

Unless ordering from an OEM or using an OEM licence of windows, in theory nothing is stopping you from assembling the entire system now and placing a cheap compatible Ryzen second generation processor in it until either the 3900X or 3950X is available. Such processor could even be second hand as it may only be used for a few months. The cost should be well under £100, especially if second hand.

Alternatively you can consider if an I9 9900K system would fit your requirements, despite having considerably fewer cores. I would hope availability of those is good by now.

The 3900X runs the server game perfectly. High frame rates, even changing map slice is kind of bearable (despite not having my fix ported).

Phystam

According to some articles, the processor 3950X will be available at Nov. 25th. Will James buy it after the date and restart bridgewater-Brunel server?

Spenk009

James is away until the 11th. I'm sure he'll be interested to hear the news, he's just unlikely to respond until then.

jamespetts

I have noted this. I am not sure what actual availability will be after the 25th, but I am hoping that I will eventually be able to have a computer on which I can work without it becoming unresponsive for scores of seconds at random intervals. It is too excruciating to do any serious work on it at present. It will take a while to set up, however, once I have ordered and received the parts, and I have a backlog of other things to do (e.g. processing photographs taken over the last year or so) that I will have to intersperse with dealing with Simutrans issues.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

jamespetts

#28
The 3950x is practically unobtainable until some unspecified time next year. Comparing the benchmarks, the only major improvement of the 3950x over the 3900x was in very heavily threaded tasks such as CPU rendering. This did not seem worth an indefinite wait, so I ordered the 3900x whose availability is now good.

I have spent the last two weeks building and configuring my computer. To-day, I was able to get around to setting up the Simutrans-Extended development environment and testing with this computer. I have not yet been able to log into the server, as it seems to have been busy when I tried, but so far, the performance with this computer seems good, albeit still slower than would be ideal on a saved game from the Bridgewater-Brunel server from the summer. Increasing the threads= from 4 to 12 in simuconf.tab helped somewhat, although it was still somewhat jerky. I note that 12 is listed as the maximum in simuconf.tab, alhtough I have not looked into the code to discover the origin of this limit. In years to come, it may be necessary to increase this.

This was all with the pre-compiled release build from the Bridgewater-Brunel server: using a self-built debug build, the server game from the summer is unplayably slow.

I am running Windows 10 on this new computer, and Windows 10 has a much clearer display of CPU utilisation than Windows 7 had. With threads=12, 12 of the 24 logical processors (each core has 2x logical processors owing to SMT) were actually being continually taxed (albeit at circa 40-60% each) during running the game at normal speed. Windows 10's performance tool also tells me that Simutrans-Extended has an 8% GPU utilisation while running - I assume that this is SDL usiung the GPU for certain tasks. Using the self-built GDI version, CPU utilisation is zero and Task Manager does not log Simutrans-Extended as an application that uses the GPU at all. It is good to know that at least some small fragment of work is offloaded to the GPU when running the release build of Simutrans-Extended, even if the main graphics work is still CPU based.

I have altered some settings on the server to try to improve running game performance a little (increasing threads=4 to threads=6, as the server has 6 cores available to it, as well as increasing the number of sync_steps per step from 4 to 16 and the number of frames per second from 10 to 30 to see whether I can get a smoother performance without overloading the CPU); I will post on the server's thread regarding this in more detail.

It will take me a long time to clear the backlog of things (not just Simutrans related) that accumulated whilst my previous computer was in a poor state of repair, and my Christmas holiday (when I do not have access to my main computer, but traditionally use my secondary computer to do pakset work) is fast approaching, so I will be unlikely to be able to fix a large number of bugs before the new year, but I should be able to recommence development work to some extent soon.

Thak you all for your patience (and hardware recommendations).

Edit: In case anyone is interested, the specifications are:
CPU: Ryzen 3900xCPU cooler: be quiet! Dark Rock PRO 4
Motherboard: MSI Prestige X570 Creation AM4Memory: Corsair Vengeance LPX Black 3200mhzGPU: MSI RTX 2080Ti Gaming X TrioStorage 1: Samsung Evo 860 4TbStorage 2: Corsair MP600 2TBStorage 3: Samsung Evo 850 1Tb (from old system)Optical drive: Samsung Blu-Ray drive cascaded from the previous system
Case: be quiet! Dark Base PRO 900 rev. 2PSU: 1200w unit (from old system)OS: Windows 10 ProfessionalMonitor, keyboard, mouse, printers, speakers and other peripherals re-used from the old system
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Mariculous

Quoteand the number of frames per second from 10 to 30

My own experience is that decreasing the number of fps will greatly improve performance on slower machines which will also help these to not fall behind in simulation.
10 fps is fine for simutrans, stick with it if you want good performance. Slightly increase it if you want things to move slightly more fluently but 30 fps is too much for a map as huge as bridgewater.


jamespetts

Quote from: Freahk on December 17, 2019, 09:24:33 AM
My own experience is that decreasing the number of fps will greatly improve performance on slower machines which will also help these to not fall behind in simulation.
10 fps is fine for simutrans, stick with it if you want good performance. Slightly increase it if you want things to move slightly more fluently but 30 fps is too much for a map as huge as bridgewater.



That would be so without changing any other settings, but I am testing to see whether quadrupling the number of frames between each step will sufficiently offset what would otherwise be a performance degradation of increasing the frame rate on slower computers so as to allow a smoother and more responsive game.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Phystam

Splendid! Recently I also purchased new computer with Ryzen 7 3700X.^^

Spenk009

Glad to hear you're back! The 3900X boosts only 2% less than the 3950X, so you're really only losing cores for very heavy multithreaded workloads. The only worry is that you don't forget about the users running quad cores (and less) for their performances.  ;)