Commit Graph

952 Commits

Author SHA1 Message Date
Rom Walton 98efec4538 - VBOX: Properly trap stderr output from vboxmanage by redirecting it to
stdout.  Error messages should now be properly detected on Linux and
        Mac.
        
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24184
2011-09-13 21:43:58 +00:00
David Anderson e9c5bfe7a8 - wrapper: don't delete task-level checkpoint file when starting task;
that defeats the purpose.  From Uwe Becker.


svn path=/trunk/boinc/; revision=24183
2011-09-13 21:21:40 +00:00
Rom Walton 26fdc9b1f7 Quick Updates
svn path=/trunk/boinc/; revision=24181
2011-09-13 20:59:01 +00:00
Rom Walton 0ebb45cc14 Quick Updates
svn path=/trunk/boinc/; revision=24180
2011-09-13 19:48:32 +00:00
Rom Walton 273327044b - VBOX: Add more trace messages to the wrapper to help resolve
issues.
        
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24179
2011-09-13 19:43:52 +00:00
David Anderson 760c16eb03 - scheduler: in work_needed(), ignore requests for resource
types for which we have no app versions
- client: if too many <coproc> elements in cc_config.xml,
    detect it and inform user


svn path=/trunk/boinc/; revision=24144
2011-09-08 18:55:55 +00:00
David Anderson 3fe4507e37 - client: make exit_before_start a cc_config.xml option
(as well as a cmdline option)
- wrapper: print error messages if stdin/out/err files don't exist


svn path=/trunk/boinc/; revision=24143
2011-09-07 22:45:00 +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 4778836022 - Win compile fixes
svn path=/trunk/boinc/; revision=24122
2011-09-02 18:47:15 +00:00
Rom Walton a6de614071 - VboxWrapper: Add a way to extract the VM process id from the VM's
log file.
        
    samples/vboxwrapper/
        vbox.cpp, .h

svn path=/trunk/boinc/; revision=24112
2011-09-02 00:19:05 +00:00
David Anderson 696d380254 - wrapper compile fixes
svn path=/trunk/boinc/; revision=24110
2011-09-01 22:48:29 +00:00
Rom Walton 60b4546c75 - VboxWrapper: Specify a configuration directory under the slot directory to
try and avoid permission errors on multiple platforms when BOINC
        is installed as a daemon.

    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24100
2011-08-31 22:51:33 +00:00
Charlie Fenton a761294166 Vbox wrapper: create XCode project
svn path=/trunk/boinc/; revision=24089
2011-08-31 03:04:15 +00:00
David Anderson 8b409fffa2 svn path=/trunk/boinc/; revision=24087 2011-08-30 21:51:28 +00:00
David Anderson aa4ba885e9 - vbox wrapper: check for boinc_status.reread_init_data_file,
and if set reread the file, set throttles, and clear flag


svn path=/trunk/boinc/; revision=24086
2011-08-30 21:50:08 +00:00
Charlie Fenton 7975f0b6ed Vbox wrapper: create XCode project
svn path=/trunk/boinc/; revision=24075
2011-08-30 12:42:23 +00:00
David Anderson 3d9b1fa6ae - Vbox wrapper: deal with checkpointing.
Current: wrapper reports frequent checkpointing to client,
        but actually checkpoints only when the VM is stopped
    Problem: large amounts of work would be wasted if
        BOINC stops in an ungraceful way (e.g., power failure)
    Solution:
        Don't report frequent checkpointing.
        Every CPU scheduling period (typically once/hour)
        stop the VM (creating a checkpoint)
        and call boinc_temporary_exit(0).
        If the client wants to keep running this job,
        it will start us immediately.


svn path=/trunk/boinc/; revision=24068
2011-08-29 20:31:55 +00:00
David Anderson 1eed0db2ec - VirtualBox wrapper:
- change names of CPU and network-limiting functions
        to express their units (always do this).
    - wrapper monitors status.suspend_network
        and suspends/resumes network accordingly
    - wrapper sets CPU and network bandwidth limits on startup
        (Rom: should this be done before run() rather than after?)
Note: App versions using this wrapper should always have
    <dont_throttle/> in their version.xml,
    to tell the client that the app throttles itself.


svn path=/trunk/boinc/; revision=24054
2011-08-27 04:13:50 +00:00
Rom Walton 49b9c1bb64 - VboxWrapper: Add functions for enable/disable network and throttling
the CPU and network activity.

    samples/vboxwrapper/
        vbox.cpp, .h

svn path=/trunk/boinc/; revision=24051
2011-08-26 19:19:28 +00:00
David Anderson 61aab13972 - example app: get it right this time
svn path=/trunk/boinc/; revision=24032
2011-08-24 01:18:23 +00:00
David Anderson c296d498ff - example app: change the app version structure to match the new format
svn path=/trunk/boinc/; revision=24030
2011-08-24 00:21:46 +00:00
David Anderson 8fda6c0497 - Vbox wrapper: add --trickle x option; sends a trickle-up message
reporting incremental runtime exery x seconds of runtime.
- client: more XML parsing cleanup
- credit trickle handler: do sanity checks on CPU speed


svn path=/trunk/boinc/; revision=24017
2011-08-21 11:18:08 +00:00
Daniel Lombraña González 6d104573c6 Fixed performance in Windows.
Additionally, the VM can be throttled by parsing in the wrapper the <max_vm_cpu_pct> specific project preference.

svn path=/trunk/boinc/; revision=23976
2011-08-10 12:48:29 +00:00
Rom Walton d91ddfae0f - vbox wrapper: initialize xml parser with the correct starting tag.
samples/vboxwrapper/
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=23934
2011-08-04 16:34:03 +00:00
Rom Walton 7c14104e20 Quick Updates
svn path=/trunk/boinc/; revision=23931
2011-08-04 01:06:58 +00:00
David Anderson 306f42e7bc - vbox wrapper: hardwire logical name of image file to "vm_image.vdi".
- vbox wrapper: on startup, rename image file to "vm_image_SLOT.vdi",
    where SLOT is the slot number.
    Vbox requires unique names for VM image files.


