Commit Graph

2419 Commits

Author SHA1 Message Date
David Anderson 8761ed75f7 - lib: fix typo
svn path=/trunk/boinc/; revision=25884
2012-07-22 03:45:47 +00:00
Bernd Machenschalk 54147365bb API: fix Makefile.mingw
- allow to augment CFLAGS and CXXFLAGS
        - allow to at least set DEBUG flags externally, such that
            backtrace flags can be used
        - minor textual fixes (whitespace error, typo in comment)

svn path=/trunk/boinc/; revision=25881
2012-07-18 11:12:06 +00:00
Charlie Fenton 6f330ed430 lib: Adjust #include files as requested by Oliver Bock
svn path=/trunk/boinc/; revision=25880
2012-07-18 08:49:27 +00:00
David Anderson 9a84980792 - lib: treat MINGW32 like CYGWIN32 (in 1 place - should do everywhere?)
from Oliver


svn path=/trunk/boinc/; revision=25874
2012-07-17 03:59:12 +00:00
David Anderson 68f9880615 - client: remove "device" entry from CUDA_DEVICE_PROP,
and change types of mem-size fields from int to double.
    These fields are size_t in NVIDIA's version of this;
    however, cuDeviceGetAttribute() returns them as int,
    so I don't see where this makes any difference.
- client: fix bug in handling of <no_rsc_apps> element.
- scheduler: message tweaks.
    Note: [foo] means that the message is enabled by <debug_foo>.



svn path=/trunk/boinc/; revision=25849
2012-07-05 20:24:17 +00:00
David Anderson f9a9c3090f - Client (Win): in file_size(), use _stat64() instead of stat().
Otherwise it doesn't work for files >= 2GB
	- Client: TIME_STATS::trim_stats_log() wasn't working because
		it's called in the constructor of TIME_STATS,
		which is called before we've done a chdir() to the data dir.

	Note: for this reason, no disk access should be done in constructors
	of global objects.  A quick scan found no instances of this.

svn path=/trunk/boinc/; revision=25846
2012-07-03 22:36:59 +00:00
David Anderson 8d8662adb2 - more code cleanup
svn path=/trunk/boinc/; revision=25838
2012-07-02 19:31:34 +00:00
David Anderson 19458ba4de - Compile fixes for Fedora core 17. From Christian B. Fixes #1194.
- Fix various #include issues.

CODING STYLE LAW (minimal inclusion principle):
    If foo.cpp requires <blah.h>,
    #include <blah.h> in foo.cpp, NOT foo.h


svn path=/trunk/boinc/; revision=25837
2012-07-02 18:51:02 +00:00
David Anderson fc2af21221 - client: add missing end tag for <pci_info>. Doh!
- validator: add some sanity-checking for credit,
    to prevent granting 1e38 credit.
    max_granted_credit now defaults to the equivalent of 1 TeraFLOP-year.
    Instances that exceed this are not counted in the credit
    calculation, and a critical-mode log message is written
- wrapper: remove wall_cpu_time; not used anymore


svn path=/trunk/boinc/; revision=25825
2012-06-29 22:24:07 +00:00
David Anderson f3eb1d350e - client: when estimating FLOPS for an anonymous-platform app version
for which no estimate has been supplied by user,
    use (CPU speed)*(cpu_usage + 10*gpu_usage)
    (add the 10*)


svn path=/trunk/boinc/; revision=25821
2012-06-29 05:17:01 +00:00
David Anderson f8c1665722 - client: keep track of the fraction of time that
1) a network connection is available and
    2) network communication is allowed and
    3) CPU computation is allowed
- If an app version is marked as needs_network,
    use the above fraction in estimating its rate of progress
- replace "core client" with "client" in comments.
- scheduler: message tweaks


svn path=/trunk/boinc/; revision=25803
2012-06-26 20:30:56 +00:00
David Anderson 8c71f6d59a - scheduler: add support for Intel GPUs, and restructure things
to make it easier to add other GPU types in the future


svn path=/trunk/boinc/; revision=25792
2012-06-25 23:09:45 +00:00
David Anderson fd0983b991 - web: server status page should show elapsed time, not CPU time
svn path=/trunk/boinc/; revision=25785
2012-06-22 07:35:54 +00:00
David Anderson b050deecf7 - client: compile fixes
svn path=/trunk/boinc/; revision=25773
2012-06-18 20:41:37 +00:00
David Anderson 5e61c29cc3 - client: split GPU detection code into separate files
svn path=/trunk/boinc/; revision=25771
2012-06-18 20:12:30 +00:00
David Anderson 0cc0370f02 - client, GUI RPC: detect and export the PCI bus, device, and domain #s.
- scheduler: increase #GPU limit from 8 to 64


svn path=/trunk/boinc/; revision=25761
2012-06-15 20:49:11 +00:00
Bernd Machenschalk 579ed0bd92 - API: fix #2 for C-mode compilation of boinc_api.h
app_ipc.h didn't cleanly compile in C-mode either,
had to fix this, too.

