mirror of https://github.com/BOINC/boinc.git
800 lines
18 KiB
Plaintext
800 lines
18 KiB
Plaintext
DEPRECATED - the samples directory is now part of the BOINC tree
|
|
|
|
David 7 April 2006
|
|
- extended upper_case so that it draws graphics
|
|
(text, image, bouncing ball)
|
|
NOTE: to get this to work, you have to put in your build dir:
|
|
- file called "logo.jpg" (the image)
|
|
- Helvetica.txf
|
|
- a file called "in" (any old text)
|
|
- added text functions to library
|
|
|
|
uppercase/
|
|
upper_case.C
|
|
win_build/
|
|
libboincapi.vcproj
|
|
|
|
Charlie 11 April 2006
|
|
- Mac: updated XCode project for upper_case
|
|
|
|
mac_build/
|
|
UpperCase.xcodeproj/
|
|
project.pbxproj
|
|
|
|
David 12 Apr 2006
|
|
- split out graphics code into separate file
|
|
|
|
uppercase/
|
|
uc_graphics.C (new)
|
|
upper_case.C
|
|
win_build/
|
|
upper_case.vcproj
|
|
|
|
David 13 Apr 2006
|
|
- got graphics to work under Linux; added a Makefile
|
|
|
|
uppercase/
|
|
Makefile (new)
|
|
README (new)
|
|
upper_case.C
|
|
|
|
David 13 Apr 2006
|
|
- handle mouse events
|
|
|
|
uppercase/
|
|
uc_graphics.C
|
|
|
|
David 21 Apr 2006
|
|
- resolve logo filename
|
|
|
|
uppercase/
|
|
uc_graphics.C
|
|
upper_case.C
|
|
|
|
|
|
Charlie 27 April 2006
|
|
- Mac: updated XCode project for upper_case, fixed
|
|
jconfig.h to be cross-platform. upper_case now
|
|
works fully on Intel and PowerPC Macs.
|
|
|
|
jpeglib/
|
|
jconfig.h
|
|
mac_build/
|
|
UpperCase.xcodeproj/
|
|
project.pbxproj
|
|
|
|
David 29 Apr 2006
|
|
- use project preferences (<color_scheme>) for graphics color
|
|
- remove -exit, -signal options from upper_case
|
|
|
|
uppercase/
|
|
uc_graphics.C
|
|
upper_case.C
|
|
|
|
David 1 May 2006
|
|
- implement boinc_reread_prefs()
|
|
|
|
uppercase/
|
|
uc_graphics.C
|
|
|
|
David 26 May 2006
|
|
- Added sleeper application (to test non-CPU-intensive features)
|
|
|
|
sleeper/
|
|
sleeper.C
|
|
Makefile
|
|
|
|
David 29 May 2006
|
|
- moved wrapper application here from boinc/apps
|
|
|
|
win_build
|
|
sleeper.vcproj
|
|
wrapper.vcproj
|
|
wrapper/
|
|
wrapper.C
|
|
Makefile
|
|
|
|
Rom 31 May 2006
|
|
- Demonstrate delay load functionality on graphics libraries for Windows.
|
|
|
|
uppercase/
|
|
uc_graphics.C
|
|
|
|
David 13 June 2006
|
|
- Added "worker" (for testing wrapper)
|
|
|
|
worker/
|
|
Makefile
|
|
worker.C
|
|
|
|
David 13 June 2006
|
|
- added Win project file for worker,
|
|
fixed names in project files, got stuff to compile
|
|
|
|
uppercase/
|
|
upper_case.C
|
|
win_build/
|
|
samples.sln
|
|
sleeper.vcproj
|
|
worker.vcproj (new)
|
|
worker/
|
|
worker.C
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 14 June 2006
|
|
- debugged and updated "wrapper" program.
|
|
It works now, more or less, on Windows.
|
|
- wrapper no longer copies input/output files.
|
|
You must use the <copy_file/> attribute
|
|
in the file reference instead.
|
|
- attempted to have wrapper pass stderr handle to worker
|
|
(Windows). Doesn't work yet.
|
|
|
|
worker/
|
|
worker.C
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 16 June 2006
|
|
- generalized wrapper.C so task descriptions are kept in structs;
|
|
changed format of job file
|
|
(suggested by Janus)
|
|
|
|
wrapper/
|
|
Makefile
|
|
wrapper.C
|
|
|
|
David 12 Aug 2006
|
|
- wrapper: add support for stdin/stdout files
|
|
(adapted from Eric Myers)
|
|
- changed project files to VS 2005
|
|
|
|
win_build/
|
|
*.vcproj
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 16 Aug 2006
|
|
- wrapper: get it to compile on Win, and fix XML parsing
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 9 Sept 2006
|
|
- change wrapper to use new XML parser
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 11 Sept 2006
|
|
- added library dependencies to makefiles
|
|
|
|
uppercase/Makefile
|
|
sleeper/Makefile
|
|
worker/
|
|
Makefile
|
|
worker.C
|
|
wrapper/Makefile
|
|
|
|
David 11 Sept 2006
|
|
- include all apps in VS solution
|
|
|
|
win_build/samples.sln
|
|
|
|
David 26 Sept 2006
|
|
- close state file in uppercase (from Ian/Tigher)
|
|
|
|
uppercase/
|
|
upper_case.C
|
|
|
|
David 4 Nov 2006
|
|
- uppercase: call boinc_graphics_possible() instead of
|
|
using a bunch of mysterious inline code.
|
|
This is supposed to be a good example, not a bad one.
|
|
|
|
uppercase/
|
|
upper_case.C
|
|
|
|
Rom 6 Nov 2006
|
|
- Checkin VS 2003 project files.
|
|
|
|
David 8 Nov 2006
|
|
- The upper_case project file (but not the others)
|
|
needs GDI32.DLL;OPENGL32.DLL;GLU32.DLL in its list
|
|
of Delay Loaded DLLs (Linker properties),
|
|
and delayimp.lib in its Additional Dependencies
|
|
|
|
uppercase/
|
|
logo.jpg (new)
|
|
|
|
David 23 Nov 2006
|
|
- don't include util.h in worker.C!
|
|
- fix win compile
|
|
|
|
worker/
|
|
worker.C
|
|
|
|
David 24 Nov 2006
|
|
- change "worker" to use stdin/stdout
|
|
- change "worker" to take nsec CPU arg
|
|
- add example job file
|
|
|
|
worker/
|
|
worker.C
|
|
wrapper/
|
|
job.xml
|
|
|
|
David 25 Nov 2006
|
|
- wrapper: redirection of stdin/stdout wasn't
|
|
working correctly on Windows.
|
|
Need to open files with CreateFile().
|
|
|
|
win_build/
|
|
samples.sln
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 5 Dec 2006
|
|
- changed upper_case options to -early_crash
|
|
-early_exit
|
|
|
|
uppercase/
|
|
upper_case.C
|
|
|
|
David 8 Dec 2006
|
|
- added -early_sleep option to upper_case
|
|
(for debugging core client)
|
|
|
|
uppercase/
|
|
uc_graphics.C
|
|
upper_case.C
|
|
|
|
David 18 Dec 2006
|
|
- compile fix
|
|
|
|
win_build/
|
|
libboinc_vcproj
|
|
|
|
David 27 Dec 2006
|
|
- comment out boinc_graphics_possible() call
|
|
|
|
uppercase/
|
|
upper_case.C
|
|
|
|
David 11 Jan 2007
|
|
- upper_case: if checkpoint found,
|
|
truncate the output file to the indicated size.
|
|
Otherwise a checkpoint/restart generally produces a bad result.
|
|
|
|
uppercase/
|
|
upper_case.C
|
|
|
|
David 21 Feb 2007
|
|
- compile fixes
|
|
|
|
sleeper/
|
|
sleeper.C
|
|
uppercase/
|
|
upper_case.C
|
|
win_build/
|
|
libboinc.vcproj
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 20 Mar 2007
|
|
- wrapper (Unix) get actual CPU time of child (not wall time)
|
|
- uppercase (Unix): change makefile to work on FC6
|
|
|
|
uppercase/
|
|
Makefile
|
|
uc_graphics.C
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 20 Mar 2007
|
|
- wrapper (Unix): use more efficient way of getting CPU time
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 26 Apr 2007
|
|
- wrapper: pass wrapper's command-line args to application,
|
|
after those in the job file (if any).
|
|
This lets you pass different command-line args to the app
|
|
for different workunits,
|
|
without creating a new app version per workunit.
|
|
|
|
NOTE: actually, I don't think this is necessary;
|
|
the job file can be part of the workunit, not part of the app version.
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
Rom 9 May 2007
|
|
- Update Windows build files so that the advanced features of
|
|
Visual Studio can be supported, like building multiple binaries
|
|
at a time.
|
|
|
|
win_build/
|
|
*.vcproj
|
|
|
|
David 22 May 2007
|
|
- add version 6-style app
|
|
|
|
example_app/
|
|
Makefile
|
|
uc2.C
|
|
uc2_graphics.C
|
|
|
|
David 22 May 2007
|
|
- first stab at getting it to work on Win
|
|
|
|
win_build/
|
|
libboincapi.vcproj
|
|
libgraphics2.vcproj (new)
|
|
samples.sln
|
|
uc2.vcproj (new)
|
|
uc2_graphics.vcproj (new)
|
|
|
|
David 23 May 2007
|
|
- version 6 example app works on Win
|
|
|
|
example_app/
|
|
uc2.C
|
|
uc2.h (new)
|
|
uc2_graphics.C
|
|
win_build/
|
|
libgraphics2.vcproj
|
|
samples.sln
|
|
uc2.vcproj
|
|
uc2_graphics.vcproj
|
|
|
|
David 23 May 2007
|
|
- version 6 example app works on Linux
|
|
|
|
example_app/
|
|
uc2.h
|
|
uppercase/
|
|
Makefile
|
|
|
|
David 28 May 2007
|
|
- Wrapper can handle multiple tasks
|
|
|
|
wrapper/
|
|
job.xml
|
|
wrapper.C
|
|
|
|
David 8 June 2007
|
|
- Wrapper: use default diag options
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 8 June 2007
|
|
example_app/
|
|
uc2.C,h
|
|
uc2_graphics.C
|
|
|
|
David 13 June 2007
|
|
- wrapper: set thread priority of worker processes
|
|
to IDLE class (Win);
|
|
set prior of worker processes to PROCESS_IDLE_PRIORITY (Unix)
|
|
|
|
uppercase/
|
|
upper_case.C
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 19 June 2007
|
|
example_app/
|
|
uc2_graphics.C
|
|
|
|
David 28 June 2007
|
|
- wrapper: report CPU time correctly when >1 job
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 17 July 2007
|
|
- fix fraction done for uppercase.
|
|
fixes #341
|
|
|
|
uppercase/
|
|
upper_case.C
|
|
|
|
David 20 July 2007
|
|
- example_app: #ifdef graphics stuff so we can use this in boinc/apps
|
|
|
|
example_app/
|
|
Makefile
|
|
uc2.C
|
|
|
|
Charlie 29 Aug 2007
|
|
- Mac: new XCode project for version 6 example_app.
|
|
|
|
mac_build/
|
|
UpperCase2.xcodeproj/
|
|
project.pbxproj
|
|
|
|
David 17 Aug 2007
|
|
- project file fix
|
|
|
|
win_build/
|
|
libgraphics2.vcproj
|
|
|
|
Charlie 29 Aug 2007
|
|
- Mac: new XCode project for version 6 example_app.
|
|
- Mac example_app: Redirect stderr to gfx_stderr.txt so we have a way
|
|
to get error messages from system for graphics app; fix bugs.
|
|
|
|
example_app/
|
|
uc2_graphics.C
|
|
mac_build/
|
|
UpperCase2.xcodeproj/
|
|
project.pbxproj
|
|
|
|
Charlie 2 Sep 2007
|
|
- Mac: remove jpeg sources from worker app in example_app XCode project.
|
|
- example_app: put boinc_graphics_get_shmem in main graphics loop to
|
|
retry if worker application has not yet created shared memory.
|
|
|
|
example_app/
|
|
uc2_graphics.C
|
|
mac_build/
|
|
UpperCase2.xcodeproj/
|
|
project.pbxproj
|
|
|
|
Charlie 4 Sep 2007
|
|
- Mac: redirect stderr only on Development builds so as not to violate
|
|
sandbox security.
|
|
|
|
example_app/
|
|
uc2_graphics.C
|
|
mac_build/
|
|
UpperCase2.xcodeproj/
|
|
project.pbxproj
|
|
|
|
David 12 Sept 2007
|
|
- uppercase: fix crash in standalone mode
|
|
- wrapper: fix append mode in win_fopen()
|
|
|
|
uppercase/
|
|
uc_graphics.C
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 20 Sept 2007
|
|
- wrapper: fix append mode in win_fopen() (2nd try)
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
Charlie 25 Sep 2007
|
|
- example_app: Set backwards_compatible_graphics" flag.
|
|
- example_app: Port David's crash fix of 12 Sept into uc2_graphics.C.
|
|
|
|
example_app/
|
|
uc2.C
|
|
uc2_graphics.C
|
|
|
|
David 26 Sept 2007
|
|
- example_app: don't set above flag (it's set by default now)
|
|
|
|
example_app/
|
|
uc2.C
|
|
|
|
David 26 Sept 2007
|
|
- minor stuff
|
|
|
|
example_app
|
|
uc2.C
|
|
uc2_graphics.C
|
|
|
|
Charlie 27 Sep 2007
|
|
Mac: remove "-DAPP_GRAPHICS" from XCode project C flags to fix a
|
|
compiler warning now that it is defined in the source file.
|
|
|
|
mac_build/
|
|
UpperCase2.xcodeproj/
|
|
project.pbxproj
|
|
|
|
David 27 Nov 2007
|
|
- wrapper, Win: if GetProcessTimes() fails (which it does on Win 98/ME),
|
|
use wall CPU time as estimate of CPU time
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
Charlie 28 Nov 2007
|
|
Mac: Add x86_64_Deployment build configuration to XCode project for use
|
|
with V6 Clients running under OS 10.5 on 64-bit capable Intel Macs.
|
|
|
|
mac_build/
|
|
UpperCase2.xcodeproj/
|
|
project.pbxproj
|
|
|
|
David 6 Jan 2008
|
|
- small bug fix
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 28 Jan 2008
|
|
- example app: parse <max_frames_sec> and <max_gfx_cpu_pct>
|
|
from project-specific prefs. This gives the user a couple
|
|
of ways of limiting CPU usage for graphics.
|
|
- example app: define APP_GRAPHICS in project file, not source
|
|
|
|
example_app/
|
|
uc2.C
|
|
uc2_graphics.C
|
|
|
|
Charlie 19 Feb 2008
|
|
Mac: Restore "-DAPP_GRAPHICS" to XCode project C flags.
|
|
|
|
mac_build/
|
|
UpperCase2.xcodeproj/
|
|
project.pbxproj
|
|
|
|
Charlie 21 Feb 2008
|
|
Mac: Add an application icon to example_app graphics application.
|
|
|
|
example_app/
|
|
uc2_graphics.C
|
|
mac/
|
|
uc2_graphics.icns
|
|
app_icon.h
|
|
|
|
David 6 Mar 2008
|
|
- wrapper: if a child exits with nonzero status X,
|
|
call boinc_finish() with ERR_CHILD_FAILED rather than X.
|
|
If X is zero in the low-order byte
|
|
(e.g. if the program isn't executable)
|
|
the BOINC client will restart us, which isn't what we want.
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 6 Mar 2008
|
|
- wrapper (Win): suspend or resume all the threads in an app,
|
|
not just the initial one.
|
|
- wrapper: merge app_suspended and TASK::suspended variables
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 6 Mar 2008
|
|
- Wrapper (Mac): use elapse wall time as CPU time;
|
|
there's no easy way to get another process's CPU time in Mac OS X
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 9 Mar 2008
|
|
- wrapper: compile fixes for Mac
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
Charlie 11 Mar 2008
|
|
- UpperCase: delete XCode project for deprecated uppercase application.
|
|
|
|
mac_build/
|
|
UpperCase.xcodeproj/ (removed)
|
|
project.pbxproj (removed)
|
|
|
|
Rom 13 Mar 2008
|
|
- Uppercase: Initialize the diagnostics framework for graphics
|
|
application.
|
|
|
|
example_app/
|
|
uc2_graphics.C
|
|
|
|
David 14 Mar 2008
|
|
- added example multi-thread application
|
|
|
|
multi_thread/
|
|
Makefile
|
|
multi_thread.C
|
|
|
|
David 14 Mar 2008
|
|
- get multi_thread to work on Windows, and fix it up
|
|
|
|
multi_thread/
|
|
multi_thread.C
|
|
win_build/
|
|
multi_thread.vcproj (new)
|
|
samples.sln
|
|
|
|
David 17 Mar 2008
|
|
- multi_thread: default to 1 thread; print to stderr at end
|
|
|
|
multi_thread/
|
|
multi_thread.C
|
|
|
|
David 20 Mar 2008
|
|
- multi-thread: the Windows version was running unexpectedly fast.
|
|
It turned out that the VS2005 C++ compiler was noticing
|
|
that giga_flop() didn't use any inputs or globals,
|
|
so it was caching its value after the first run.
|
|
Very impressive!
|
|
|
|
multi_thread/
|
|
multi_thread.C
|
|
win_build/
|
|
multi_thread.vcproj
|
|
|
|
Charlie 25 Mar 2008
|
|
- example_app: Create Mac makefile and build script to demonstrate
|
|
building project applications for the Mac using makefiles.
|
|
|
|
example_app/
|
|
Makefile_mac (new)
|
|
MakeMacExample.sh (new)
|
|
|
|
Charlie 26 Mar 2008
|
|
- example_app: Update Mac makefile and build script, create second,
|
|
stand-alone makefile to demonstrate another way to build Mac
|
|
applications.
|
|
|
|
example_app/
|
|
Makefile_mac
|
|
Makefile_mac2 (new)
|
|
MakeMacExample.sh
|
|
|
|
David 27 Mar 2008
|
|
- multi_thread: maintain fraction done;
|
|
get nthreads from command line, not init file
|
|
|
|
multi_thread/
|
|
multi_thread.C
|
|
|
|
Charlie 28 Mar 2008
|
|
- example_app: Fixes to Mac build script.
|
|
|
|
example_app/
|
|
MakeMacExample.sh
|
|
|
|
David 28 Mar 2008
|
|
- multi_thread: suspend/resume didn't work in the Unix implementation.
|
|
REMINDER TO SELF: you can't suspend or resume pthreads - period.
|
|
So I changed things so that in the Unix implementation,
|
|
we fork a second process, in which the threads run.
|
|
The first process handles suspend/resume messages
|
|
by signaling the 2nd process.
|
|
The 2nd process generates system messages (frac done, CPU time)
|
|
|
|
multi_thread/
|
|
multi_thread.C
|
|
|
|
David 31 Mar 2008
|
|
- example graphics app: if no heartbeat, quit after 5 seconds
|
|
|
|
example_app/
|
|
uc2_graphics.C
|
|
|
|
|
|
Charlie 1 Apr 2008
|
|
- example_app: Remove -fvisibility* compiler flags from all 3 Mac build
|
|
methods.
|
|
|
|
example_app/
|
|
Makefile_mac2
|
|
MakeMacExample.sh
|
|
mac_build/
|
|
UpperCase2.xcodeproj/
|
|
project.pbxproj
|
|
|
|
Rom 8 May 2008
|
|
- Uc2 - Change the call to diagnostics_init to boinc_init_graphics_diagnostics
|
|
for the graphics application.
|
|
|
|
example_app/
|
|
uc2_graphics.C
|
|
|
|
Rom 8 May 2008
|
|
- Example_App - Rename Uc2 stuff to example_app stuff.
|
|
|
|
win_build/
|
|
<various Files>
|
|
|
|
David 8 May 2008
|
|
- uppercase: use binary output mode on Win,
|
|
otherwise results don't match.
|
|
- graphics app: call boinc_finish_diag() instead of diagnostics_finish()
|
|
(API calls should start with boinc_;
|
|
it would be nice it the init/finish names matched)
|
|
|
|
example_app/
|
|
uc2_graphics.C
|
|
uc2.C
|
|
|
|
David 14 May 2008
|
|
- uppercase: borrow CPU-burning routine from multithread
|
|
(won't be optimized out)
|
|
|
|
example_app/
|
|
uc2.C
|
|
|
|
David 16 May 2008
|
|
- wrapper: when run a job, write program name and cmdline to stderr
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 10 June 2008
|
|
- graphics: if no graphics app is running,
|
|
don't bother updating shmem
|
|
(not important in the example app,
|
|
but a useful technique if updating the shmem is expensive)
|
|
|
|
example_app/
|
|
uc2.C,h
|
|
uc2_graphics.C
|
|
|
|
David 17 June 2008
|
|
- wrapper: add two new features.
|
|
1) each task can include a <weight> (double, default=1).
|
|
The task's contribution to total fraction done is
|
|
proportional to the weight.
|
|
2) each task can include a <checkpoint_filename> (string)
|
|
This names a checkpoint file used by the app.
|
|
If its mod time changes, we'll assume a checkpoint
|
|
has been done and notify the client.
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 18 June 2008
|
|
- change name of exit code
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 18 June 2008
|
|
- wrapper: replace $PROJECT_DIR with project dir in task command lines
|
|
- wrapper: if program name starts with $PROJECT_DIR,
|
|
substitute with project dir and treat as physical name
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 18 June 2008
|
|
- wrapper: Win: change slashes to backslashes in executable path
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 19 June 2008
|
|
- wrapper, Win: put quotes around program name in command-line arg
|
|
to CreateProcess() (in case it contains spaces)
|
|
- wrapper: close files
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 26 June 2008
|
|
- wrapper: added --graphics cmdline arg.
|
|
Use this if your app has a graphics app.
|
|
|
|
wrapper/
|
|
wrapper.C
|
|
|
|
David 27 July 2009
|
|
- example app: fix a bug in June 10 checkin.
|
|
If we don't update the update_time field,
|
|
the graphics app will immediately exit.
|
|
|
|
example_app/
|
|
uc2.C
|
|
uc2_graphics.C
|
|
|
|
Charlie 11 Feb 2009
|
|
- Mac Samples: adjust XCode project for current source file names
|
|
(*.cpp instead of *.C).
|
|
|
|
samples/
|
|
mac_build/
|
|
UpperCase2.xcodeproj
|