In general, I'd say there is no "official" AMD recommendation here. There is, however, good common sense. And, I do have some guidance. I pinged engineering to get some insight.
First
We would love to have a detailed report on the 100% reproducible crash. You can send me a direct message, and I'll get the information into the engineering team. To minimize being a pipeline, we need the things you would typically provide in a defect report:
- your configuration (OS, hardware, versions, etc)
- what you expected to happen and what actually happened
- any logs related to the crash or the defect
- a reproducible case - which might mean sample code (I know that can be a problem)
My personal advice on how to handle your situation is
- don't fix what isn't broken - so in general stay with what's working BUT...
If there is significant new capability that you want to use, then you decide if it's worth moving forward, which as you say, for you means modifying a sensitive constellation of potentially incompatible drivers from multiple vendors. Any company can only control its own products. When you mix and match drivers, conflicts are certainly possible. We always try to improve our drivers either by fixing functional bugs and improving performance, and I'm sure the same is true for other companies. Unfortunately, it’s not uncommon that new software can introduce regressions. It is really your call to evaluate and to manage the risk of a driver update. Depending on your tolerance for hunting down problems.
Do this when you have time to explore your entire system to determine what might be causing problems, if any arise. Keeping in mind of course that incompatibility between drivers doesn't mean the newest is at fault, or the older. You may want to avoid betas and stick with final releases, unless you're being very experimental.
Finally, advice from our engineering team. OpenCL supports the co-existence of multiple OpenCL platforms. The key is to ensure that the ICD (installable client driver) being loaded (libOpenCL.so or OpenCL.dll ) by the system supports the latest OpenCL standard among all the platforms. For example, if a user wants to have an AMD GPU along with an Nvidia GPU on the same system, it’s recommended to use the ICD from AMD since the AMD platform supports a more recent version of OpenCL. This isn't going to guarantee success, but it should minimize problems based on the simple principle that it is impossible to be forward compatible, but the latest driver should be backward compatible.
I hope this helps provide some insight.