are detected by OpenCL but not by native APIs (CUDA/CAL).
This is limited by the fact that OpenCL doesn't give
us the necessary hardware info
(ATI; wavefrontSize; NVIDIA: compute capability).
We use the minimum values for these,
so in most cases we'll be underestimating the peak FLOPS.
svn path=/trunk/boinc/; revision=24346
to match those in the clGetDeviceInfo() calls.
Principles:
- if there's already a name for something, use it.
- follow case conventions
svn path=/trunk/boinc/; revision=24344
and one of them is down.
If several downloads from the broken one fail,
we go into "project-level backoff"
and don't start downloads from either server.
(Same applies to uploads).
Solution: make project-level backoff apply only to
transfers that have already failed at least once
svn path=/trunk/boinc/; revision=24339
This caused 128KB + size of stderr loss for each job.
- client: print error message if reading stderr fails
(e.g. because of malloc failure)
svn path=/trunk/boinc/; revision=24336
don't use name as a tiebreaker.
The will typically group jobs of the same application,
and (it is believed that) things run faster when
applications are mixed.
- scheduler: bug: if a client gets host-specific prefs
(e.g. from an account manager)
it will send only the working prefs to the scheduler.
The scheduler then always sends back the DB prefs,
overwriting the host-specific prefs.
Fix: note the mod time in the working prefs,
and only send the DB prefs if they're more recent.
svn path=/trunk/boinc/; revision=24332
on the primary display. Some of the issues being reported with the screensaver
is a left over ghost image of the OpenGL display before the graphics application
was terminated because keyboard/mouse activity was detected.
clientscr/
screensaver_win.cpp
win_build/
boinc_os_ss.vcproj
svn path=/trunk/boinc/; revision=24331
Note: XML_PARSER::parse_str() doesn't currently work right
for something like <foo><a>xx</a></foo>.
It should return "<a>xx</a>".
TODO.
svn path=/trunk/boinc/; revision=24325
- client: if an app version can't be used because the GPUs it needs
are all excluded, mark it and all its results as "coproc missing"
so that they won't be looked at in scheduling logic.
svn path=/trunk/boinc/; revision=24317
in the presence of GPU exclusions.
The problem was in the job-selection phase,
which picks enough jobs to use all devices.
It was ignoring GPU exclusions, so for example on
a 2 GPU system it could pick 2 jobs from a project
for which 1 GPU is excluded,
and as a result 1 GPU would be idle.
Solution: during job selection,
keep track of GPU usage on a per-instance basis.
Select a job only if it can run on a non-excluded GPU.
- client: in computing ncprocs_excluded (which is used in
work fetch policy) don't count exclusions of non-existent devices
svn path=/trunk/boinc/; revision=24316
where work fetch didn't work right in the presence of
multiple GPUs and <exclude_gpu> config options.
For example: suppose:
- you have 2 GPUs and 2 projects
- Project A is excluded from GPU 1
- you have lots of jobs for project A
Then the client won't try to fetch jobs from project B.
The problem had 2 parts:
a) round-robin simulation wasn't taking GPU exclusions into account.
In the above example, it would think that both GPUs had jobs.
I fixed this by computing the # of GPUs from each project
is excluded, and using this in the RR simulation.
b) Once this was done, I needed to make the client
request GPU jobs from project B rather than project A.
I did this with following policy:
If a project has excluded GPUs of a given type,
and has a runnable job of that type,
don't ask it for more work of that type.
Notes:
- the policy in b) is crude, and it means that work-buffer
preferences are ignored in some cases.
- neither a) nor b) takes into account app-level exclusions.
I could fix both of these with a lot of work,
but I'd rather move to a model in which dissimilar GPUs
are modeled as different resources,
which would remove the need for the <exclude_gpu> mechanism
in the first place.
- web: remove extraneous ) at end of button tooltips
svn path=/trunk/boinc/; revision=24312
functions in an attempt to figure out what is going on with Windows 8.
win_build/installerv2/redist/Windows/src/boinccas/
CACreateBOINCGroups.cpp
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
svn path=/trunk/boinc/; revision=24310
- Fix build problems on Mac OS X using autotools
- Consistently use #if HAVE_X for platform checks,
rather than #ifdef HAVE_X or #if defined(HAVE_X)
- In Unix build, make lots of compiler checks standard
- Fix some compile warnings
From Matt Arsenault.
Note: there are now lots of compile warnings in clientgui/ on Unix,
mostly in WxWidgets code
svn path=/trunk/boinc/; revision=24303
but we currently do not expose a way in get_project_config to determine
that a UI should prompt for one. Add a <invite_code_required/> tag
if the project is only accepting new accounts by invitation.
html/user/
get_project_config.php
svn path=/trunk/boinc/; revision=24300
This simulates just the jobs in the state file,
rather than simulating an infinite stream of jobs
modeled after the ones in the state file.
svn path=/trunk/boinc/; revision=24293