C++ 如何强调GPU

C++ 如何强调GPU,c++,directx,gpu,C++,Directx,Gpu,我想在我们的应用程序中添加一些诊断代码,这些代码同时强调CPU和GPU,然后测量热量。第三方工具不是一个选项。据我所知,CUDA也不是一个选项,因为它需要Nvidia的编译器-是吗?据我所知,我最好的选择是DirectX。GPU上的任何简单和非可视的东西都可以 平台:Windows XP嵌入式 DirectX 9.0C只需在HLSL中创建一个包含无限循环的着色器。关闭所有剔除和实例化,并将三角形数据的色调上传到gpu进行处理和绘制,这将给CPU带来压力(现在不会太大),gpu也会承受过度拉伸的负

我想在我们的应用程序中添加一些诊断代码,这些代码同时强调CPU和GPU,然后测量热量。第三方工具不是一个选项。据我所知,CUDA也不是一个选项,因为它需要Nvidia的编译器-是吗?据我所知,我最好的选择是DirectX。GPU上的任何简单和非可视的东西都可以

平台:Windows XP嵌入式
DirectX 9.0C

只需在HLSL中创建一个包含无限循环的着色器。

关闭所有剔除和实例化,并将三角形数据的色调上传到gpu进行处理和绘制,这将给CPU带来压力(现在不会太大),gpu也会承受过度拉伸的负担


您应该能够在任何介绍教程中使用该代码(使用
DrawPrimitiveUP
的教程将更加强调CPU,但不需要创建GPU缓冲区)。您可能还希望禁用vsync,以便GPU尽可能快地工作(也就是说,它不会在其他事件上等待太多时间)

您手头有简单的示例吗?此外,我们仍然使用DX9.0c。您的答案仍然适用吗?是的,DX 9CUDA中也提供着色器,仅需要Nvidia的CUDA SDK来编译您的源代码-获得您的可执行文件的用户不需要CUDA SDK来运行它。当然,他们需要一个英伟达的视频卡和支持CUDA的驱动程序。我认为NVIDIA的要求让我无法接受,但如果不是,那就不行了。是否需要使用nvcc命令进行编译?或者我可以用MS VS 2005编译吗?是的,你从英伟达CUDA SDK编译代码为<代码> NVCC < /代码>。我想您可以设置VisualStudio,以便它为您调用
nvcc
,但我不知道如何设置。CUDA仅适用于Nvidia,它是Nvidia专有技术。另一种选择是OpenCL,它不依赖于一个供应商。我不能切换编译器。我会查到OpenCL。