svn path=/trunk/boinc/; revision=23930
2011-08-04 00:24:42 +00:00
Rom Walton 4e2968f71f match spec
svn path=/trunk/boinc/; revision=23929
2011-08-03 23:12:36 +00:00
David Anderson 241e6eaf35 - vbox wrapper: fix parsing of job file
- vbox wrapper: fix code structure
    - merge vm and vbox
    - no global vars


svn path=/trunk/boinc/; revision=23928
2011-08-03 22:36:29 +00:00
Rom Walton 13930f65c3 Quick Updates
svn path=/trunk/boinc/; revision=23926
2011-08-03 21:02:58 +00:00
Daniel Lombraña González 5210798d61 VBoxManage unregistervm works with version 4.1.
The new VirtualBox 4.1 supports VBoxManage unregisterVM in all the platforms. There was a bug that didn't allow to run that
command to remove the VM, affecting only Windows 64 bits, but this new version has fixed it.

svn path=/trunk/boinc/; revision=23883
2011-07-27 08:39:58 +00:00
David Anderson da74e5caf2 - back end: strip <output_template> tags from output templates
- web: main RSS feed should include all news items, even non-notices


svn path=/trunk/boinc/; revision=23783
2011-06-29 22:26:45 +00:00
Daniel Lombraña González fcd9a94810 Suspend mode enabled again.
The removed suspend code has been added again.


svn path=/trunk/boinc/; revision=23741
2011-06-17 07:37:50 +00:00
Rom Walton c1e447560f make vboxwrapper.cpp compile again
svn path=/trunk/boinc/; revision=23730
2011-06-15 23:44:03 +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
Daniel Lombraña González 4ea940aecf VM CPU throttling enabled.
VM CPU time is changed according to BOINC preferences.


svn path=/trunk/boinc/; revision=23683
2011-06-08 12:24:12 +00:00
Daniel Lombraña González 4d74982131 Flush ProgressFile updates added.
This new feature prevents from losing progress data from an unexpected reboot.


svn path=/trunk/boinc/; revision=23642
2011-06-06 10:55:01 +00:00
Daniel Lombraña González a2135d4cfb Empty error buffers in Windows pause the wrapper.
The empty buffers have been removed. This only happens on Windows machines.

svn path=/trunk/boinc/; revision=23534
2011-05-13 10:01:31 +00:00
Daniel Lombraña González 12559ef91e New measures to released virtual hard disks.
svn path=/trunk/boinc/; revision=23533
2011-05-13 08:39:33 +00:00
Daniel Lombraña González b67f9b6e4f Fixed the running CPU time report in Windows.
svn path=/trunk/boinc/; revision=23530
2011-05-12 12:52:15 +00:00
Rom Walton 2ea990b9a1 Quick Updates
svn path=/trunk/boinc/; revision=23521
2011-05-10 16:39:55 +00:00
David Anderson 318b40b368 - vbox wrapper: updates
svn path=/trunk/boinc/; revision=23520
2011-05-10 16:30:00 +00:00
Daniel Lombraña González b41590f9ef Fixed elapsed time and added critical sections.
svn path=/trunk/boinc/; revision=23518
2011-05-10 10:50:03 +00:00
Rom Walton 9958851129 - VBOX: Implement basic cpu time accounting and checkpointing
for VMs.

    samples/vboxwrapper/
        vbox.cpp, .h
        vboxwrapper.cpp
        vm.cpp, .h

svn path=/trunk/boinc/; revision=23517
2011-05-09 21:11:37 +00:00
David Anderson f6c0345eb2 - client: fix bug that broke work fetch.
We can't set coprocs.n_rsc to zero in CONFIG::defaults().
	- multi_thread app: update initialization

