| 126 | |
| 127 | = PyMW - Master Worker Computing in Python = |
| 128 | |
| 129 | PyMW (Master Worker Computing in Python) PyMW is a Python module for parallel master-worker computing in a variety of environments, including BOINC. With the PyMW module, users can write a single program that scales from multi-core machines to global computing platforms. |
| 130 | |
| 131 | PyMW can be downloaded from [http://pymw.sourceforge.net/ here]. |
| 132 | |
| 133 | A BOINC project has to be prepared to accept applications written in Python. BOINC comes with an install script for PyMW. The setup script - pymw_setup.py - can be found in the bin directory of the BOINC project. An absolute path to the PyMW working directory has to be provided with the -p or --pymw switch to the setup script. The assimilator program for PyMW will copy the results to this directory. Example to run the setup script: |
| 134 | {{{ |
| 135 | cd /home/kadam/projects/sandbox/bin |
| 136 | pymw_setup -p /home/kadam/pymw/examples/tasks |
| 137 | }}} |
| 138 | |
| 139 | The PyMW setup script executes the followings, respectively: |
| 140 | * Insert pymw_assimilator in the daemons section of config.xml |
| 141 | * Insert pymw application in project.xml |
| 142 | * Create pymw directory in the app directory of the project |
| 143 | * Create client application executables for Linux platform |
| 144 | * Create client application executables for Windows platform |
| 145 | * Call xadd |
| 146 | * Call update_versions |
| 147 | |
| 148 | Once successfully executed, the project is ready to handle PyMW jobs. The setup script can be called multiple times. However, if the pymw client application is already registered with the project, the setup script will only alter the working directory of the pymw_assimilator in the config.xml file. |
| 149 | |
| 150 | To use PyMW with the BOINC interface PyMW has to be configured with the -i or --interface switch. Also the home directory of the BOINC project needs to be passed to PyMW with the -p or --project_home switch. |
| 151 | Example to run PyMW with the BOINC interface: |
| 152 | {{{ |
| 153 | cd /home/kadam/pymw/examples |
| 154 | python monte_pi.py -i boinc -p /home/kadam/projects/sandbox/ |
| 155 | }}} |
| 156 | For further information on using PyMW, please refer to the documentation of PyMW. |