svn path=/trunk/boinc/; revision=25753
2012-06-11 12:51:30 +00:00
David Anderson b0fd55bf87 - scheduler: debug plan_class_spec a little.
Add an #ifdef'd main program in plan_class_spec.cpp,
    and a makefile, for testing purposes.


svn path=/trunk/boinc/; revision=25738
2012-06-06 03:47:13 +00:00
David Anderson 08a529cb86 win compile fix
svn path=/trunk/boinc/; revision=25710
2012-05-23 23:30:41 +00:00
David Anderson 9bba5f4349 - get rid of BOINC_SOCKLEN_T stuff; just use socklen_t
svn path=/trunk/boinc/; revision=25709
2012-05-23 23:19:38 +00:00
David Anderson b2a4cd4d91 svn path=/trunk/boinc/; revision=25691 2012-05-18 17:38:16 +00:00
Rom Walton bd8cee05e6 - MGR: Add OpenCL icon to the ProjectInfo wizard page.
clientgui/
        ProjectInfoPage.cpp, .h
    clientgui/res/
        openclicon.xpm
    clientgui/res/templates/
        openclicon.png
    lib/
        diagnostics.cpp

svn path=/trunk/boinc/; revision=25676
2012-05-15 16:42:39 +00:00
David Anderson 7f3fd1f45e - LAMMPS script: chdir back to html/user, else page_head() breaks
svn path=/trunk/boinc/; revision=25674
2012-05-14 06:54:38 +00:00
David Anderson ceef77edfc - diagnostics lib:
- store file sizes as double rather than int
    - if we're appending to log files, initialize the
        size variables to the current size
    - check return value of fprintf, only increment size if it's +
    - when rotate log file, reset size var to zero


svn path=/trunk/boinc/; revision=25669
2012-05-10 19:47:51 +00:00
Rom Walton 1751c5d698 - lib: Fix a bug where information that was meant for stdout was
being written to stderr instead.
    - lib: Keep track of the rough estimate of stdout and stderr by
        incrementing internal variables instead of doing a stat on
        each log write.  stat() on Windows is converted to a FindFirstFile()
        call which in turn looks up the file size information in the
        directory structure file system entry.  The directory structure 
        information is only updated periodically.  This lead to larger
        than expected log file for both the manager and core client.
        
        This has the added advantage of reducing the overall number of
        file I/O operations when logging information.
        
    lib/
        diagnostics.cpp

svn path=/trunk/boinc/; revision=25666
2012-05-09 23:22:37 +00:00
David Anderson f022b566de - Win compile fixes
svn path=/trunk/boinc/; revision=25665
2012-05-09 20:06:54 +00:00
David Anderson 7e16deb790 - compile fix
svn path=/trunk/boinc/; revision=25663
2012-05-09 18:24:54 +00:00
David Anderson 32a08d27d9 - C++ code: use MAXPATHLEN for char arrays that hold paths
svn path=/trunk/boinc/; revision=25659
2012-05-09 16:11:50 +00:00
Bernd Machenschalk 91c3ddda93 lib: added function secs_to_hmsf() which converts (double) seconds
to a string 0h00m00s00