svn path=/trunk/boinc/; revision=23513
2011-05-07 17:20:56 +00:00
David Anderson 2385c00b67 - wrapper: tell the client when we checkpoint
(else checkpoint_elapsed_time etc. don't get set)
- make_project: enable update_stats by default
- update_stats: add --min_age option


svn path=/trunk/boinc/; revision=23509
2011-05-06 12:33:12 +00:00
Rom Walton 28c5b0a6d1 - VBOX: Switch to using CreateProcess and CreatePipe on Windows, otherwise we
get a bunch of flicking windows when we preform and operation against
        VirtualBox.
        
    samples/vboxwrapper/
        vbox.cpp,

svn path=/trunk/boinc/; revision=23501
2011-05-04 20:54:50 +00:00
Rom Walton 2db7322d3f Quick Updates
svn path=/trunk/boinc/; revision=23500
2011-05-04 17:17:43 +00:00
Rom Walton aa0dffdf05 - VBOX: Add function for a host being able to execute tasks within
guest VMs.
        
    samples/vboxwrapper/
        vbox.cpp, .h
        vm.cpp, .h

svn path=/trunk/boinc/; revision=23499
2011-05-04 16:00:12 +00:00
David Anderson f45681c48b - vbox wrapper: add Makefile
- notices: fix bug where the URL in "friend request" notices
    doesn't work if you're not already logged in.


svn path=/trunk/boinc/; revision=23498
2011-05-04 15:37:09 +00:00
Rom Walton a32054a434 - VBOX: Handle both abort scenarios
samples/vboxwrapper/
        vbox.cpp, .h
        vm.cpp, .h

svn path=/trunk/boinc/; revision=23493
2011-05-03 17:52:55 +00:00
Rom Walton 602f972292 - VBOX: Checkpoint, Re-implement the registering and un-registering of the
vm using the vboxmanage app.

    samples/vboxwrapper/
        vbox.cpp, .h
        vm.cpp, .h

svn path=/trunk/boinc/; revision=23485
2011-04-30 00:26:05 +00:00
Rom Walton f8c1049335 - VBOX: Checkpoint, Re-implement the start/stop/suspend/resume/is_running
and is_registered functions using the vboxmanage app.
    - VBOX: Simplify the virtualbox_vbm_popen function and remove a buffer
        copy operation.

    samples/vboxwrapper/
        vbox.cpp, .h

svn path=/trunk/boinc/; revision=23483
2011-04-29 17:15:34 +00:00
Rom Walton a285dfd44b - VBOX: Begin merging the two different vbox wrappers (COM vs. Daniel's from
CERN).  Where possible stick with the POSIX API set and remove Windows
        specific code. (Example vbm_popen).
        
      NOTE: Not usable at the moment.
      
    samples/vboxwrapper/cernvm
        cernvmwrapper.cpp
    samples/vboxwrapper/
        vbox.cpp, .h
        vboxwrapper.cpp
    samples/vboxwrapper/
        vm.cpp, .h
    win_build/
        vboxwrapper.vcproj

svn path=/trunk/boinc/; revision=23458
2011-04-26 17:41:10 +00:00
Rom Walton c4e8e186c1 Quick Updates
svn path=/trunk/boinc/; revision=23454
2011-04-26 15:30:19 +00:00
Rom Walton 4b543f8d32 svn path=/trunk/boinc/; revision=23453 2011-04-26 15:28:48 +00:00
Rom Walton 4f7e4e90bd svn path=/trunk/boinc/; revision=23452 2011-04-26 15:28:21 +00:00
Rom Walton 6ce8facb09 svn path=/trunk/boinc/; revision=23451 2011-04-26 15:27:25 +00:00
Rom Walton c66c35e500 svn path=/trunk/boinc/; revision=23450 2011-04-26 15:27:01 +00:00
Rom Walton e33d410176 svn path=/trunk/boinc/; revision=23449 2011-04-26 15:26:35 +00:00
Rom Walton 45a8418b36 svn path=/trunk/boinc/; revision=23448 2011-04-26 15:26:10 +00:00
Rom Walton b4d0aff42a svn path=/trunk/boinc/; revision=23446 2011-04-26 15:25:17 +00:00
Rom Walton e9f144ae18 Quick Updates
svn path=/trunk/boinc/; revision=23444
2011-04-26 15:20:54 +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 d6749af703 Quick Updates
svn path=/trunk/boinc/; revision=23248
2011-03-23 03:02:09 +00:00
Rom Walton 57d7883c35 Quick Updates
svn path=/trunk/boinc/; revision=23247
2011-03-23 03:01:18 +00:00
Rom Walton 3622966641 - VBox: Checkpoint for Windows
* Creates/registers virtual machine
        * Starts/Stops virtual machine
        * Suspends/Resumes virtual machine
        * Deletes/deregisters virtual machine
      
      TODO:
        * Fraction done properly
        * Standard error streams from virtualized applications
        * Find a way to hide the VBoxHeadless application window (It can be minimized manually)

    samples/vboxwrapper/
        vbox.cpp, .h
        vbox_win.cpp
        vboxwrapper.cpp
        vm.cpp, .h

svn path=/trunk/boinc/; revision=23246
2011-03-23 02:43:28 +00:00
David Anderson 64187672cc - wrapper: macro-substitute $NTHREADS with the --nthreads option value
in job.xml


svn path=/trunk/boinc/; revision=23244
2011-03-21 09:30:29 +00:00
David Anderson eaff1b16cc - wrapper: improved subprocess cleanup, Unix
svn path=/trunk/boinc/; revision=23240
2011-03-17 05:56:54 +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 90a1348a10 - wrapper: fixes from Carl
svn path=/trunk/boinc/; revision=23105
2011-02-24 23:21:55 +00:00
David Anderson d63d67c968 - wrapper: daemon fix
svn path=/trunk/boinc/; revision=23102
2011-02-24 21:55:17 +00:00
David Anderson d331ca86ed - wrapper: add "daemon" feature.
A task descriptor may contain <daemon>.
    Daemons are started before regular tasks,
    run concurrently with them, and are killed on exit.


svn path=/trunk/boinc/; revision=23101
2011-02-24 21:39:07 +00:00
David Anderson 0856304497 win compile fixes
svn path=/trunk/boinc/; revision=23089
2011-02-23 00:41:34 +00:00
David Anderson b3f00f94f7 - wrapper: compile fix
svn path=/trunk/boinc/; revision=23088
2011-02-23 00:31:15 +00:00
David Anderson a0fd3445fc - wrapper: improve and bullet-proof the way we kill apps.
Win: enumerate all descendants, and kill them all TerminateProcess().
    Unix:
        send the main process a SIGTERM.
        Check once a sec for existence of descendants.
        if none, done
        If any still exist after 10 sec, kill all descendants
- wrapper fix bug in Win env var stuff
- scheduler: check for VBox version 3.2+ in app_plan()
    

svn path=/trunk/boinc/; revision=23085
2011-02-22 23:11:34 +00:00
David Anderson 01a1ec33c3 - client: add cpu_sched debug messages for anti-domino-effect
and anti-thrasing mechanisms
- wrapper: to kill an app, use SIGTERM instead of SIGKILL
    

svn path=/trunk/boinc/; revision=23082
2011-02-22 21:05:21 +00:00
David Anderson faddad7bbb - wrapper: Windows fixes
svn path=/trunk/boinc/; revision=23078
2011-02-21 06:40:22 +00:00
David Anderson cf9b7ef4a2 - client: make "wait 30 sec after exclusive app exits" apply to network too
- client: fix bug in "wait 30 sec after exclusive app exits" logic
	- client: fix compile warning and possible bug in is_remote_desktop()
	- win: remove wrappture_example from solution
		(until Hubzereo guys get their win lib working)

svn path=/trunk/boinc/; revision=23077
2011-02-21 00:09:18 +00:00
David Anderson 13c2cf2fa8 - wrapper: add optional <setenv> element in <task> elements;
specifies an environment variable assignment;
    macro-substitute project dir for $PROJECT_DIR.
    From Carl Christensen

svn path=/trunk/boinc/; revision=23076
2011-02-20 23:46:28 +00:00
David Anderson 7ae1e2357d - wrapper: add optional <exec_dir> element in <task> elements;
specifies a directory to run app in.
    macro-substitute project dir for $PROJECT_DIR.
    From Carl Christensen, more or less


svn path=/trunk/boinc/; revision=23075
2011-02-20 04:01:04 +00:00
David Anderson 5bbafef4b0 - fix some bad file permissions
- delist defunct stats site


svn path=/trunk/boinc/; revision=22859
2011-01-02 03:07:14 +00:00
Rom Walton 0ea0fd6037 - VBOX: Implement stubs for starting/stopping/suspending/resuming VMs
TODO: create/delete.
        
    samples/vboxwrapper/
        vbox.cpp, .h
        vbox_win.cpp
        vboxwrapper.cpp
        vm.cpp, .h
    win_build/
        vboxwrapper.vcproj

svn path=/trunk/boinc/; revision=22833
2010-12-08 16:02:10 +00:00
David Anderson 7baddb24e3 - Fix bugs in Rappture wrapper
- Add README file and templates for Rappture wrapper
- create_work: create defaults for --wu_name, --wu_template, --result_template
- user web: fix typo on workunit.php

svn path=/trunk/boinc/; revision=22826
2010-12-07 19:28:08 +00:00
David Anderson a89ae6f3c6 svn path=/trunk/boinc/; revision=22821 2010-12-06 03:10:01 +00:00
David Anderson ebe1256b58 - wrappture fixes
svn path=/trunk/boinc/; revision=22820
2010-12-06 03:06:31 +00:00
David Anderson 2b67ec4ad9 - client: fix major bug in job scheduling
Old: scheduling has 2 phases:
        1) computing a list of jobs to run (a vector of RESULT*);
            this is done infrequently
        2) enforcing the schedule; this is done more frequently
    Problem:
        when we enforce the schedule,
        the RESULTs in the jobs-to-run list may not still be runnable,
        and in fact they may not still exist (dangling pointer).
    New: combine the 2 phases


