Thursday Exercise 2
From AIMSWiki
Overview
Run a Legacy application inside BOINC.
PLEASE REVIEW THIS ATTEMPT AT AN OVERVIEW http://www.aims.ac.za/wiki/index.php/Overview_Guide [[1] (http://www.aims.ac.za/wiki/index.php/Overview_Guide)]
Feedback
Report in your Team Wiki pages how you tried to meet the Objective.
Procedure
Download the Legacy Application called Worker (http://shrike.aims.ac.za/worker.tar.gz). This file contains the source code of the worker. You have to check it and explain why for running this application the wrapper is necessary.
Download the Wrapper (http://shrike.aims.ac.za/wrapper.tar.gz) and build it:
Unpack it. ln -s `g++ -print-file-name=libstdc++.a` make
Now we have to create a BOINC project with all the programs.
And when creating the WU templates we have to take care of <copy_file/>:
<file_info>
<number>0</number>
</file_info>
<workunit>
<file_ref>
<file_number>0</file_number>
<open_name>in</open_name>
<copy_file/>
</file_ref>
</workunit>
The same for the result template:
<file_info>
<name><OUTFILE_0/></name>
<generated_locally/>
<upload_when_present/>
<max_nbytes>5000000</max_nbytes>
<url><UPLOAD_URL/></url>
</file_info>
<result>
<file_ref>
<file_name><OUTFILE_0/></file_name>
<open_name>out</open_name>
<copy_file/>
</file_ref>
</result>
Once we have created the WU templates we only have to copy the scientific application (the worker and its input files in) and the wrapper (and its input files job.xml) to the apps folder.
The job.xml file has to be renamed from job.xml to job.xml=job_0.xml. To do this use
mv job.xml job.xml=job_0.xml
Remeber to check that all input/output file names are correct in job.xml=job_0.xml.
Then create the project as you did it yesterday and start the BOINC project.
We have to create the workunit for our project: bin/create_work -appname wrapper -wu_name HHH -wu_template templates/input.xml -result_template templates/result.xml in
As in is the input file for the Legacy Application (worker) we have to added it in this special way, adding its name to the create_work command.
Connect from your client and check that everything is running and correct.
Now we have tried using the worker application, and used it with the wrapper. Now instead use your OWN application and run it with the wrapper!
Thursday Exercise 1 | BoincExercises | Thursday Exercise 3 (optional)

