Commit Graph

1029 Commits

Author SHA1 Message Date
David Anderson dbdcfc9a07 - OpenCL API: check return value from clGetDeviceIDs()
svn path=/trunk/boinc/; revision=24566
2011-11-09 21:24:47 +00:00
David Anderson 083040ba63 - OpenCL API: fix logic error
svn path=/trunk/boinc/; revision=24565
2011-11-09 21:04:01 +00:00
Rom Walton 7c88969aa9 - API: Remove exception trapping stuff from the
boinc_get_opencl_ids.
        
    api/
        boinc_opencl.cpp

svn path=/trunk/boinc/; revision=24552
2011-11-08 15:12:44 +00:00
Charlie Fenton b10b199099 api: Restore list checkin of 31 October 2011
svn path=/trunk/boinc/; revision=24515
2011-11-03 08:28:55 +00:00
David Anderson 010b11406b - API: fix bug in boinc_get_opencl_ids()
- add simulator for distributed storage (not finished)


svn path=/trunk/boinc/; revision=24511
2011-11-03 03:29:07 +00:00
Rom Walton 687195e7f0 Quick Updates
svn path=/trunk/boinc/; revision=24510
2011-11-03 02:35:04 +00:00
David Anderson 7b28215032 - client: reimplement the round-robin simulator to
reduce its runtime from O(N^2) to O(N),
    where N is the number of runnable jobs
    (which can be in the thousands).
    This will make the client emulator run a lot faster,
    and will reduce the client CPU overhead a bit.
- API: change boinc_get_opencl_ids() so that it returns
    a BOINC error code (< -100) if the app_init.xml is
    missing or bad (i.e. we're running standalone),
    and an OpenCL error code (> -100) if an OpenCL call failed.


svn path=/trunk/boinc/; revision=24469
2011-10-24 17:53:09 +00:00
David Anderson b95ac02c5b - client: change the way project priorities are computed,
so that they do what they're supposed to
    (i.e. enforce resource shares)
- client: change log flag <debt_debug> to <priority_debug>
- client simulator: update REC even with large delta-t.
- client simulator: handle "no new work" apps correctly


svn path=/trunk/boinc/; revision=24429
2011-10-19 06:37:03 +00:00
Charlie Fenton a80d483e72 Mac: Update Mac build scripts, XCode project and source files to allow automated builds under OS 10.7 Lion and XCode 4.2
svn path=/trunk/boinc/; revision=24416
2011-10-18 13:53:37 +00:00
David Anderson 7e41a84c16 - add boinc_opencl.h to set of installed headers
- emulator tweaks

svn path=/trunk/boinc/; revision=24407
2011-10-17 17:02:05 +00:00
David Anderson 1f2accb000 - API: don't crash if send trickle msg running standalone.
From Christian Ries.


svn path=/trunk/boinc/; revision=24357
2011-10-08 16:33:31 +00:00
David Anderson e279b59913 - Updates Linux notifications to use current libnotify.
- 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
2011-09-27 19:45:27 +00:00
David Anderson d8f20bceea - vboxwrapper: report network usage to the client
- client: include the above in enforcing network quota preferences


svn path=/trunk/boinc/; revision=24227
2011-09-16 19:16:12 +00:00
David Anderson ec33994fe7 - API; fix the above fix
svn path=/trunk/boinc/; revision=24160
2011-09-12 03:48:16 +00:00
David Anderson 228f626a01 - API: change boinc_get_opencl_ids() to use APP_INIT_DATA
instead of cmdline


svn path=/trunk/boinc/; revision=24159
2011-09-11 22:22:55 +00:00
David Anderson 4e946854c1 - client/API/vboxwrapper:
add a mechanism so that apps can report sub-processes
    that are not descendants (e.g., virtual machines)
    These processes are then counted as part of the app,
    not as "non-BOINC CPU time".
    This fixes a bug where processing was incorrectly suspended
    because CPU usage by VM apps exceeded the "CPU usage limit" pref.

    Implementation:
    - the PIDs of the processes in question
        are passed from app to client via shared-memory,
        in the app_status channel.
        A new variant of boinc_report_app_status() supports this.
    - the VBox wrapper queries the PID of the VM,
        and reports it in this way.
    - procinfo_app() includes a new argument: a list of PIDs
        that are part of the app, although not ancestrally
        related to the main process.
    - in the client, ACTIVE_TASK now includes a vector "other_pids".
        If this is nonempty, it's passed to procinfo_app().


svn path=/trunk/boinc/; revision=24123
2011-09-02 20:47:05 +00:00
David Anderson 8ad9d7d98b - more code shuffling:
proc_control: controlling processes
    procinfo: enumerating and querying processes
    run_app_windows: launching apps as other users on Win


svn path=/trunk/boinc/; revision=24120
2011-09-02 18:23:13 +00:00
David Anderson c529c3c50d - server: rename process_wu_template() to process_input_template(),
and move it to its own file


svn path=/trunk/boinc/; revision=24107
2011-09-01 19:58:27 +00:00
Charlie Fenton 0e5e4da926 API: More fixes to boinc_get_opencl_ids()
svn path=/trunk/boinc/; revision=24103
2011-09-01 08:31:55 +00:00
Charlie Fenton a02c37cbce API: Fix compile errors and warnings, add documentation
svn path=/trunk/boinc/; revision=24101
2011-09-01 00:06:34 +00:00
David Anderson f1c201ab40 - API: boinc_get_opencl_ids() doesn't need to link
the OpenCL library at runtime.
    It's used only in OpenCL applications,
    which already include the library.


svn path=/trunk/boinc/; revision=24097
2011-08-31 17:36:16 +00:00
David Anderson c0f977b19c - client: fix bugs related to white space around code signing keys
- win compile fixes

svn path=/trunk/boinc/; revision=24095
2011-08-31 16:36:17 +00:00
David Anderson 9bbbb3ea38 - boinc_get_opencl_ids():
- change signature to return int error code
    - no function overloading


svn path=/trunk/boinc/; revision=24094
2011-08-31 16:12:14 +00:00
David Anderson f1040e87ec - move boinc_get_opencl_ids() from lib/ to api/.
lib/ is for code that's used by >1 part of BOINC


svn path=/trunk/boinc/; revision=24093
2011-08-31 15:54:41 +00:00
David Anderson 69cbabe798 - fix compile warnings
svn path=/trunk/boinc/; revision=23780
2011-06-26 00:10:19 +00:00
David Anderson 94e8c48220 - client: change --detach_phase_two (??) to --detach_console
- eliminate compiler warnings (e.g. shadowed vars)
    in various places, mostly in client


svn path=/trunk/boinc/; revision=23710
2011-06-12 20:58:43 +00:00
David Anderson 0eb289df33 - API: forgot to fix boinc_api.h
svn path=/trunk/boinc/; revision=23699
2011-06-09 03:11:09 +00:00
David Anderson 7b5c142650 - API: undo the above API checkin, and provide a cleaner and
documented way of doing the same thing; see
    http://boinc.berkeley.edu/trac/wiki/AppCoprocessor


svn path=/trunk/boinc/; revision=23649
2011-06-07 05:16:12 +00:00
Eric J. Korpela e9ecb9c04a Safe exit checking for CUDA applications under windows. In application you
could use the following for safe exit checking. 

#ifdef _WIN32
//Jason: Safe exit check macro to play nicer with Cuda & MS-CRT
 #ifdef USE_CUDA 
  #define SAFE_EXIT_CHECK  do { \
   if (worker_thread_exit_request) { \
      fprintf(stderr,"-> Worker received exit request, syncing Cuda...");
cudaThreadSynchronize(); fprintf(stderr,"Done.\n"); \
      fprintf(stderr,"  Worker Freeing Cuda data..."); cudaAcc_free();
fprintf(stderr,"Done.\n"); \
      fprintf(stderr,"  Worker Acknowledging exit request, spinning->\n");
worker_thread_exit_ack = true; \
      while (1) Sleep(10); \
   } \
  } while (0);
 #else
  #define SAFE_EXIT_CHECK  do { \
   if (worker_thread_exit_request) { \
      fprintf(stderr,"  Worker Acknowledging exit request, spinning-> ");
worker_thread_exit_ack = true; \
      while (1) Sleep(10); \
   } \
  } while (0);
 #endif
#else  // Linux or other probably have their own safe exit handling, defined as
blank, do nothing
 #define SAFE_EXIT_CHECK
#endif
 
and install at the top of the cffft loop, and more locations if desired:
  SAFE_EXIT_CHECK;

I'd like to implement these as BOINC API functions, but have not yet done so.



svn path=/trunk/boinc/; revision=23646
2011-06-07 01:46:14 +00:00
David Anderson 93735f7172 - client: XML-escape the contents of stderr files;
otherwise non-ASCII characters in client_state.xml
    make it invalid XML
- client: fix (I think) to scheduling logic.
    a job is preemptable if it's finished its time slice and
    Old: has checkpointed in last 10 sec
    New: has checkpointed since the end of the time slice


svn path=/trunk/boinc/; revision=23551
2011-05-17 00:31:41 +00:00
David Anderson bddd0d45db Win compile fixes
svn path=/trunk/boinc/; revision=23370
2011-04-14 22:48:04 +00:00
David Anderson 7cb3400459 - API: add support for multi-process apps,
i.e. those that create subprocesses.
    Previously, the client's job control options (suspend/resume/quit)
    would not work for subprocesses.
    Multiprocess apps must initialize with something like:
        BOINC_OPTIONS options;
        boinc_options_defaults(options);
        options.multi_process = true;
        boinc_init_options(&options);
    Note: an application can be both multi-thread and multi-process.
    In this case set options.multi_thread as well.
- wrapper: add support for multi-process apps.
    Previously, suspend/resume operations did not work for subprocesses.
    If a task is multi-process, you must include
        <multi_process>1</multi_process>
    in its descriptor.


svn path=/trunk/boinc/; revision=23369
2011-04-14 22:25:38 +00:00
Rom Walton 3f8cc63c8f - API: Flush buffers before terminating.
- SCR: Flush buffers before terminating.
    
    api/
        boinc_api.cpp
    clientscr/
        screensaver_win.cpp

svn path=/trunk/boinc/; revision=23286
2011-03-28 17:53:43 +00:00
David Anderson 4a4ee2a013 - API: compile fixes for MinGW. Fixes #955. from Matt Arsenault
svn path=/trunk/boinc/; revision=23282
2011-03-26 02:19:21 +00:00
David Anderson d6c99b43d0 - define MAXPATHLEN, if needed, in filesys.h
- fix typo in a GUI RPC handler


svn path=/trunk/boinc/; revision=23250
2011-03-24 09:32:02 +00:00
David Anderson 02e7aa6678 - client and API: pass "network suspended" flag from client to app;
make it available as part of BOINC_STATUS


svn path=/trunk/boinc/; revision=23243
2011-03-20 07:04:32 +00:00
David Anderson c168971770 - API: get rid of BOINC_OPTIONS::backwards_compatible_graphics.
Not necessary.
- wrapper: add optional <append_cmdline_args/> element to
    task descriptor.
    If set, pass the wrapper's cmdline args to that task.
    NOTE: previously they were always passed.
    If you want this behavior, you now must set this.


svn path=/trunk/boinc/; revision=23232
2011-03-14 17:28:52 +00:00
David Anderson 93902c1475 - API: small tweak that should help narrow down the occasional crashes
in fprintf() and boinc_msg_prefix() seen by E@h

svn path=/trunk/boinc/; revision=22844
2010-12-17 19:09:03 +00:00
David Anderson 0a85852465 svn path=/trunk/boinc/; revision=22836 2010-12-08 23:07:07 +00:00
David Anderson 4ba0fa29ec - API: add support from Truetype fonts (from Carl Christensen)
svn path=/trunk/boinc/; revision=22835
2010-12-08 23:06:07 +00:00
Bernd Machenschalk 56eb3cdf7f API: MinGWs runtime API has neither localtime_r nor localtime_s,
but it should be safe to use localtime here

svn path=/trunk/boinc/; revision=22825
2010-12-07 14:23:37 +00:00
David Anderson 2855bd3840 - client: fix typo that broke communication with account managers
- API: compile fix for Win

svn path=/trunk/boinc/; revision=22804
2010-12-02 19:38:25 +00:00
David Anderson 556e319ca1 - API: use localtime_r() instead of localtime()
svn path=/trunk/boinc/; revision=22784
2010-12-01 18:04:18 +00:00
Bernd Machenschalk 0220ab3319 - api: check return values of functions used in boinc_msg_prefix(),
return a (valid) empty string if an error occurred

svn path=/trunk/boinc/; revision=22781
2010-12-01 15:25:07 +00:00
Charlie Fenton ba7b2d6898 Remove BOINC_RCSID tags from more source files
svn path=/trunk/boinc/; revision=22739
2010-11-23 11:25:36 +00:00
David Anderson 4edfe2ec28 - client: small initial checkin for new scheduling system.
Keep track of per-project recent estimated credit

svn path=/trunk/boinc/; revision=22608
2010-10-29 23:41:34 +00:00
David Anderson d48e377e8a Win compile fix
svn path=/trunk/boinc/; revision=22367
2010-09-16 03:53:27 +00:00
David Anderson 1637c19e08 - API and sample apps: pass buf length arg to boinc_msg_prefix()
and use snprintf() to avoid overrun.
    Can't see why this could ever happen.
    Attempt to fix crash in E@h apps.

svn path=/trunk/boinc/; revision=22363
2010-09-15 23:03:30 +00:00
David Anderson 3dffe0a8bc - API: remove deprected stuff related to:
1) old-style apps with graphics in main program.
        No one should be using these anymore.
    2) writing init_data.xml in boinc_finish().
        This was used by deprecated "compound app" scheme
- scheduler: if request reports results that were previously reported,
    that's evidence that the previous reply was not received by client.
    It may have contained results.
    So set a "resend lost results" flag.

svn path=/trunk/boinc/; revision=22203
2010-08-11 22:02:41 +00:00
David Anderson ede7c8cea9 - web: right-align bbcode images
- API: warning fix

svn path=/trunk/boinc/; revision=22160
2010-08-07 03:33:25 +00:00