- 授权协议: 未知
- 开发语言: Python
- 操作系统: 跨平台
- 软件首页: https://github.com/UIUC-PPL/charmpy
- 软件文档: https://charmpy.readthedocs.io/en/latest/
- 官方下载: https://github.com/UIUC-PPL/charmpy
软件介绍
CharmPy
CharmPy 是一个通用的分布式并行编程框架,具有简单而强大的 API ,基于可迁移的 Python 对象和远程方法调用; 构建于自适应 C ++ 运行时系统之上,提供速度、可扩展性和动态负载平衡。
CharmPy 允许开发从笔记本电脑到超级计算机的并行应用程序。
简单示例:
from charmpy import charm, Chare, Group, Reducerfrom math import piimport timeclass Worker(Chare):
def work(self, n_steps, pi_future):
h = 1.0 / n_steps
s = 0.0
for i in range(self.thisIndex, n_steps, charm.numPes()):
x = h * (i + 0.5)
s += 4.0 / (1.0 + x**2) # perform a reduction among members of the group, sending the result to the future
self.contribute(s * h, Reducer.sum, pi_future)def main(args):
n_steps = 1000
if len(args) > 1:
n_steps = int(args[1])
mypi = charm.createFuture()
workers = Group(Worker) # create one instance of Worker on every processor
t0 = time.time()
workers.work(n_steps, mypi) # invoke 'work' method on every worker
print('Approximated value of pi is:', mypi.get(), # 'get' blocks until result arrives
'Error is', abs(mypi.get() - pi), 'Elapsed time=', time.time() - t0)
charm.exit()
charm.start(main)
High Performance Python
Micha Gorelick、Ian Ozsvald / O'Reilly Media / 2014-9-10 / USD 39.99
If you're an experienced Python programmer, High Performance Python will guide you through the various routes of code optimization. You'll learn how to use smarter algorithms and leverage peripheral t......一起来看看 《High Performance Python》 这本书的介绍吧!
