2002-05-17 22:33:57 +00:00
|
|
|
<h2>Platforms, applications, and versions</h2>
|
|
|
|
<p>
|
|
|
|
A <b>platform</b> is a compilation target
|
|
|
|
(Windows/Intel, Linux/Intel, MacOS/PPC, etc.).
|
|
|
|
Platforms are maintained in the <b>platform</b> table in the BOINC DB,
|
|
|
|
and can be created using the <a href=tools.html>add</a> utility program.
|
|
|
|
<p>
|
|
|
|
An <b>application</b> is a computational task;
|
|
|
|
in concrete terms it consists of an executable program
|
|
|
|
(perhaps in versions for various platforms)
|
|
|
|
and a set of input files to be processed by the program.
|
|
|
|
A project can operate many applications.
|
|
|
|
Applications are maintained in the <b>application</b> table in the BOINC DB,
|
|
|
|
and can be created using the <a href=tools.html>add</a> utility.
|
|
|
|
<p>
|
|
|
|
An application program may go through a sequence of
|
|
|
|
<a href=version.html>versions</a>.
|
|
|
|
A particular version, compiled for a particular platform,
|
|
|
|
is called an <b>application version</b>.
|
|
|
|
An application version can consist of multiple files:
|
|
|
|
for example, a controller script,
|
|
|
|
pre- and post-processing programs, and a primary.
|
2002-07-29 00:39:45 +00:00
|
|
|
|
|
|
|
<p>
|
|
|
|
Each application version has an integer <b>version number</b>.
|
|
|
|
Projects can assign version numbers however they like;
|
|
|
|
for example, version 304 might represent major version 3 and minor version 4.
|
|
|
|
Version numbers should be used consistently across platforms;
|
|
|
|
Windows version 304 should be computationally identical to Mac version 304.
|
|
|
|
|
|
|
|
<p>
|
|
|
|
Each application has a <b>minimum version</b>.
|
|
|
|
When a client is sent work for an application,
|
|
|
|
it is also sent the latest application version for its platform.
|
|
|
|
It is sent work only if this version is the minimum or greater.
|
|
|
|
|
2002-05-17 22:33:57 +00:00
|
|
|
<p>
|
|
|
|
Application version are maintained in the <b>app_version</b>
|
|
|
|
table in the BOINC DB,
|
|
|
|
Each entry includes an XML document describing the files
|
|
|
|
that make up the application version:
|
|
|
|
<pre>
|
|
|
|
<file_info> ... </file_info>
|
|
|
|
[ ... ]
|
|
|
|
<app_version>
|
|
|
|
<app_name>foobar</app_name>
|
|
|
|
<version_num>4</version_num>
|
|
|
|
<file_ref>
|
|
|
|
<file_name>program_1</file_name>
|
|
|
|
<main_program/>
|
|
|
|
</file_ref>
|
|
|
|
<file_ref>
|
|
|
|
<file_name>library_12</file_name>
|
|
|
|
</file_ref>
|
|
|
|
</app_version>
|
|
|
|
</pre>
|
|
|
|
The <a href=tools.html>add</a> utility program provides
|
|
|
|
a simplified interface for creating application versions.
|