svn path=/trunk/boinc/; revision=22792
2010-12-01 21:49:35 +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
Rom Walton 3fa1f8d94d Quick Updates
svn path=/trunk/boinc/; revision=22783
2010-12-01 16:06:31 +00:00
David Anderson 55eca25ed5 - Rappture stuff
svn path=/trunk/boinc/; revision=22777
2010-11-30 05:27:05 +00:00
David Anderson d93114a51f - add VS project file for wrappture_example; fix Win compile
svn path=/trunk/boinc/; revision=22776
2010-11-29 22:51:24 +00:00
David Anderson bedfeafbee - add support for making wrappers for Rappture:
https://nanohub.org/infrastructure/rappture/


svn path=/trunk/boinc/; revision=22775
2010-11-29 22:27:26 +00:00
Rom Walton 36c95249bf - vboxwrapper: Remove unneeded cruft. Vbox can report how long a
VM has been running since the last state change, we'll use that
        instead.
    - vboxwrapper: provide basic stub functions for starting/stopping/
        suspending/resuming a VM.  Leave wrapper functionality in
        vboxwrapper, and VM specific functionality in vbox_*.  Ideally
        only the stub functions would have to change for other VM
        implementations.
        
    samples/vboxwrapper/
        vbox.cpp, .h
        vbox_win.cpp
        vboxwrapper.cpp
    win_build/
        vboxwrapper.vcproj

svn path=/trunk/boinc/; revision=22753
2010-11-29 16:48:31 +00:00
Rom Walton 650ede61c5 - vbox: Create a new VirtualBox wrapper using the VirtualBox COM
API set.  Use the existing wrapper as the baseline.  Current
        wrapper just dumps the existing VMs defined on the machine.
        More to follow.
        
    samples/vboxwrapper/mscom/
        VirtualBox.h
        VirtualBox.tlb
        VirtualBox_i.c
    samples/vboxwrapper/
        vbox.h
        vbox_win.cpp
        vboxwrapper.cpp
    win_build/
        boinc.sln
        vboxwrapper.vcproj

svn path=/trunk/boinc/; revision=22745
2010-11-24 20:15:11 +00:00
Rom Walton 08db9f1563 Quick Updates
svn path=/trunk/boinc/; revision=22673
2010-11-10 16:09:33 +00:00
Rom Walton 2a3c4dff7e Add linux x64 example app
svn path=/trunk/boinc/; revision=22672
2010-11-10 16:08:39 +00:00
Rom Walton aae2ef17f6 Quick Updates
svn path=/trunk/boinc/; revision=22671
2010-11-10 15:37:15 +00:00
Rom Walton 25e28bae13 Add linux example app
svn path=/trunk/boinc/; revision=22670
2010-11-10 15:35:47 +00:00
David Anderson c0612ab77f - make_project: with --test_app, copy all the executables
(for many platforms) from samples/example_app/bin
- make_project: change name of example app from uppercase to example_app.
- update_versions: allow version numbers to not have decimal points
- sample work generator: make app name and template files
    command-line options;
    default to "example_app", "example_app_in.xml", "example_app_out.xml"

