Working with SetupDiGetDriverInfoDetailA

When using the Windows setupapi function SetupDiGetDriverInfoDetailA, it can set the thread local error variable to ERROR_INSUFFICIENT_BUFFER or ERROR_INVALID_USER_BUFFER. The two mean basically the same thing: Your buffer is too small. The SP_DRVINFO_DETAIL_DATA_A struct has a dynamically sized tail that contains the Hardware IDs. ERROR_INVALID_USER_BUFFER means that that dynamically sized area is too small.

foldingathome in docker and AMD GPUs

In order to run code on AMD GPUs, the AMD provided opencl libraries and other files need to be available in the container. If they are not already present in the docker image, they need to be installed after the fact, besides the fact that the devices need to be made available to the container […]