【问题标题】:Can I use OpenACC to system call Python function?我可以使用 OpenACC 系统调用 Python 函数吗?
【发布时间】:2018-01-18 02:55:19
【问题描述】:

我想在 GPU 上并行化 Python 循环,但我不想使用 pyCUDA,因为我需要自己做很多事情。我正在寻找像 C++ 中的 OpenACC 之类的东西来实现简单的并行化,但似乎没有这样的东西。所以我想在 C++ 中使用 OpenACC,然后系统调用 Python 脚本,如下面的代码所示。这行得通吗?或者有没有不使用 pyCUDA 的简单替代方案?

void foo(float*parameters){

%%system call python function with parameters as input 

}

#pragma acc parallel loop
for ( int i=0; i<n; ++i) {
  foo(parameters[i]);
  //call on the device
}

【问题讨论】:

    标签: pycuda openacc


    【解决方案1】:

    不,这行不通。您无法从设备执行主机系统调用。

    对于 OpenACC 设备代码,您只能调用具有 OpenACC“例程”指令的例程或 CUDA“设备”例程。

    【讨论】:

      猜你喜欢
      • 2017-06-22
      • 2015-10-30
      • 2015-12-01
      • 2011-08-31
      • 2022-01-24
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多