Hi Mike,
You have at least two options, which I will explain below. The short version is:
1. Try pinning to HOOMD 2.9.4 or newer (2.9.6 is the latest). Those builds should know whether to pull CPU or GPU based on the hardware and __cuda conda metapackage.
2. Use the pinning: "hoomd=2.9.3=*cpu*" if you require HOOMD 2.9.3.
The change I made in that PR to require the __cuda metapackage should automatically select GPU builds on systems with CUDA support (NVIDIA GPUs) and CPU builds on systems without CUDA support. This change was made for 2.9.4 and applies to that version or higher. Note that the __cuda metapackage requires conda >= 4.8.
We have had two builds (CPU and GPU) for some time, but as you noticed, conda would always automatically select the GPU build by default, even if no GPUs are available (I'm not sure how conda chooses which build string to prefer).
Alternatively, you should be able to force a specific build string using this syntax: "hoomd=2.9.3=*cpu*". Note that the runtime requirement may not allow conda to solve a build string for a GPU-enabled package on systems without GPUs.
Please follow up and let me know if one or both of these solutions work -- I haven't tested the metapackage selection on very many systems and I'd like to know that things work as expected for you.
Thanks,
Bradley