C++ 中的标准兼容自定义执行策略

Standard Compatible Custom Execution Policies in C++

提问人:Arnab Mahanti 提问时间:7/10/2023 最后编辑:Arnab Mahanti 更新时间:7/10/2023 访问量:40

问:

是否可以在不创建标准库的自定义实现的情况下实现与标准库算法兼容的自定义执行策略?例如,我可能想创建一个并将其传递给算法,以将工作分布在分布式系统中的多个节点上,或者可能是一个自定义的,它与 GPU 后端一起操作并将工作分派给 GPU 后端。mypolicy::mpistd::transform_reducemypolicy::gpustd::transfom_reduce

如何实现这一点?

C++ 发并行处理 C++-标准库

评论

0赞 Pete Becker 7/10/2023
不,不能那样做。执行策略是普通类型的普通值。它不做任何处理;它所做的只是告诉库它应该使用哪些实现。
0赞 463035818_is_not_an_ai 7/10/2023
考虑例如“除非 std::is_execution_policy_v<std::d ecay_t<ExecutionPolicy>>true,否则此重载不参与重载解决。然后“为is_execution_policy或is_execution_policy_v添加专业化的程序的行为是未定义的。

答: 暂无答案