Changes between Version 1 and Version 2 of WrapperApp


Ignore:
Timestamp:
Apr 24, 2007, 7:07:09 PM (17 years ago)
Author:
Nicolas
Comment:

Required manual changes to automatic script formatting. I had to do the table manually; but anyway, is a table the best way to list those filenames?

Legend:

Unmodified
Added
Removed
Modified
  • WrapperApp

    v1 v2  
    11= Legacy applications =
    22
    3       A '''legacy application''' is one for which an executable is available, but not the source code. Therefore it cannot use the BOINC API and runtime system. However, such applications can be run using BOINC. Here's an example:
     3A '''legacy application''' is one for which an executable is available, but not the source code. Therefore it cannot use the BOINC API and runtime system. However, such applications can be run using BOINC. Here's an example:
    44 * Compile the program 'worker' from the [http://boinc.berkeley.edu/example.php boinc_samples] tree, producing (say) 'worker_5.10_windows_intelx86.exe'. This is the legacy app. If reads from stdin and writes to stdout; it also opens and reads a file 'in', and opens and writes a file 'out'. It takes one command-line argument: the number of CPU seconds to use.
    55 * Compile the program 'wrapper' from the [http://boinc.berkeley.edu/example.php boinc_samples] tree, producing (say) 'wrapper_5.10_windows_intelx86.exe'. This program executes your legacy application, and acts as a proxy for it (to report CPU time etc.).
     
    1616</job_desc>
    1717}}}
    18       This file is read by 'wrapper'; it tells it the name of the legacy program, what files to connect to its stdin/stdout, and a command-line argument.
     18 This file is read by 'wrapper'; it tells it the name of the legacy program, what files to connect to its stdin/stdout, and a command-line argument.
    1919 * Create a workunit template file
    2020{{{
     
    3939</workunit>
    4040}}}
    41       and a result template file
     41 and a result template file
    4242{{{
    4343<file_info>
     
    6767</result>
    6868}}}
    69       Note that the files opened directly by the legacy program must have the <copy_file> tag.
     69 Note that the files opened directly by the legacy program must have the <copy_file> tag.
    7070 * Run [http://boinc.berkeley.edu/tool_update_versions.php update_versions] to create an app version.
    7171 * Run a script like
     
    8181 to generate a workunit.
    8282
    83 Notes:
    84 
     83== Notes: ==
    8584
    8685 * This requires version 5.5 or higher of the BOINC core client.
    8786 * 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).
    88  * TODO: provide a way for projects to supply an animated GIFF which is shown (with user/team credit text) as screensaver graphics.
     87 * TODO: provide a way for projects to supply an animated GIF which is shown (with user/team credit text) as screensaver graphics.
    8988
    90   To understand how all this works: at the beginning of execution, the file layout is:
     89To understand how all this works: at the beginning of execution, the file layout is:
    9190
    92 Project directoryslot directoryjob_1.12.xml     input     input2     worker_5.10_windows_intelx86.exe     wrapper_5.10_windows_intelx86.exe          in (copy of project/input)     job.xml (link to project/job_1.12.xml)     stdin (link to project/input2)     stdout (link to project/worker_nodelete_0)     worker_5.10_windows_intelx86.exe      (link to project/worker_5.10_windows_intelx86.exe)     wrapper_5.10_windows_intelx86.exe      (link to project/wrapper_5.10_windows_intelx86.exe)     The wrapper program executes the worker, connecting its stdin to project/input2 and its stdout to project/worker_nodelete_0. The worker program opens 'in' for reading and 'out' for writing.
     91||'''Project directory'''||'''slot directory'''||
     92||job_1.12.xml||in (copy of project/input)||
     93||input||job.xml (link to project/job_1.12.xml)||
     94||input2||stdin (link to project/input2)||
     95||worker_5.10_windows_intelx86.exe||stdout (link to project/worker_nodelete_0)||
     96||wrapper_5.10_windows_intelx86.exe||worker_5.10_windows_intelx86.exe (link to project/worker_5.10_windows_intelx86.exe)
     97|| ||wrapper_5.10_windows_intelx86.exe (link to project/wrapper_5.10_windows_intelx86.exe) ||
     98
     99The wrapper program executes the worker, connecting its stdin to project/input2 and its stdout to project/worker_nodelete_0. The worker program opens 'in' for reading and 'out' for writing.
    93100
    94101When the worker program finishes, the wrapper sees this and exits. Then the the BOINC core client copies slot/out to project/worker_nodelete_1.