[[PageOutline]] = Hackfest = The 2nd day of the BOINC workshop will be a "hackfest", in which we divide into groups and get something useful done. Possible activities include: * design something * write code * get existing software to work * write or improve documentation. Each group will have a coordinator, who will define the goals and prepare resources. '''Workshop attendees: please register for one or more hackfest groups by editing this page. If you don't see a group that interests you, create one.''' If you don't participate in a group, you'll have nothing to do on the 2nd day of the workshop.''''''''''' == Possible Hackfest groups == Here are some possible groups. I have filled in names of possible coordinators; this is completely flexible. === Multi-user projects: Interface === Goals: * Use BOINC's new features for remote job submission and multi-user projects. * Discuss the design of these features; compare with analogous system, both BOINC- and Grid-based. Improve and extend the design. * Implement and document some of the improved design. Coordinator: David Anderson Participants: * David Coss * Evgeny Ivashko * Natalia Nikitina * Alejandro Rivero * Francisco Sanz * Dario Ferrer * Fubica * Oscar Díaz * Pablo Fonseca * Christian Benjamin Ries Advance preparation: * Research analogous existing systems * Test-drive BOINX's remote job submission system: http://isaac.ssl.berkeley.edu/test/submit_example.php (log in as guest@nowhere.com, password "guest"). * Read the documentation: RemoteJobs and PortalFeatures * Review the source code: * http://boinc.berkeley.edu/trac/browser/trunk/boinc/html/inc/submit.inc * http://boinc.berkeley.edu/trac/browser/trunk/boinc/html/user/submit.php * http://boinc.berkeley.edu/trac/browser/trunk/boinc/html/user/submit_example.php [MultiUser Notes on the proceedings]. === Multi-user projects: Scheduling === Goals: * Review and discuss BOINC's new proposed features for user quotas and batch scheduling * Compare these features with those of analogous Grid-based systems * Design an implementation of these features * Implement some part of this Advance preparation: * Read the design doc: http://boinc.berkeley.edu/trac/wiki/PortalFeatures Coordinator: David Anderson? Kevin Reed? Participants: * Arnaud Legrand * Derrick Kondo === BOINC on Ubuntu === Goal: bring the BOINC client for Ubuntu up to the same standard as the Windows and Mac versions. In particular: * One-click installation * Client start at boot time * Screensaver * User activity detection Coordinator: Steffen Moeller? Participants: === VM apps === Goal: Create a "cookbook" for deploying virtual machine apps. Coordinator: Rom Walton? Participants: * Steffen Moeller * Jesse Kaukonen === OpenCL apps === Goal: Create a "cookbook" for deploying OpenCL apps. Coordinator: Oliver Bock Participants: * David Coss * Heinz-Bernd Eggenstein * Christian Benjamin Ries Results:[[BR]] * Working code samples for [http://boinc.berkeley.edu/trac/browser/trunk/boinc/samples/nvopencl NVIDIA] and [http://boinc.berkeley.edu/trac/browser/trunk/boinc/samples/atiopencl AMD] can be found in the BOINC source tree under /src * The samples should probably be unified/consolidated (kernels might differ for NVIDIA and AMD of course) * We tested both samples on AMD and NVIDIA GPUs respectively - success * There's a [http://boinc.berkeley.edu/trac/wiki/GPUApp#BuildingBOINCapplicationswithCudaandOpenCL wiki page] describing how to build the samples on Windows, Linux and Mac OS * Missing in the current client * Enumerate all OpenCL platforms/devices, keep them in a list (array) * Pass the list IDs of the platform/device to be used by the science app (as an integer) * Provide two API calls: taking the list ID, returning the cl_platform_id and the cl_device_id (opaque complex types, required by science app to create OpenCL context) * Make sure OpenCL and CUDA as well as OpenCL and CAL apps don't collide (use the same resource/GPU) * Make sure multi-vendor GPU setups (single host system) are supported (does apply to Mac OS, probably to also to Windows 7. Linux doesn't support drivers from different vendors, correct?) * There are a number of lessons learned available at Einstein@Home with respect to AMD and NVIDIA driver issues related to OpenCL. We could add those to the BOINC wiki. === BOINC on Android === Goals: * Learn how to set up a development environment for Android * Complete the design of the BOINC client for Android; implement some part of it * Create a cookbook for developing an app version for ARM/Android. Coordinator: Participants: * Peter Hanappe * Michael Tarantino [Hi, Carl Christensen here - this is an area I am currently working on i.e. porting BOINC to Android via the NDK, and writing a BOINC Android (Java) GUI to communicate with the libraries via JNI. Unfortunately could not make it to the BOINC Workshop. If anyone is interested or has anything to report or share or suggestions please email me at carlgt1 at yahoo.com ] === Attic === (Attic is a peer-to-peer file distribution system designed for volunteer computing systems). Goals: * Complete the design of BOINC support for Attic. * Creating a working demo of a project that uses Attic * Document this in cookbook form Coordinator: Ian Kelley? Participants: === PHP hack session / website improvement === Goals: * Find a new design/usage concept for the general webpages * develop 1 or 2 alternative web site "themes" using CSS stylesheets and header/footer functions * Discuss tools to document/visualize php source code (present/discuss/find tools everyone can use) * Collect ideas to design an API to plug other websites into the BOINC framework (or vice versa) * general bug hunting and code hardening Coordinator: Christian Beer Participants: * Erwan Keribin === Volunteer storage === Goals: * Review and discuss [wiki:VolunteerStorage BOINC's new distributed storage architecture] * develop a simple storage application Coordinator: David Anderson Participants * Neil Massey * Andy Bowery [http://boinc.berkeley.edu/trac/wiki/WorkShop11 Back to the main page for this event] (with capital S)