svn path=/trunk/boinc/; revision=22667
2010-11-10 00:10:32 +00:00
David Anderson 2a9c52793c svn path=/trunk/boinc/; revision=22666 2010-11-09 22:35:59 +00:00
Charlie Fenton 0dcd647250 Mac: Update build scripts, build examples and documentation
svn path=/trunk/boinc/; revision=22489
2010-10-11 11:59:05 +00:00
Charlie Fenton 8255e54d64 Mac: Update build example
svn path=/trunk/boinc/; revision=22486
2010-10-09 01:47:03 +00:00
Charlie Fenton 9e41e0b521 Mac: Update build scripts and documentation
svn path=/trunk/boinc/; revision=22480
2010-10-08 10:15:40 +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
Tuan Le 1c2c15588a svn path=/trunk/boinc/; revision=22074 2010-07-27 20:21:46 +00:00
Tuan Le 442f7e3f07 - fix local work size and global work size to be compatible with GPU
svn path=/trunk/boinc/; revision=22073
2010-07-27 20:18:42 +00:00
Tuan Le f311cce3dc - remove unused function prototype
svn path=/trunk/boinc/; revision=22072
2010-07-27 19:56:26 +00:00
Tuan Le db3861d530 svn path=/trunk/boinc/; revision=22067 2010-07-26 21:54:32 +00:00
Tuan Le 56abe73118 svn path=/trunk/boinc/; revision=22066 2010-07-26 21:37:08 +00:00
Tuan Le a37ecceae3 - modify local work items and global work items to work correctly on GPU device.
svn path=/trunk/boinc/; revision=22064
2010-07-26 21:16:36 +00:00
Tuan Le 812ce585a8 fix memory leak
svn path=/trunk/boinc/; revision=22022
2010-07-21 18:28:58 +00:00
Tuan Le d0f9b4554e some changes to correctly include the opencl header file on different platforms.
svn path=/trunk/boinc/; revision=22008
2010-07-19 22:04:44 +00:00
Tuan Le 3d57bb38ed atiopencl makefile for mac os x 10.6 completed
svn path=/trunk/boinc/; revision=22007
2010-07-19 21:39:19 +00:00
Tuan Le c9cd37c44c svn path=/trunk/boinc/; revision=22006 2010-07-19 20:28:39 +00:00
Tuan Le f5d95ecd53 svn path=/trunk/boinc/; revision=22005 2010-07-19 20:11:23 +00:00
Tuan Le 48c9d1e4e5 atiopencl: BOINC's LGPL license added. Fix format. Add comments. Remove readme.txt.
svn path=/trunk/boinc/; revision=22001
2010-07-19 18:43:19 +00:00
Tuan Le b351c2225f svn path=/trunk/boinc/; revision=21980 2010-07-16 22:36:57 +00:00
Tuan Le 4f488eb55b nvopencl Makefile for MacOS 10.6 completed
svn path=/trunk/boinc/; revision=21979
2010-07-16 22:30:37 +00:00
Tuan Le 739e93ebc6 add -lpthread to fix undefined reference in start_timer_thread()
svn path=/trunk/boinc/; revision=21965
2010-07-15 22:27:27 +00:00
Tuan Le 8e508b9ff7 Linux fix the path for reading nvopencl_kernels
svn path=/trunk/boinc/; revision=21964
2010-07-15 22:17:41 +00:00
Tuan Le 96a91d9d5d svn path=/trunk/boinc/; revision=21961 2010-07-15 20:47:09 +00:00
Tuan Le 16d53cb05e remove some unused variables
svn path=/trunk/boinc/; revision=21960
2010-07-15 20:42:13 +00:00
Tuan Le f85470efac Format codes, indentation, comments, etc. Add BOINC's LGPL license. Remove unnecessary readme file.
svn path=/trunk/boinc/; revision=21956
2010-07-15 19:29:43 +00:00
Tuan Le 4648f17bad svn path=/trunk/boinc/; revision=21954 2010-07-15 18:58:35 +00:00
Tuan Le b9a5cbe377 svn path=/trunk/boinc/; revision=21953 2010-07-15 18:58:13 +00:00
Tuan Le 07d67c39cb svn path=/trunk/boinc/; revision=21922 2010-07-13 21:51:54 +00:00
Tuan Le 3b28b05ee8 svn path=/trunk/boinc/; revision=21920 2010-07-13 21:36:29 +00:00
Tuan Le e3b71debc5 contents from these files could be found on trac wiki page.
svn path=/trunk/boinc/; revision=21907
2010-07-13 20:02:52 +00:00
Tuan Le 95b33a9501 svn path=/trunk/boinc/; revision=21902 2010-07-13 18:33:00 +00:00
Tuan Le 26cf66144f separate mac files are unnecessary.
svn path=/trunk/boinc/; revision=21900
2010-07-13 18:12:14 +00:00
Tuan Le 9d25b0ca54 BOINC's LGPL license added
code formated
functions renamed
comments added

svn path=/trunk/boinc/; revision=21899
2010-07-13 18:03:00 +00:00
Tuan Le d866180ece svn path=/trunk/boinc/; revision=21885 2010-07-08 23:50:24 +00:00
Tuan Le 4c5cec8d12 svn path=/trunk/boinc/; revision=21867 2010-07-01 23:33:38 +00:00
Tuan Le ea83d4f5e1 svn path=/trunk/boinc/; revision=21866 2010-07-01 23:33:15 +00:00
Tuan Le 6517c91477 svn path=/trunk/boinc/; revision=21865 2010-07-01 23:31:30 +00:00
Tuan Le fc87ee85d4 Makefile_mac completed
cuda_mac.c and cuda_kernel_mac.cu are targeted on Mac

svn path=/trunk/boinc/; revision=21862
2010-07-01 17:53:11 +00:00
Tuan Le 522cd39c45 svn path=/trunk/boinc/; revision=21822 2010-06-25 21:31:28 +00:00
Tuan Le 8b7b7e9e4c svn path=/trunk/boinc/; revision=21821 2010-06-25 21:28:55 +00:00
Tuan Le cd07f4aafc svn path=/trunk/boinc/; revision=21820 2010-06-25 21:10:02 +00:00
Tuan Le dc0c7ce657 svn path=/trunk/boinc/; revision=21819 2010-06-25 21:09:33 +00:00
Tuan Le 951a04fb3f svn path=/trunk/boinc/; revision=21818 2010-06-25 20:45:33 +00:00
Tuan Le 95f76a815e svn path=/trunk/boinc/; revision=21817 2010-06-25 20:43:48 +00:00
Tuan Le 69cd672638 svn path=/trunk/boinc/; revision=21807 2010-06-24 23:53:31 +00:00
Tuan Le ea59d1b326 cuda.cu -> fix boinc_msg_prefix()
common.mk, Makefile for Linux
readme.txt for troubleshooting 

svn path=/trunk/boinc/; revision=21798
2010-06-23 23:20:25 +00:00
Tuan Le 0c1c81f8ea Makefile for Linux
Modify atiopencl.cpp, fix call to boinc_msg_prefix
readme.txt -> setup and troubleshooting guide

svn path=/trunk/boinc/; revision=21791
2010-06-22 20:21:41 +00:00
David Anderson c2444c5206 - apps: compile fix
svn path=/trunk/boinc/; revision=21785
2010-06-21 23:29:37 +00:00
David Anderson b9cdeb73fa - sample apps: compile fixes
svn path=/trunk/boinc/; revision=21774
2010-06-18 20:02:35 +00:00
Tuan Le 7c87348f52 svn path=/trunk/boinc/; revision=21750 2010-06-15 18:09:28 +00:00
David Anderson 637793aeea svn path=/trunk/boinc/; revision=21726 2010-06-10 17:44:32 +00:00
Rom Walton 7457597319 - win_build: Commit project files to build sample applications for cuda
and OpenCL (ATI & Nvidia)
        
    samples/
        <Various Files>
    win_build/
        <various Files>

svn path=/trunk/boinc/; revision=21716
2010-06-09 22:18:37 +00:00
Rom Walton 9acf7f392d - samples: plug in a skeleton CUDA sample with nothing in it. Setup Windows
project environment so the thing will at least compile. The nvcc compiler
        is a bit touchy.
        
    samples/cuda
        cuda.cu
        cuda_kernel.cu
    win_build/
        boinc.sln
        cuda.rules
        cuda.vcproj

svn path=/trunk/boinc/; revision=21655
2010-05-28 21:25:27 +00:00
Rom Walton e14e1cad34 - Remove BOINC_RCSID tags from source files, we are doing branching and tagging
properly.
        
    <Various Files>

svn path=/trunk/boinc/; revision=20873
2010-03-12 16:51:57 +00:00
David Anderson 7078c411a2 - wrapper: print more detailed msgs if process creation fails
svn path=/trunk/boinc/; revision=20631
2010-02-18 19:37:25 +00:00
Charlie Fenton 8f0f0ef0dc Mac wrapper: add build script and make file to build wrapper on Mac
svn path=/trunk/boinc/; revision=20589
2010-02-16 12:57:01 +00:00
Charlie Fenton 5546e1a57f Samples: Update MakeMacExample.sh and Mac make files for example_app for OS 10.6 and XCode 3.2
svn path=/trunk/boinc/; revision=20588
2010-02-16 12:54:43 +00:00
Charlie Fenton a422bfb85c Samples: Update Mac build script and make files for example_app for OS 10.6 and XCode 3.2
svn path=/trunk/boinc/; revision=20587
2010-02-16 12:49:02 +00:00
Charlie Fenton 3e6370ca95 Samples: Update Mac build script and make files for example_app for OS 10.6 and XCode 3.2
svn path=/trunk/boinc/; revision=20586
2010-02-16 12:46:40 +00:00
Charlie Fenton ee9fffcc49 Samples: Update Mac build script and make files for example_app for OS 10.6 and XCode 3.2
svn path=/trunk/boinc/; revision=20585
2010-02-16 11:34:18 +00:00
Charlie Fenton dc0cd9f956 Mac wrapper: add build script and make file to buuild wrapper on Mac
svn path=/trunk/boinc/; revision=20583
2010-02-16 02:42:12 +00:00
Charlie Fenton 47528cb253 Mac wrapper: add build script and make file to buuild wrapper on Mac
svn path=/trunk/boinc/; revision=20580
2010-02-16 00:56:59 +00:00
David Anderson 42683a8a31 svn path=/trunk/boinc/; revision=20269 2010-01-27 03:55:46 +00:00
David Anderson 1c127cd122 - example multi-thread app: change to use boinc_init_parallel().
It's way simpler now.


svn path=/trunk/boinc/; revision=20058
2010-01-01 06:03:08 +00:00
David Anderson 9e1644e588 svn path=/trunk/boinc/; revision=20055 2010-01-01 05:03:13 +00:00
Rom Walton 2d25b6698d - Cleanup various warnings
- WINSCR: Implement new configuration dialog with new parameters
    - WINSCR: Remove crufty code
    - WINSCR: Update copyrights in resource files
    
    client/
        app.cpp
    clientscr/
        boinc_ss.h
        boinc_ss.rc
        boinc_ss_opengl.h
        boinc_ss_opengl.rc
    clientscr/
        screensaver.cpp, .h
        screensaver_win.cpp, .h
    lib/
        common_defs.h
        crypt.cpp
        idlemon_win.cpp
        win_util.cpp
    samples/worker/
        worker.cpp
    win_build/
        boinc_ss.vcproj
        multi_thread.vcproj
        sleeper.vcproj
        ss_app.vcproj
        uc2_graphics.vcproj

svn path=/trunk/boinc/; revision=19923
2009-12-16 19:55:09 +00:00
David Anderson 04ea096e62 - wrapper: fix fraction-done bug
svn path=/trunk/boinc/; revision=19880
2009-12-13 18:06:04 +00:00
David Anderson 54b078d0af - client: add --unsigned_apps_ok cmdline option
and <unsigned_apps_ok> config option.
    This tells the client to allow unsigned apps.
    For testing.
    No file xfers or other network traffic will be allowed if set.
- client: add <exit_after_finish> option (same as cmdline flag)
- client: add <skip_cpu_benchmarks> option (same as cmdline flag)
- client: print message if abort past-deadline unstarted job
- client: improve message when have NVIDIA drivers but no GPU
    

svn path=/trunk/boinc/; revision=19276
2009-10-07 18:42:51 +00:00
David Anderson 12dc1852a7 - wrapper: fix fraction done feature
svn path=/trunk/boinc/; revision=19231
2009-10-02 18:48:50 +00:00
David Anderson 1ecfcd9575 - wrapper: add a mechanism so that sub-tasks can report fraction done.
Write your apps so that they periodically write their
    fraction done (0..1) to a file.
    Then include <fraction_done_filename> in the job description.

svn path=/trunk/boinc/; revision=19159
2009-09-24 20:51:32 +00:00
David Anderson 4232dfa7cc - add vm_wrapper sample app (from Jarno Rantala, CERN)
svn path=/trunk/boinc/; revision=18904
2009-08-24 20:00:10 +00:00
David Anderson 563a55f37e - client/libs/samples: remove "#define read _read" etc. from boinc_win.h
These cause problems when "read" is a member name, etc.
		Do these #defines, conditioned on _MSC_VER,
		in the files that actually need them.
	- don't include boinc_win.h from parse.h.
		principle of minimal inclusion

svn path=/trunk/boinc/; revision=18902
2009-08-22 17:00:19 +00:00
David Anderson 9925988c77 - wrapper: compile fix
svn path=/trunk/boinc/; revision=18882
2009-08-20 05:11:42 +00:00
David Anderson ca24bc3cb1 - scheduler: fixes for cuda23 plan class
svn path=/trunk/boinc/; revision=18841
2009-08-14 02:42:52 +00:00
David Anderson 9a94db0bbb - wrapper: fix bug in passing wrapper's args to subjobs
svn path=/trunk/boinc/; revision=18425
2009-06-15 23:27:37 +00:00
David Anderson 20adddc862 - client: fixed a crash caused by using %f to write
working-set size into a fixed-size buffer.
    Use %e instead.
    TODO: figure out why WSS was huge.
- web: if "en" is primary language, don't read translation files

svn path=/trunk/boinc/; revision=17831
2009-04-16 09:01:41 +00:00
David Anderson 68e2530b3a - API: add function boinc_msg_prefix() that returns
time of day and process ID.
    This should prefix all messages written to stderr
    by applications or by the runtime system.

svn path=/trunk/boinc/; revision=17687
2009-03-27 23:42:47 +00:00
Charlie Fenton a20e70fc62 Better support if platforms don't have per-thread locale; ensure Mac BOINC libraries build OK using config/make; fix Mac build breaks for example_app.
svn path=/trunk/boinc/; revision=17677
2009-03-27 05:25:58 +00:00
David Anderson c1dce6425e - small code shuffle
- fix manager build on unix

svn path=/trunk/boinc/; revision=17650
2009-03-24 17:18:09 +00:00
David Anderson 5a5b386313 - client: garbage collect after scheduler RPC;
if project sent some irrelevant FILE_INFOs,
		this will avoid starting transfers for them.

svn path=/trunk/boinc/; revision=17644
2009-03-23 01:33:17 +00:00
Charlie Fenton 73dc776567 pdate various source filed to GPL 3
svn path=/trunk/boinc/; revision=17330
2009-02-21 02:42:50 +00:00
Charlie Fenton 7540e39963 Mac Samples: adjust XCode project for current source file names (*.cpp instead of *.C)
svn path=/trunk/boinc/; revision=17200
2009-02-11 10:15:13 +00:00
Eric J. Korpela 9a2868e715 -Made static linkage of BOINC libraries the default for client,
manager, and server components


svn path=/trunk/boinc/; revision=16928
2009-01-16 00:24:44 +00:00
David Anderson 91e120b3f4 - scheduler: improve message formatting; add <debug_locality> flag
for locality scheduling messages

svn path=/trunk/boinc/; revision=16921
2009-01-15 20:23:20 +00:00
Eric J. Korpela 4e60ef3003 - STILL WORK TO BE DONE TO GET locale STUFF INSTALLED PROPERLY!!!
- Update to libtool 1.5.24
- build environment:  Major automake changes that I've been warning about
  for some time.
- Now uses libtool to build libraries.
- Builds separate boinc_fcgi and sched_fcgi libraries for use with 
  FCGI server components.
- New macro "BOINC_CHECK_LIB_WITH" that executes a "AC_CHECK_LIB" on
  a library only if --with-libname[=DIR] is specified on the configure
  command line.  This is to allow inclusion of libraries when the 
  ssl, gtk, wxWidgets, or other configuration is incorrect for static
  libraries.
- Added a lot of "--with-*" for some libraries that might be required for
  static builds.
- The sea directory has been moved to packages/generic.  Changes to sea
  and the associated scripts might be required to better make use of the
  staging mechanism and shared libraries.
