| | 10 | |
| | 11 | The wrapper program (called 'wrapper') is in [ExampleApps boinc_samples]. |
| | 12 | It reads a file called 'job.xml' with format: |
| | 13 | |
| | 14 | {{{ |
| | 15 | <job_desc> |
| | 16 | <task> |
| | 17 | <application>worker_5.10_windows_intelx86.exe</application> |
| | 18 | [ <stdin_filename>stdin_file</stdin_filename> ] |
| | 19 | [ <stdout_filename>stdout_file</stdout_filename> ] |
| | 20 | [ <stderr_filename>stderr_file</stderr_filename> ] |
| | 21 | [ <command_line>--foo bar</command_line> ] |
| | 22 | </task> |
| | 23 | [ ... ] |
| | 24 | </job_desc> |
| | 25 | }}} |
| | 26 | |
| | 27 | The job file specifies a sequence of tasks. |
| | 28 | |
| | 29 | The job file can specify multiple tasks. |
| | 30 | This is useful for two purposes: |
| | 31 | |
| | 32 | * To handle jobs that involve multiple steps |
| | 33 | (e.g., proprocessing and postprocessing). |
| | 34 | * To break a long job up into smaller pieces. |
| | 35 | This provides a form of checkpointing: |
| | 36 | ''wrapper'' does checkpointing at the task level, |
| | 37 | so that lost CPU time can be limited |
| | 38 | even if the legacy applications themselves are not restartable. |
| | 39 | |
| | 40 | Notes: |
| | 41 | |
| | 42 | * This requires version 5.5 or higher of the BOINC core client. |
| | 43 | * Files opened directly by a worker program must have the <copy_file> tag. |
| | 44 | * If '''wrapper''' is passed command-line arguments (e.g., specified in the workunit template) these are passed to each of the applications, after those specified in the job file. |
| | 45 | * If the wrapper is used in standalone mode (while debugging), you have to provide the input files with the proper logical, not physical, names. |
| | 46 | |
| | 47 | == Example == |
| 93 | | * This requires version 5.5 or higher of the BOINC core client. |
| 94 | | * Multiple tasks per job is not implemented yet. Future versions of wrapper may allow you to run multiple applications in sequence (as specified in the job.xml file). |
| 95 | | * TODO: provide a way for projects to supply an animated GIF which is shown (with user/team credit text) as screensaver graphics. |
| 96 | | * If the wrapper itself has command-line arguments (e.g., specified in the workunit template) these are passed to the application, after those specified in the job file. |
| 97 | | * If the wrapper is used in standalone mode (while debugging), you have to provide the input files with the proper logical, not physical, names. |
| 98 | | * The general form of the job file is: |
| 99 | | {{{ |
| 100 | | <job_desc> |
| 101 | | <task> |
| 102 | | <application>worker_5.10_windows_intelx86.exe</application> |
| 103 | | <stdin_filename>stdin_file</stdin_filename> |
| 104 | | <stdout_filename>stdout_file</stdout_filename> |
| 105 | | [ <stderr_filename>stderr_file</stderr_filename> ] |
| 106 | | [ <command_line>--foo bar</command_line> ] |
| 107 | | </task> |
| 108 | | </job_desc> |
| 109 | | }}} |
| | 129 | |