jump to navigation

Generating work on BOINC June 27, 2008

Posted by genetical in boinc.
Tags: , , , , ,
2 comments

To generate workunits, there are a few commands you must run from the project root directory (in this case: /var/lib/boinc/suboinc/). First you must move your input file to its proper location as determined by BOINC’s hashing protocol. Execute this command as super user or the boinc user (boinc user preferred – Tommy, is this all set up and ready to go?):

# cp [INFILE LOCATION AND NAME] `bin/dir_hier_path [INFILE NAME]`

For example,

# cp apps/uppercase/in-uc_LIN `bin dir_hier_path in-uc_LIN`

This moves your input file to its proper location. Now you must create your workunit:

# bin/create_work -appname [APP NAME FROM "apps" FOLDER] -wu_name [CHOOSE YOUR WORKUNIT NAME] -wu_template templates/wu_generic -result_template templates/result_generic [INFILE NAME]

For example,

# bin/create_work -appname uppercase -wu_name uc_nodelete -wu_template templates/wu_generic -result_template template/result_generic in-uc_LIN

Note, the “_nodelete” flag makes sure that file_deleter and db_purge do not remove this file, which is important if you want to use the make_work function to generate mass amounts of the same workunit for testing (done from “bin“):

# ./make_work -wu_name uc_nodelete -cushion 100 -max_wus 1000

The cushion defines how many workunits are kept in the queue at any time until the max number of workunits, 1000, is reached.

You can add this as a daemon that runs with BOINC by editing the “config.xml” file with something like:

<daemon>

<cmd>

make_work -d 3 -wu_name uc_nodelete -cushion 100 -max_wus 99999

</cmd>

</daemon>

The “-d 3” option sets it to run as a daemon and at the debug level (3). This should be listed amongst the rest of the daemons in the config file.

More “useful” reading can be found here.

-Chris