diff options
author | Tomas Chvatal <scarabeus@gentoo.org> | 2009-09-30 11:32:31 +0000 |
---|---|---|
committer | Tomas Chvatal <scarabeus@gentoo.org> | 2009-09-30 11:32:31 +0000 |
commit | 7e9e5c19bf3fcc764b8f2621b8e6eb3076731be0 (patch) | |
tree | 4e9e662e4e51c3743c363a7267aa99af340a224c /sci-misc/boinc/files | |
parent | Version bump (bug 287014). (diff) | |
download | historical-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.patch | 80 |
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; |