Eggroll is a multi-paradigm computing framework with integrated infrastructures.
Multi-Paradigm:
- Support both online and offline applications
- Support multiple programming languages
- Support heterogeneous hardware
- Support multiple levels of parallel computing
Integrated Infrastructures:
- Compiler / Computing / Storage / Network synthesized
- Eggroll on cluster / standalone / embedded devices
You can check the deploy document here:
To start an interactive python shell in standalone mode:
from eggroll.core.session import ErSession
from eggroll.core.conf_keys import SessionConfKeys
from eggroll.roll_pair.roll_pair import RollPairContext
options = {SessionConfKeys.CONFKEY_SESSION_DEPLOY_MODE: "standalone"}
session = ErSession(options=options)
rpc = RollPairContext(session)
rp = rpc.parallelize(range(10), options={'include_key': False})
Alternatively, if you want to use it in cluster mode:
from eggroll.core.session import ErSession
from eggroll.roll_pair.roll_pair import RollPairContext
session = ErSession(options=options)
rpc = RollPairContext(session)
rp = rpc.parallelize(range(10), options={'include_key': False})
Testing requires Eggroll having been built and deployed. Once it is completed, you can try the example test cases:
# standalone mode
python -m unittest eggroll.roll_pair.test.test_roll_pair.TestRollPairStandalone
# cluster mode
python -m unittest eggroll.roll_pair.test.test_roll_pair.TestRollPairCluster
Special thanks to: