Context Navigation

Platforms

A platform is a compilation target for BOINC applications -
typically a combination of a CPU architecture and an operating system.
Each application version is associated with a particular platform.
Your project can provide application versions for any set of platforms;
the more platforms you support, the more hosts will be able to
participate in your project.

A given BOINC client supports one or more platforms
(e.g., a Win64 client can run Win64 or Win32 applications).
The client reports its platform to the scheduling server,
and the scheduling server sends work to the client only
if there is an application version for one of its platforms.

BOINC defines a set of platforms (see below).
Platforms are maintained in the platform table in the BOINC database.
This is pre-populated with the 10 or so most common platforms.
To create more, edit project.xml and add them using xadd.

Each platform has a name and a description of the range of computers it can handle.
For coherence between projects, use only the following platforms.
If you want to add a different platform, please contact us.

You may have executables that exploit specific architectural features at a finer granularity
than that of platform.
For example, you may have an executable that uses AMD 3DNow instructions.
There are two ways to arrange this:

Use the application planning mechanism to specify a class of app versions that can be sent only to hosts with particular CPU features;

Make a "fat executable" that recognizes when it's running on a 3DNow machine,
and branches to the appropriate code.

Download in other formats:

Site migrated to: https://github.com/BOINC/boinc-dev-doc/wikiCopyright (c) 2014 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.