I even asked Chat GPT what could be the cause, because who knows. The answer:
There are many reasons why this issue could be occurring. Let's break down a few possibilities that might cause your software to perform differently on some AMD Ryzen CPUs:
1. **Concurrency Issues:** When more than one instance of your software is open, there could be concurrency issues. This is especially likely if your software uses multithreading and each instance is trying to use the same cores, leading to resource contention. You might want to look into thread handling in your code.
2. **Compatibility Issues:** There may be some compatibility issues with the instruction set that is utilized by your software and the AMD Ryzen CPUs. AMD and Intel CPUs have slightly different microarchitectures and performance characteristics, which can sometimes lead to discrepancies in performance.
3. **Power Management:** AMD Ryzen processors use a different power management method compared to other CPUs. If your software is heavily reliant on power management or makes assumptions about CPU clock speed or availability, this could potentially cause issues.
4. **Software Optimization:** AMD Ryzen processors have their unique architecture and may require specific optimizations for your software to work correctly. For example, their CCX (core complex) and Infinity Fabric design might be causing latency issues when your software tries to communicate between threads across different CCXs.
5. **Thermal Throttling:** If the Ryzen CPU is overheating for some reason, it will throttle back its performance to avoid damage. This is less likely if the problem only occurs with your software, but it's something to consider.
6. **Driver or BIOS issues:** It might be an issue with the drivers or the BIOS version on those specific machines. Check if there are any updates available for the AMD drivers or the BIOS.
7. **Memory Issues:** Ryzen CPUs are known to be sensitive to RAM speed and latency due to their Infinity Fabric design. If your software is particularly memory-intensive, it might behave differently on systems with different memory configurations.
In order to debug this problem, you would want to collect as much information as possible from the affected systems. This could include hardware specifications, operating system versions, driver versions, and any error logs or crash dumps your software produces. It might also be beneficial to profile your software running on an affected system to see if you can identify any performance bottlenecks.
If your software is written in a high-level language, you might also want to look into whether your compiler has any flags for optimizing code specifically for AMD Ryzen CPUs.
In summary, the issue could be a wide range of things, but by starting with these possibilities, you can begin to troubleshoot and hopefully find a solution.