Changes between Version 5 and Version 6 of AppCoprocessor
- Timestamp:
- Mar 12, 2008, 11:16:21 AM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AppCoprocessor
v5 v6 3 3 This document describes BOINC's support for applications that use coprocessors such as 4 4 5 * GPU (s)6 * SPEs in a Cell processor5 * GPUs 6 * Cell SPEs 7 7 8 We'll assume that these resources are "allocated" rather than "scheduled": 9 an application using a coprocessor has it locked 10 while the app is in memory, 8 We'll assume that these resources are allocated rather than scheduled: 9 i.e., an application using a coprocessor has it locked while the app is in memory, 11 10 even if the app is suspended by BOINC or descheduled by the OS. 12 11 13 12 == Proposed design == 14 13 15 1. The BOINC client will probe for coprocessors, and report them in scheduler requests. The XML looks like: 14 The BOINC client probes for coprocessors and reports them in scheduler requests. 15 The XML looks like: 16 16 {{{ 17 17 <coprocs> … … 24 24 </coprocs> 25 25 }}} 26 1. An app_version record (in the server DB) will have a new field '''coproc_req''', which is a character string encoding its coprocessor requirements.27 1. The scheduler is linked with a project-s pecificfunction26 1. An app_version record (in the server DB) has a character string field '''class'''. 27 1. The scheduler is linked with a project-supplied function 28 28 {{{ 29 bool coprocessor_compatible(COPROCS&, char coproc_req, double& flops);29 bool analyze_app(HOST&, char* class, double& flops); 30 30 }}} 31 31 This function: