gpt4 book ai didi

c++ - 是什么导致代码在 GPU 中运行?

转载 作者:搜寻专家 更新时间:2023-10-31 02:11:23 25 4
gpt4 key购买 nike

我知道我的代码在 GPU 中运行,因为性能分析器是这样说的,但我得到的信息是关于究竟是什么导致它在 GPU 中运行的。 This著名的 Microsoft 开发人员说 parallel_for 是 CPU,parallel_for_each 是 GPU。 This著名的 Microsoft 开发人员暗示 parallel_for 和 parallel_for_each 可以互换(它们的使用方式略有不同)但甚至没有提到 GPU 或 C++amp,尽管他确实将两者与 OpenMP 进行了比较。 MSDN 也有各种类型的文章。是使用哪个“限制”条款?我想我可以做一些实验,但这不是官方说法。任何意见将不胜感激。

最佳答案

如果您想确定您正在 GPU 上运行,请选择要在其上运行您的代码的 GPU。

std::vector<accelerator> accs = accelerator::get_all();


//std::wcout << "Found " << accs.size() << " C++ AMP accelerator(s):" << std::endl;
//std::for_each(accs.cbegin(), accs.cend(), [](const accelerator& a)
//{
// if (a.get_is_emulated() == false)
// {
// std::wcout << " " << a.device_path << std::endl
// << " description " << a.description
// << " device_path " << a.device_path
// << " is_emulated " << a.get_is_emulated()
// << std::endl << std::endl;
// }
//});

但更具体地说,限制关键字将尝试在可用的加速器上运行。如果不相同,代码将自己在 CPU 上运行。在我们的一些项目中,我们检测到内存最多的加速器 (GPU),并将其作为“选择的”加速器。

希望这对您有所帮助。

关于c++ - 是什么导致代码在 GPU 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43679131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com