Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中轻松实现并行for? 我是C++的家伙,我喜欢并行性,HPC应用程序,我知道OpenMP相当好。现在我正在学习python,我知道了基本知识_Python_Multithreading_Parallel Processing_Openmp - Fatal编程技术网

如何在python中轻松实现并行for? 我是C++的家伙,我喜欢并行性,HPC应用程序,我知道OpenMP相当好。现在我正在学习python,我知道了基本知识

如何在python中轻松实现并行for? 我是C++的家伙,我喜欢并行性,HPC应用程序,我知道OpenMP相当好。现在我正在学习python,我知道了基本知识,python,multithreading,parallel-processing,openmp,Python,Multithreading,Parallel Processing,Openmp,作为提高python技能的个人项目,我想实现的是的并行版本。给出了用C语言和OpenMP实现的该算法的并行版本 现在,我知道如何在python中轻松实现Elkan算法……但是并行性呢?OpenMP最酷的一点是,您使用串行代码,为添加了pragma omp parallel和SBAM,它是并行的 如何在python中实现类似的功能?或者我必须从一开始就设计并行算法,也就是说,不是先编写串行版本然后使其并行,而是显式地管理线程等(这是一个巨大的痛苦)首先,Python中的CPU并行性只能通过本机代码

作为提高python技能的个人项目,我想实现的是的并行版本。给出了用C语言和OpenMP实现的该算法的并行版本

现在,我知道如何在python中轻松实现Elkan算法……但是并行性呢?OpenMP最酷的一点是,您使用串行代码,为添加了pragma omp parallel和SBAM,它是并行的


如何在python中实现类似的功能?或者我必须从一开始就设计并行算法,也就是说,不是先编写串行版本然后使其并行,而是显式地管理线程等(这是一个巨大的痛苦)

首先,Python中的CPU并行性只能通过本机代码或多个进程来实现

第二,模块类似于OpenMP

它有很多功能,但是对于简单for循环等,它非常容易使用

results = map(operation, things)
将成为

import multiprocessing
pool = multiprocessing.Pool()
results = pool.map(operation, things)

正如您所知道的:Python中的多线程对于CPU受限的应用程序是无用的(如果不是反效果的话)。您将需要进行多重处理。谢谢,先生。很好的参考资料。这可能有一些有用的参考资料:。你是说Python中的并行性不是通过多线程实现的,而是通过只分配多个进程来实现的?哇,听起来太过分了!Python中的线程与C++中的线程相比,由于@ SuththLoRoLD非常有限,进程与线程本身的开销不一定都是不同的,这取决于程序。Python、Ruby和Javascript都使用多处理范式。这并非没有好处。进入C++并行性,你喜欢听/使用。