python并行编程,卸载到GPU

2024-05-21 00:25:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我在写科学的python代码,在我看来包含了很多非常可并行化的for循环。 在这些循环中,我从一个开源python2.7库调用了许多属于类的函数,因此迁移到另一种语言是不可行的。除非它能与python接口。 我有两个不同的代码->

  1. 在最里面的循环中调用C-binaries*,这是它只能使用一个线程的瓶颈,然后将结果写入磁盘。

  2. 在最内层循环中调用开源C PyObject函数**,在ndarray中保存,在外部循环中写入磁盘

是否有可能将这些文件中的for loop卸载到gpu?(英伟达GTX gpu) 例如,使用OpenACC(Python)/PGI、PyCUDA或PyOpenCL甚至OpenCV?在

(*依赖于存储GB临时数据的路径,例如$HOME/tmp/) (**不太可并行化,因为它们依赖于以前的迭代..)

输入是CT图像->3dnp.数组有符号int16值的

我有八个CPU线程,我可以充分利用多处理.pool但是我的GPU什么也没做。假设8 GB RAM,使用<;2 GB。使用Arch Linux。在

另外,我愿意在硬件升级方面征求建议->;我从事癌症研究,这使得资助成为可能。在


Tags: 函数代码gt语言forgpu开源科学