Bringing this thread back on track, I've determined that most of the problems identified at the start of this thread are caused by Overdrive6. Or rather, the lack of Overdrive6 support in the current tools.
Using ADL SDK 6.0, I wrote a small program that I call od6config that controls the fan speed, clock rates, and PowerTune using the new Overdrive6 functions. It works great (meaning it actually sets & accepts the values appropriately, unlike amdconfig) so that solves most of those problems. Well, it resolves the fan speed and clock rate issues at least.
The problems still remaining are the kernel load time issue (20-30 seconds to enqueue a kernel), and erratic hashcat performance even when the PowerTune power control threshold is set at +50.
Using ADL SDK 6.0, I wrote a small program that I call od6config that controls the fan speed, clock rates, and PowerTune using the new Overdrive6 functions. It works great (meaning it actually sets & accepts the values appropriately, unlike amdconfig) so that solves most of those problems. Well, it resolves the fan speed and clock rate issues at least.
The problems still remaining are the kernel load time issue (20-30 seconds to enqueue a kernel), and erratic hashcat performance even when the PowerTune power control threshold is set at +50.