summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Chvatal <scarabeus@gentoo.org>2009-09-30 11:32:31 +0000
committerTomas Chvatal <scarabeus@gentoo.org>2009-09-30 11:32:31 +0000
commit7e9e5c19bf3fcc764b8f2621b8e6eb3076731be0 (patch)
tree4e9e662e4e51c3743c363a7267aa99af340a224c /sci-misc/boinc/files
parentVersion bump (bug 287014). (diff)
downloadhistorical-7e9e5c19bf3fcc764b8f2621b8e6eb3076731be0.tar.gz
historical-7e9e5c19bf3fcc764b8f2621b8e6eb3076731be0.tar.bz2
historical-7e9e5c19bf3fcc764b8f2621b8e6eb3076731be0.zip
Apply fix for cuda compilation issues. Per bug #286779. Thx to Kacper Kowalik for the patch.
Package-Manager: portage-2.2_rc38/cvs/Linux i686
Diffstat (limited to 'sci-misc/boinc/files')
-rw-r--r--sci-misc/boinc/files/6.6.40-cuda.patch80
1 files changed, 80 insertions, 0 deletions
diff --git a/sci-misc/boinc/files/6.6.40-cuda.patch b/sci-misc/boinc/files/6.6.40-cuda.patch
new file mode 100644
index 000000000000..30b4bba8d880
--- /dev/null
+++ b/sci-misc/boinc/files/6.6.40-cuda.patch
@@ -0,0 +1,80 @@
+--- boinc-6.6.40.orig/sched/handle_request.cpp 2009-01-14 00:06:02.000000000 +0100
++++ boinc-6.6.40/sched/handle_request.cpp 2009-09-30 12:22:12.230008604 +0200
+@@ -1172,7 +1172,7 @@
+ static inline bool requesting_work() {
+ if (g_request->work_req_seconds > 0) return true;
+ if (g_request->cpu_req_secs > 0) return true;
+- if (coproc_cuda && coproc_cuda->req_secs) return true;
++ if (g_request->coproc_cuda && g_request->coproc_cuda->req_secs) return true;
+ return false;
+ }
+
+--- boinc-6.6.40.orig/sched/sched_send.cpp 2009-01-15 21:23:20.000000000 +0100
++++ boinc-6.6.40/sched/sched_send.cpp 2009-09-30 12:23:19.165922065 +0200
+@@ -1443,9 +1443,9 @@
+ g_wreq->seconds_to_fill = clamp_req_sec(g_request->work_req_seconds);
+ g_wreq->cpu_req_secs = clamp_req_sec(g_request->cpu_req_secs);
+ g_wreq->cpu_req_instances = g_request->cpu_req_instances;
+- if (coproc_cuda) {
+- g_wreq->cuda_req_secs = clamp_req_sec(coproc_cuda->req_secs);
+- g_wreq->cuda_req_instances = coproc_cuda->req_instances;
++ if (g_request->coproc_cuda) {
++ g_wreq->cuda_req_secs = clamp_req_sec(g_request->coproc_cuda->req_secs);
++ g_wreq->cuda_req_instances = g_request->coproc_cuda->req_instances;
+ }
+ if (g_wreq->cpu_req_secs || g_wreq->cuda_req_secs) {
+ g_wreq->rsc_spec_request = true;
+--- boinc-6.6.40.orig/sched/server_types.cpp 2009-01-13 00:05:49.000000000 +0100
++++ boinc-6.6.40/sched/server_types.cpp 2009-09-30 12:23:57.220083086 +0200
+@@ -168,6 +168,7 @@
+ have_time_stats_log = false;
+ client_cap_plan_class = false;
+ sandbox = -1;
++ coproc_cuda = 0;
+
+ fgets(buf, sizeof(buf), fin);
+ if (!match_tag(buf, "<scheduler_request>")) return "no start tag";
+@@ -327,6 +328,7 @@
+ }
+ if (match_tag(buf, "coprocs")) {
+ coprocs.parse(fin);
++ coproc_cuda = (COPROC_CUDA*)coprocs.lookup("CUDA");
+ continue;
+ }
+ if (parse_bool(buf, "client_cap_plan_class", client_cap_plan_class)) continue;
+--- boinc-6.6.40.orig/sched/sched_plan.h 2008-08-06 20:36:30.000000000 +0200
++++ boinc-6.6.40/sched/sched_plan.h 2009-09-30 12:28:05.856453380 +0200
+@@ -18,4 +18,13 @@
+ #include "boinc_db.h"
+ #include "server_types.h"
+
+-extern bool app_plan(SCHEDULER_REQUEST&, char* plan_class, HOST_USAGE&);
++// reasons for the planning function to reject a host
++
++#define PLAN_REJECT_PREFS 1
++#define PLAN_REJECT_NO_COPROC 2
++#define PLAN_REJECT_COPROC_VERSION 3
++#define PLAN_REJECT_COPROC_MEM 4
++#define PLAN_REJECT_COPROC_SPEED 5
++#define PLAN_REJECT_UNKNOWN 6
++
++extern int app_plan(SCHEDULER_REQUEST&, char* plan_class, HOST_USAGE&);
+--- boinc-6.6.40.orig/sched/server_types.h 2009-01-13 00:47:52.000000000 +0100
++++ boinc-6.6.40/sched/server_types.h 2009-09-30 12:26:01.010255672 +0200
+@@ -103,6 +103,8 @@
+ // Note: this is zeroed out in SCHEDULER_REPLY constructor
+ //
+ struct WORK_REQ {
++ bool anonymous_platform;
++
+ // Flags used by old-style scheduling,
+ // while making multiple passes through the work array
+ bool infeasible_only;
+@@ -320,6 +322,7 @@
+ HOST host; // request message is parsed into here.
+ // does NOT contain the full host record.
+ COPROCS coprocs;
++ COPROC_CUDA* coproc_cuda;
+ std::vector<RESULT> results;
+ // completed results being reported
+ std::vector<MSG_FROM_HOST_DESC> msgs_from_host;