~ubuntu-branches/ubuntu/lucid/boinc/lucid

« back to all changes in this revision

Viewing changes to doc/platform.php

  • Committer: Bazaar Package Importer
  • Author(s): Frank S. Thomas, Frank S. Thomas
  • Date: 2008-05-31 08:02:47 UTC
  • mfrom: (1.1.8 upstream)
  • Revision ID: james.westby@ubuntu.com-20080531080247-4ce890lp2rc768cr
Tags: 6.2.7-1
[ Frank S. Thomas ]
* New upstream release.
  - BOINC Manager: Redraw disk usage charts immediately after connecting to
    a (different) client. (closes: 463823)
* debian/copyright:
  - Added the instructions from debian/README.Debian-source about how
    repackaged BOINC tarballs can be reproduced because DevRef now
    recommends to put this here instead of in the afore-mentioned file.
  - Updated for the new release.
* Removed the obsolete debian/README.Debian-source.
* For consistency upstream renamed the core client and the command tool
  ("boinc_client" to "boinc" and "boinc_cmd" to "boinccmd"). Done the same
  in all packages and created symlinks with the old names for the binaries
  and man pages. Also added an entry in debian/boinc-client.NEWS explaining
  this change.
* debian/rules: Do not list Makefile.ins in the clean target individually,
  just remove all that can be found.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php
2
 
require_once("docutil.php");
3
 
page_head("Platforms [Deprecated - Wiki]");
4
 
echo "
5
 
<p>
6
 
The computers available to a volunteer computing project
7
 
have a wide range of operating systems and hardware architectures.
8
 
For example, they may run many versions of Windows
9
 
(95, 98, ME, 2000, XP) on many processors variants (486, Pentium, AMD).
10
 
Hosts may have multiple processors and/or graphics coprocessors.
11
 
 
12
 
<p>
13
 
A <b>platform</b> is a compilation target -
14
 
typically a combination of a CPU architecture and an operating system.
15
 
The BOINC database of each project includes a set of platforms.
16
 
Each platform has a <b>name</b> and a <b>description</b> of
17
 
the range of computers it can handle.
18
 
Each <a href=app.php>application version</a>
19
 
is associated with a particular platform.
20
 
 
21
 
<p>
22
 
For coherence between projects,
23
 
you should use only the following platforms:
24
 
If you want to add a different platform,
25
 
please <a href=contact.php>contact us</a>.
26
 
";
27
 
 
28
 
list_start();
29
 
list_heading("name", "description");
30
 
list_item("windows_intelx86", "Microsoft Windows (98 or later) running on an Intel x86-compatible CPU");
31
 
list_item("windows_x86_64", "Microsoft Windows running on an AMD x86_64 or Intel EM64T CPU");
32
 
list_item("i686-pc-linux-gnu", "Linux running on an Intel x86-compatible CPU");
33
 
list_item("x86_64-pc-linux-gnu", "Linux running on an AMD x86_64 or Intel EM64T CPU");
34
 
list_item("ppc64-linux-gnu", "Linux running on a
35
 
    <a href=http://en.wikipedia.org/wiki/Ppc64>64-bit PowerPC processor</a>");
36
 
list_item("powerpc-apple-darwin", "Mac OS X 10.3 or later running on Motorola PowerPC");
37
 
list_item("i686-apple-darwin", "Mac OS 10.4 or later running on Intel");
38
 
list_item("sparc-sun-solaris2.7", "Solaris 2.7 running on a SPARC-compatible CPU");
39
 
list_item("sparc-sun-solaris", "Solaris 2.8 or later running on a SPARC-compatible CPU");
40
 
list_item("sparc64-sun-solaris", "Solaris 2.8 or later running on a SPARC 64-bit CPU");
41
 
list_end();
42
 
echo"
43
 
 
44
 
<p>
45
 
A platform name is compiled into the BOINC client.
46
 
The client reports its platform to the scheduling server,
47
 
and the scheduling server sends work to a host only
48
 
if there is an application version for the same platform.
49
 
<p>
50
 
In some cases, you may want to associate the a single executable
51
 
with multiple platforms.
52
 
For example, a Mac/Intel host is able to run Mac/PPC applications
53
 
in emulation mode.
54
 
If you are unable to compile your application for Mac/Intel,
55
 
you can take your Mac/PPC binary and add it as a Mac/Intel app version;
56
 
this will allow Mac/Intel hosts to participate in your project.
57
 
 
58
 
 
59
 
<h3>Application optimization for specific architectures</h3>
60
 
 
61
 
<p>
62
 
BOINC allows applications to exploit specific architectures,
63
 
but places the burden of recognizing the architecture
64
 
on the application.
65
 
In other words, if you want to make a version of your application
66
 
that can use the AMD 3DNow instruction set,
67
 
don't create a new <b>windows_amd_3dnow</b> platform.
68
 
Instead, make a version for the <b>windows_intelx86</b> platform
69
 
that recognizes when it's running on a 3DNow machine,
70
 
and branches to the appropriate code.
71
 
<p>
72
 
This excludes the combinatorial explosion of versions and architectures
73
 
from the internals of BOINC.
74
 
 
75
 
<p>
76
 
<h3>Web-site statistics breakdown by architecture</h3>
77
 
<p>
78
 
BOINC collects architecture details about each completed result
79
 
to allow detailed statistical breakdowns.
80
 
 
81
 
<p>
82
 
First, the core client attempts to find
83
 
the CPU vendor, the CPU model,
84
 
the OS name, and the OS version.
85
 
These are stored in the host record.
86
 
 
87
 
<p>
88
 
Second, applications that recognize even more specific
89
 
architecture information can pass it back to the core client
90
 
using the <b>boinc_architecture()</b>
91
 
function from <a href=api.php>the BOINC API</a>.
92
 
This passes a string (project-specific, but typically in XML)
93
 
to the core client, which records it in the
94
 
<b>architecture_xml</b> field of the <b>result</b> database record.
95
 
For example, the application might pass a description like
96
 
<pre>
97
 
", htmlspecialchars("
98
 
<has_3dnow_instructions/>
99
 
<graphics_board>ATI Rage 64MB</graphics_board>
100
 
"), "
101
 
</pre>
102
 
This makes it possible, for example, to report average or total
103
 
performance statistics for 3DNow hosts contrasted
104
 
with other Intel-compatible hosts.
105
 
 
106
 
<h3>Tools</h3>
107
 
<p>
108
 
Platforms are maintained in the <b>platform</b> table in the BOINC DB,
109
 
and can be created using the <a href=tool_xadd.php>xadd</a> utility. 
110
 
";
111
 
page_tail();
112
 
?>