svn path=/trunk/boinc/; revision=25655
2012-05-07 15:41:34 +00:00
Charlie Fenton 633f461d01 lib: Fix compile break on Mac
svn path=/trunk/boinc/; revision=25631
2012-04-30 23:53:57 +00:00
David Anderson 88b19afae1 - compile fix
svn path=/trunk/boinc/; revision=25602
2012-04-26 06:56:02 +00:00
David Anderson 72368a6b20 - A first attempt to fix the bug where apps die with exit(1)
(whereas they didn't do this w/ older clients).
    On Windows, the client uses TerminateProcess(h, 1) to kill processes;
    the 1 is the exit code the process will appear to have.

    So instead, add a "will_restart" bool arg to the various kill
    functions, and if set use 0 (= STATUS_SUCCESS),
    otherwise use EXIT_ABORTED_BY_CLIENT.

    Note: in principle this shouldn't make any difference
    for quitting tasks,
    since handle_exited_app() checks for task state QUIT_PENDING
    and ignores the exit code in that case.
    The only place I can see where it would make any difference
    is when we kill a process because it hasn't been handling
    queued shared-memory messages for 180 seconds.

- client: add more info to the message about an exited app

- client: function return values (ERR_*) are different from
    process exit codes (EXIT_*).
    But in many places we were using return values as exit codes.
    Fix these.
    Also, break out the different types of limits a job can exceed
    (time, disk, memory) into difference exit codes.


svn path=/trunk/boinc/; revision=25601
2012-04-26 05:28:45 +00:00
David Anderson 813470f08d - Bad logic in Win code:
if you have
        *pbuf = HeapAlloc(...)
    then you need
        if (*pbuf == NULL)
    not
        if (pbuf == NULL)
- various code cleanups from 
- Makefile.am: don't include clientgui/res; nothing to make there

from Steffen Moeller


svn path=/trunk/boinc/; revision=25599
2012-04-25 07:09:14 +00:00
David Anderson ce47c7aa6c - client/server: remove assert()s from message log code
svn path=/trunk/boinc/; revision=25587
2012-04-20 19:33:31 +00:00
David Anderson 0f3491baa7 - client: add <suspend_debug> log flag
svn path=/trunk/boinc/; revision=25585
2012-04-20 17:46:27 +00:00
David Anderson c34093e374 - web: don't show account keys on account page;
rewrite the page explaining and showing account keys.
- client: remove <std_debug> log flag
- client: remove <zero_debts> config option


svn path=/trunk/boinc/; revision=25581
2012-04-19 07:36:47 +00:00
David Anderson 759c23ed27 - server: create a harness for testing validator code.
If you link your functions (init_result(), compare_results(),
    cleanup_result()) with validate_test.cpp,
    you'll get a program that you can run as
        validate_test file1 file2
    and it will compare the two files
    (this works only for validators that expect 1 file per result).

    I added a makefile, sched/makefile_validator_test,
    that you can use for this.
- server: shuffle code so that the above doesn't need to
    link MySQL libraries
- client: if we fetch a master file and it contains no scheduler URLs,
    show a message of class INTERNAL_ERROR
- client/scheduler: make CUDA_DEVICE_PROP.totalGlobalMem a double,
    and remove dtotalGlobalMem.
    Although NVIDIA reports RAM size as a size_t,
    there's no reason to store it as an integer after that.


svn path=/trunk/boinc/; revision=25542
2012-04-10 00:32:35 +00:00
David Anderson aed704e61b - client: don't write deviceHandle to NVIDIA XML description.
Um, pointers don't have any meaning outside the process


svn path=/trunk/boinc/; revision=25528
2012-04-02 22:41:28 +00:00
David Anderson 36529da919 - client: change some unsigned int to size_t in our versions
of NVIDIA APIs.  This apparently caused crashes
    (in app, not client, which I don't understand) for Einstein@Home.
    From Steffen Moller.


svn path=/trunk/boinc/; revision=25527
2012-04-02 21:31:02 +00:00
David Anderson 44ccd78293 - client/scheduler: fix error in NVIDIA peak flops calculation
svn path=/trunk/boinc/; revision=25501
2012-03-28 17:29:48 +00:00
David Anderson 39f5dc7e58 - client: fix bug in reading reason for temporary exit
- lib: fix a valgrind warning


svn path=/trunk/boinc/; revision=25499
2012-03-27 20:52:25 +00:00
David Anderson 63c279cef2 - client/server: set cores/proc for NVIDIA compute capability 3.0 to 192
Why can't NVIDIA provide an API for this?????


svn path=/trunk/boinc/; revision=25496
2012-03-27 03:50:16 +00:00
David Anderson 24761958fd - client/server: estimate FLOPS for NVIDIA GPUs with
compute capability 3.x.
    Not sure if the parameters are right
    (128 cores/proc, 2 flops/clock)
    but they're better than nothing.
- web: don't allow user names that have leading or trailing white space,
    or HTML tags, or are empty


svn path=/trunk/boinc/; revision=25485
2012-03-24 06:31:03 +00:00
David Anderson 9caa637a4d - server: is_project_dir() was checking that cgi-bin is a directory.
This doesn't work if it's a symlink to a dir.
    Check for that too.


svn path=/trunk/boinc/; revision=25480
2012-03-23 17:45:04 +00:00
David Anderson ad232b2869 - client: report completed results if a time-of-day network suspend is
scheduled within the next 30 minutes


svn path=/trunk/boinc/; revision=25465
2012-03-20 19:37:04 +00:00
David Anderson 9a77dcc71f - wrapper: fix bug that reported wildly wrong CPU time
svn path=/trunk/boinc/; revision=25457
2012-03-19 20:42:03 +00:00
David Anderson 64210d0420 - fix last checkin
svn path=/trunk/boinc/; revision=25456
2012-03-19 20:26:48 +00:00
David Anderson 3782dca107 - client: Don't include VBox executive processes as non-BOINC CPU time.
On some systems they use significant CPU time while VMs are running.
    TODO: do this only if we're actually running a VBox app


svn path=/trunk/boinc/; revision=25455
2012-03-19 20:13:28 +00:00
David Anderson 37535d48e9 - client: small changes to make client compile on Android,
and to report the platform as "arm-android".
    From Carl Christensen.
- Add a script for building BOINC and library dependencies on Android
    From Peter Hanappe.


svn path=/trunk/boinc/; revision=25440
2012-03-16 21:48:35 +00:00
David Anderson 4ce9d9e212 - scheduler: code cleanup for the above
svn path=/trunk/boinc/; revision=25427
2012-03-14 22:42:38 +00:00