Skip to content

Commit 4f49604

Browse files
author
Ritvik Rao
committed
combining ray branch with mac build changes
1 parent fb5600a commit 4f49604

File tree

11 files changed

+50204
-2
lines changed

11 files changed

+50204
-2
lines changed

charm4py.egg-info/PKG-INFO

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
Metadata-Version: 2.1
2+
Name: charm4py
3+
Version: 1.0
4+
Summary: Charm4py Parallel Programming Framework
5+
Home-page: https://github.com/UIUC-PPL/charm4py
6+
Author: Juan Galvez and individual contributors
7+
Author-email: jjgalvez@illinois.edu
8+
Keywords: parallel parallel-programming distributed distributed-computing hpc HPC runtime
9+
Classifier: Intended Audience :: Developers
10+
Classifier: License :: Free for non-commercial use
11+
Classifier: Operating System :: MacOS :: MacOS X
12+
Classifier: Operating System :: POSIX
13+
Classifier: Operating System :: POSIX :: Linux
14+
Classifier: Operating System :: Microsoft :: Windows
15+
Classifier: Programming Language :: Python
16+
Classifier: Programming Language :: Python :: 3.4
17+
Classifier: Programming Language :: Python :: 3.5
18+
Classifier: Programming Language :: Python :: 3.6
19+
Classifier: Programming Language :: Python :: 3.7
20+
Classifier: Topic :: System :: Distributed Computing
21+
Classifier: Topic :: System :: Clustering
22+
License-File: LICENSE
23+
License-File: AUTHORS.md
24+
25+
========
26+
Charm4py
27+
========
28+
29+
30+
.. image:: https://github.com/UIUC-PPL/charm4py/actions/workflows/charm4py.yml/badge.svg?event=push
31+
:target: https://github.com/UIUC-PPL/charm4py/actions/workflows/charm4py.yml
32+
33+
.. image:: http://readthedocs.org/projects/charm4py/badge/?version=latest
34+
:target: https://charm4py.readthedocs.io/
35+
36+
.. image:: https://img.shields.io/pypi/v/charm4py.svg
37+
:target: https://pypi.python.org/pypi/charm4py/
38+
39+
40+
Charm4py (Charm++ for Python *-formerly CharmPy-*) is a distributed computing and
41+
parallel programming framework for Python, for the productive development of fast,
42+
parallel and scalable applications.
43+
It is built on top of `Charm++`_, a C++ adaptive runtime system that has seen
44+
extensive use in the scientific and high-performance computing (HPC) communities
45+
across many disciplines, and has been used to develop applications that run on a
46+
wide range of devices: from small multi-core devices up to the largest supercomputers.
47+
48+
Please see the Documentation_ for more information.
49+
50+
Short Example
51+
-------------
52+
53+
The following computes Pi in parallel, using any number of machines and processors:
54+
55+
.. code-block:: python
56+
57+
from charm4py import charm, Chare, Group, Reducer, Future
58+
from math import pi
59+
import time
60+
61+
class Worker(Chare):
62+
63+
def work(self, n_steps, pi_future):
64+
h = 1.0 / n_steps
65+
s = 0.0
66+
for i in range(self.thisIndex, n_steps, charm.numPes()):
67+
x = h * (i + 0.5)
68+
s += 4.0 / (1.0 + x**2)
69+
# perform a reduction among members of the group, sending the result to the future
70+
self.reduce(pi_future, s * h, Reducer.sum)
71+
72+
def main(args):
73+
n_steps = 1000
74+
if len(args) > 1:
75+
n_steps = int(args[1])
76+
mypi = Future()
77+
workers = Group(Worker) # create one instance of Worker on every processor
78+
t0 = time.time()
79+
workers.work(n_steps, mypi) # invoke 'work' method on every worker
80+
print('Approximated value of pi is:', mypi.get(), # 'get' blocks until result arrives
81+
'Error is', abs(mypi.get() - pi), 'Elapsed time=', time.time() - t0)
82+
exit()
83+
84+
charm.start(main)
85+
86+
87+
This is a simple example and demonstrates only a few features of Charm4py. Some things to note
88+
from this example:
89+
90+
- *Chares* (pronounced chars) are distributed Python objects.
91+
- A *Group* is a type of distributed collection where one instance of the specified
92+
chare type is created on each processor.
93+
- Remote method invocation in Charm4py is *asynchronous*.
94+
95+
In this example, there is only one chare per processor, but multiple chares (of the same
96+
or different type) can exist on any given processor, which can bring flexibility and also performance
97+
benefits (like dynamic load balancing). Please refer to the documentation_ for more information.
98+
99+
100+
Contact
101+
-------
102+
103+
We would like feedback from the community. If you have feature suggestions,
104+
support questions or general comments, please visit the repository's `discussion page`_
105+
or email us at <charm@cs.illinois.edu>.
106+
107+
Main author at <jjgalvez@illinois.edu>
108+
109+
110+
.. _Charm++: https://github.com/UIUC-PPL/charm
111+
112+
.. _Documentation: https://charm4py.readthedocs.io
113+
114+
.. _discussion page: https://github.com/UIUC-PPL/charm4py/discussions

