我想用C ++在windows操作系统上得到一个Gpu的名字

我想要得到一个Gpu的名字,例如AMD Radeon HD4830,我想要得到像“ATI Radeon HD4830”这样的信息。但是,我读取了注册信息,并得到了像“ATI Radeon HD 4800 Series”这样的信息。而且我使用了D3D或者OPCL界面得到的信息也像“ATI Radeon HD 4800系列”。我怎样才能正确地得到一个Gpu的名字?

我不记得需要调用的确切功能,但是您需要使用SetupDiXxx功能 。

警告:这有点痛苦。

如果你在windows中,你可以用c++amp来试试。

 concurrency::accelerator a; wcout<<a.description; // a.description will contain the details (name if not a emulated accelerator)