- Fixed includes of boinc_fcgi.h in many files.
- Fixed places where FCGI_FILE needs to be used implicitly.
- Fixed missing define of _SC_PAGESIZE on hosts that define only
  _SC_PAGE_SIZE.
- Moved build of boinc_cmd (and source file) from lib to client



svn path=/trunk/boinc/; revision=16904
2009-01-13 23:06:02 +00:00
David Anderson 86cfca0b44 - manager: clamp percentages at [0,100] in prefs dialog
fixes #794
- wrapper: if app checkpoints, write CPU time to checkpoint file
    fixes #792 (I hope)

svn path=/trunk/boinc/; revision=16645
2008-12-08 04:47:57 +00:00
David Anderson f3b0995cf4 - example_app: don't build the graphics app by default.
Fixes #771


svn path=/trunk/boinc/; revision=16482
2008-11-12 00:11:41 +00:00
David Anderson 1a409685e5 - make "make distclean" work in all directories
svn path=/trunk/boinc/; revision=16245
2008-10-21 21:13:52 +00:00
David Anderson 16e5e5062e - example_app: make the same Makefile work for both FC and Debian
svn path=/trunk/boinc/; revision=16145
2008-10-06 21:51:29 +00:00
David Anderson 3d5e2d5748 svn path=/trunk/boinc/; revision=16144 2008-10-06 21:46:46 +00:00
David Anderson 44f4c9d840 - add distclean target for samples/ makefiles
svn path=/trunk/boinc/; revision=16143
2008-10-06 20:24:58 +00:00
David Anderson 5a1e97c349 - Unix build system: build samples/example_app/,
and change the samples/ makefiles so that they automatically
    create the symbolic link to libstdc++.a
    Fixes #725

svn path=/trunk/boinc/; revision=16129
2008-10-04 18:51:38 +00:00
David Anderson 7019bb3192 - Makefile fix
- client: remove extraneous message
- wrapper: open stderr/stdout in append mode, not write

svn path=/trunk/boinc/; revision=16118
2008-10-03 05:13:25 +00:00
David Anderson 98cfb8d3b0 - rename .C files to .cpp so that Doxygen will work
svn path=/trunk/boinc/; revision=16069
2008-09-26 18:20:24 +00:00
David Anderson 15fe63488d test rename
svn path=/trunk/boinc/; revision=16067
2008-09-26 18:06:27 +00:00
David Anderson 6d61da36a6 - fix compile warnings and Manager error
svn path=/trunk/boinc/; revision=15905
2008-08-20 18:24:08 +00:00
Charlie Fenton ca82c70e07 Mac Samples: adjust XCode project for new SVN tree layout
svn path=/trunk/boinc/; revision=15900
2008-08-20 16:01:18 +00:00
Rom Walton 4a6fd43a5c - WIN: Remove Visual Studio 2003 solution and project files
- WIN: Fix build files so all build configurations work again
    - WIN: Create the 'Samples - Debug' and 'Samples - Release'
        configurations to build sample files.  Leave the previous
        configurations to build just the client software.
    - WIN: Remove Seed project files
        
    client/win/
        boinc.exe.manifest
        boinc_cli_2003.rc
        boinc_cmd_2003.rc
        boinccmd.exe.manifest
    clientgui/
        BOINCGUIApp_2003.rc
        boincmgr.exe.manifest
    clientlib/win/
        boinc.dll.manifest
        boinc_dll_2003.rc
    clientscr/
        boinc.scr.manifest
        boinc_ss_2003.rc
    samples/win_build/
        samples_2003.sln
    win_build/
        boinc.sln
        boinc_2003.sln
        seed.sln
        <Various .vcproj files>

svn path=/trunk/boinc/; revision=15831
2008-08-14 02:58:05 +00:00
Rom Walton 627b9b4b21 Quick Updates
svn path=/trunk/boinc/; revision=15822
2008-08-13 17:28:50 +00:00
Rom Walton b6b14154fe Rom 13 Aug 2008
- SAMPLES: Add all the samples to the BOINC solution and delete the
        old solution.
    - LIB: Clean up a bunch of warnings.
    
    api/
        texfont.C
    lib/
        crypt.C
    lib/
        filesys.C
    samples/wrapper/
        wrapper.C
    win_build/
        boinc.sln
        glut.vcproj
        image_libs.vcproj
        jpeglib.vcproj
        libboinc_staticcrt.vcproj
        libboincapi.vcproj
        libboincapi_staticcrt.vcproj
        libgraphics2.vcproj
        multi_thread.vcproj
        sleeper.vcproj
        uc2.vcproj
        uc2_graphics.vcproj
        upper_case.vcproj
        worker.vcproj
        wrapper.vcproj

svn path=/trunk/boinc/; revision=15819
2008-08-13 17:26:26 +00:00
David Anderson 2a3d7f00ff Move sample project files
svn path=/trunk/boinc/; revision=15818
2008-08-13 15:22:56 +00:00
David Anderson 4f66bb4c95 - added copyright and license info to .C, .cpp, .h files
- scheduler: fix bug in adaptive replication:
    if send an unreplicated job to untrusted host,
    set both wu.target_nresults and wu.min_quorum to app.target_nresults.

svn path=/trunk/boinc/; revision=15762
2008-08-06 18:36:30 +00:00
David Anderson 1edb9012f6 - move boinc_samples into boinc/samples
- fix Makefiles in samples/


svn path=/trunk/boinc/; revision=15740
2008-08-01 18:14:00 +00:00
David Anderson f4f1592041 Moving the boinc_samples directory under the boinc directory.
This will make branching complete and stable server and app development branches easier.


svn path=/trunk/boinc/; revision=15730
2008-07-31 20:12:07 +00:00