charm4py.egg-info/SOURCES.txt

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
AUTHORS.md
2+
CHANGES.rst
3+
LICENSE
4+
MANIFEST.in
5+
README.rst
6+
auto_test.py
7+
setup.py
8+
test_config.json
9+
charm4py/__init__.py
10+
charm4py/_version.py
11+
charm4py/c_object_store.cpp
12+
charm4py/c_object_store.pxd
13+
charm4py/c_object_store.pyx
14+
charm4py/channel.py
15+
charm4py/chare.py
16+
charm4py/charm.py
17+
charm4py/entry_method.py
18+
charm4py/interactive.py
19+
charm4py/libcharm_version
20+
charm4py/object_store.py
21+
charm4py/pool.py
22+
charm4py/reduction.py
23+
charm4py/sections.py
24+
charm4py/threads.py
25+
charm4py/wait.py
26+
charm4py.egg-info/PKG-INFO
27+
charm4py.egg-info/SOURCES.txt
28+
charm4py.egg-info/dependency_links.txt
29+
charm4py.egg-info/entry_points.txt
30+
charm4py.egg-info/requires.txt
31+
charm4py.egg-info/top_level.txt
32+
charm4py/charmlib/__init__.py
33+
charm4py/charmlib/ccharm.pxd
34+
charm4py/charmlib/charmlib_cffi.py
35+
charm4py/charmlib/charmlib_cffi_build.py
36+
charm4py/charmlib/charmlib_ctypes.py
37+
charm4py/charmlib/charmlib_cython.pyx
38+
charm4py/ray/__init__.py
39+
charm4py/ray/api.py
40+
charm_src/charm/include/charm.h
41+
charm_src/charm/include/spanningTree.h
42+
charmrun/__init__.py
43+
charmrun/start.py
44+
docs/Makefile
45+
docs/channels.rst
46+
docs/chare-api.rst
47+
docs/charm-api.rst
48+
docs/collections-api.rst
49+
docs/conf.py
50+
docs/contact.rst
51+
docs/examples.rst
52+
docs/features.rst
53+
docs/futures-api.rst
54+
docs/index.rst
55+
docs/install.rst
56+
docs/introduction.rst
57+
docs/make.bat
58+
docs/perf-tips.rst
59+
docs/pool.rst
60+
docs/profiling.rst
61+
docs/reductions-api.rst
62+
docs/release-notes.rst
63+
docs/rules.rst
64+
docs/running.rst
65+
docs/sections.rst
66+
docs/serialization.rst
67+
docs/tutorial.rst
68+
examples/dist-task-scheduler/scheduler.py
69+
examples/fibonacci/fib-numba.py
70+
examples/fibonacci/fib.py
71+
examples/hello/array_hello.py
72+
examples/hello/group_hello.py
73+
examples/hwmon/hwmon.py
74+
examples/jacobi/jacobi2d.py
75+
examples/multi-module/goodbye.py
76+
examples/multi-module/hello.py
77+
examples/multi-module/main.py
78+
examples/nqueen/nqueen-numba.py
79+
examples/nqueen/nqueen.py
80+
examples/parallel-map/square.py
81+
examples/particle/particle.py
82+
examples/pool/pool_fibonacci.py
83+
examples/pool/pool_simple.py
84+
examples/ray/batch_prediction.py
85+
examples/ray/fib.py
86+
examples/ray/model_selection.py
87+
examples/ray/parameter_server.py
88+
examples/ray/simple.py
89+
examples/simple/chares.py
90+
examples/simple/hello_world.py
91+
examples/simple/reduction.py
92+
examples/simple/start.py
93+
examples/wave2d/wave2d.py
94+
tests/charm_remote.py
95+
tests/array_maps/test1.py
96+
tests/benchmark/pingpong.py
97+
tests/callbacks/callbacks.py
98+
tests/callbacks/schedule_cb.py
99+
tests/channels/inorder.py
100+
tests/channels/iwait.py
101+
tests/channels/test1.py
102+
tests/channels/test2.py
103+
tests/channels/test_numpy.py
104+
tests/collections/async_array_creation.py
105+
tests/collections/proxies_same_name.py
106+
tests/collections/proxies_same_name_aux.py
107+
tests/collections/proxy_eq.py
108+
tests/collections/test.py
109+
tests/dcopy/test_dcopy.py
110+
tests/entry_methods/array_element_proxy.py
111+
tests/entry_methods/bcast_globals.py
112+
tests/entry_methods/entrymethod_args_kwargs.py
113+
tests/entry_methods/group_element_proxy.py
114+
tests/entry_methods/retmodes.py
115+
tests/exceptions/pool.py
116+
tests/exceptions/test.py
117+
tests/futures/iwait.py
118+
tests/futures/multi_futures.py
119+
tests/futures/test_different_coroutines.py
120+
tests/futures/test_futures.py
121+
tests/interactive/mylib.py
122+
tests/migration/chare_migration.py
123+
tests/migration/test_migrate.py
124+
tests/migration/test_nonmigratables.py
125+
tests/pool/pool.py
126+
tests/pool/pool_ncores.py
127+
tests/qd/qd.py
128+
tests/reductions/allreduce.py
129+
tests/reductions/array_reduction.py
130+
tests/reductions/bench_reductions.py
131+
tests/reductions/custom_reduction.py
132+
tests/reductions/future_reduction.py
133+
tests/reductions/group_reduction.py
134+
tests/reductions/logical_ops.py
135+
tests/reductions/section_reduction.py
136+
tests/reductions/test_gather.py
137+
tests/sections/allreduce.py
138+
tests/sections/callbacks.py
139+
tests/sections/constrained_groups.py
140+
tests/sections/multirand-split-combine.py
141+
tests/sections/simple.py
142+
tests/sections/slice.py
143+
tests/thread_entry_methods/future_bcast.py
144+
tests/thread_entry_methods/future_reduction.py
145+
tests/thread_entry_methods/test1.py
146+
tests/thread_entry_methods/test1_when.py
147+
tests/thread_entry_methods/test2.py
148+
tests/thread_entry_methods/test_main.py
149+
tests/thread_entry_methods/test_wait.py
150+
tests/thread_entry_methods/threaded_ctors1.py
151+
tests/thread_entry_methods/threaded_ctors2.py
152+
tests/topo/phynode_API.py
153+
tests/topo/topo_treeAPI.py
154+
tests/topo/topo_treeAPI2.py
155+
tests/when/perf_test.py
156+
tests/when/stencil.py
157+
tests/when/test_when_syntax.py
158+
tests/when/when_test.py
159+
tests/when/when_test2.py
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

charm4py.egg-info/entry_points.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[console_scripts]
2+
charmrun = charmrun.start:start

charm4py.egg-info/requires.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
numpy>=1.10.0
2+
greenlet
3+
cython

charm4py.egg-info/top_level.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
charm4py
2+
charmrun

0 commit comments

Comments
 (0)