Message boards :
Number crunching :
"BOINC portable" for Windows hosts
Message board moderation
Author | Message |
---|---|
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
There are cases when possibility to run BOINC exists but full BOINC installation undesirable. So, some portable BOINC version would be very desirable. It can be BOINC commandline client or GUI one but w/o registry pollution. What problems I encounter if I just copy BOINC directories on flash drive and run it via cmd file (to specify needed folders): 1) BOINC did not recognize GPUs (iGPU/NV). It did after usual install on that PC. 2) BOINC GUI manager did not able to connect to BOINC client (daemon). Again, after full innstall this issue disappeared (obviously). Any ideas, pease? And, for PCs with processing power but w/o direct Internet connection (yes, there are some still ;) ) would be good to devise some offline task distribution solution to do net exchange only from single PC but process on many. SETI apps news We're not gonna fight them. We're gonna transcend them. |
Darrell Send message Joined: 14 Mar 03 Posts: 267 Credit: 1,418,681 RAC: 0 |
Registry pollution? In Windows 7 you get two sets of Space Services Laboratory, UC Berkeley keys. The one in HKLM\Software tells the client what it needs to know about its installation, and the other in HKCU\Software that tells the manager and screensaver what they need to know. "Pollution" is a term that doesn't fit here, as the keys are no more than what any other Windows application would set up.
Due to the cheating in Classic Seti this mechanism allowed, Dr. Anderson refused any and all requests to implement it in Boinc from the early days of Boinc Beta, and as far as I know still does. ... and still I fear, and still I dare not laugh at the Mad Man! Queen - The Prophet's Song |
Sebastian Brack Send message Joined: 22 Aug 99 Posts: 9 Credit: 11,186,556 RAC: 16 |
A portable version with selectable options for CPU properties. 32Bit / 64Bit, AMD / INTEL and instruction set SSE (x) to AVX. Based on these selection criteria, the download of the corresponding packages is started. The prerequisite is, of course, that you also know the CPU, which should be used. I think, however, who wants to use this, also knows its CPUs. In the beginning, a limited downloadability of packages might be useful. |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
I don't think I have used the installer to put BOINC on a PC in 8 or 9 years. If there are no registry entries telling BOINC where to put data. Then it will use the directory from where it was launched. At my previous workplace I had a few machines that were on isolated networks without internet access. So I used sneakernet to get them work. 1. Connect flash drive for offline host. 2. Copy program files to flash drive. Something like E:\BOINC\ 3. Stop BOINC client running on online host. 4. Start BOINC client from flash drive on online host. 5. Set BOINC to suspend processing 6. Connect to project(s). 7. Upgrade projects until desired cache level reached. 8. Stop BOINC client running on flash drive. 9. Connect flash drive to offline host. 10. Start BOINC client on online host. 12. Start BOINC client from flash drive on offline host. 13. Set BOINC to resume processing. I have not had a problem with BOINC detecting GPUs when started this way. I would use an online host that had the same type of GPU as the offline host. So they would fetch the correct work & I would not have to reschedule tasks. Initially I rescheduled tasks for offline hosts with GPUs, but the introduction of task limits made that not as feasible. Also this process could be modified so that you are running multiple instances of BOINC on the online host to send/fetch tasks, but I found it easier to just stop the running instance. As some previous versions of BOINC did not handle running multiple instances very well. Because the path for USB drives sometimes changes I start BOINC with a .bat file like this. So I don't have to know the driver letter before hand. pushd %~dp0 boinc.exe --skip_cpu_benchmarks --detach start boincmgr.exe /s You could add the command for --dir %~d0\BOINCData if you wanted BOINC place data in a directory other than from BOINC is launched. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
Darrell Send message Joined: 14 Mar 03 Posts: 267 Credit: 1,418,681 RAC: 0 |
A Google searched revealed this portable version: https://portableapps.com/node/17295 |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
Pollution == any recording in registry that remains after directories deletion. So yes, pollution cause requires uninstall. "Portable" doesn't write in registry - that's the key.
That's not the scope of this thread. I dont' propose changing BOINC codebase in any way. I propose to develop way to effectively use existing BOINC in portable manner. SETI apps news We're not gonna fight them. We're gonna transcend them. |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
Thanks for detailed instruction. I did just the same (but used relative path ..\BOINCdata to get to data directory ). But encountered those issues i described in the first post. Will try to reproduce yours exactly. And how you handle same tasks cranching on "online" and "offline" hosts? Or "online" BOINc setup used only for fetching in this case (I tried to duplicte working BOINc from netbook so it had some duplicated tasks in cache after duplication). SETI apps news We're not gonna fight them. We're gonna transcend them. |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
A Google searched revealed this portable version: https://portableapps.com/node/17295 Thanks I'll take a look. Though looking on post data I'm afraid that version lack of GPU support. SETI apps news We're not gonna fight them. We're gonna transcend them. |
wykinger Send message Joined: 6 Jan 17 Posts: 67 Credit: 8,068,825 RAC: 0 |
why dont you simply make a portable windows stick and add boinc to its programms ? http://lifehacker.com/how-to-run-a-portable-version-of-windows-from-a-usb-dri-1565509124 |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
why dont you simply make a portable windows stick and add boinc to its programms ? Because PC should be used for what it was bought, not only for BOINC. And OS already installed and it's Windows. So - no bootable flash drives, only portable BOINC. SETI apps news We're not gonna fight them. We're gonna transcend them. |
Darrell Send message Joined: 14 Mar 03 Posts: 267 Credit: 1,418,681 RAC: 0 |
On the offline boinc, did you try adding the --detectgpus flag when starting the client? |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
On the offline boinc, did you try adding the --detectgpus flag when starting the client? Not so far, thanks, will try. SETI apps news We're not gonna fight them. We're gonna transcend them. |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
Thanks for detailed instruction. Online and offline hosts are completely different data directories. Online host would be D:\BOINC with data in D:\BOINCdata. Then for flash drives from offline hosts would be E:\BOINC with data in E:\BOINCdata, or whatever drive letter the flash drive is mounted. So there is no shared or duplicate data. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
I see, you don't copy data directory at all. But then you would need to to do item 6 - connect to projects again and again. Keeping in mind that there are many PCs to handle it will be time-consuming. I did copy both program _and_ data folders. That's why duplicates arise. Can issues I encountered come from that too? EDIT: To handle N PCs I would need smth like this on flash drive: E:\BOINC E:\BOINCdata01 E:\BOINCdata02 .... E:\BOINCdataN As I understand initial project attach will be required only on first directory structure creation... but N times. I would like to optimize this initial overhead too. EDIT2: also, there should be some gather/scatter script too cause obviously I need local copy on PC while it crunch... Smth like: Scatter: Copy E:\BOINC to C: Move E:\BOINCdata_i_ to C:\BOINCdata (where _i_ should be determined automatically based on existing directory structure) Launch BOINC from local drive Gather: Stop BOINC on local driver Delete C:\BOINC move C:\BOINCdata to E:\BOINCdata_j_ In general case _i_ != _j_ that's not good if PCs not identical. So additionally I need to ensure some persistence in data directories distribution over set of N hosts... SETI apps news We're not gonna fight them. We're gonna transcend them. |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
You could use --allow_multiple_clients and--gui_rpc_port to start multiple instances of BOINC and do them all at once. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
On the offline boinc, did you try adding the --detectgpus flag when starting the client? Such flag undefined for boinc client I use (7.6.33 x64) SETI apps news We're not gonna fight them. We're gonna transcend them. |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
Characterised issue with GPU detection little more: http://boinc.berkeley.edu/dev/forum_thread.php?id=11690 So, in my case "command-line BOINC" doesn't see GPU, "GUI BOINC" - does. It's weird cause my own GPU apps built for console subsystem and detect GPUs just OK.... (I tried to copy BOINC dirs and bring them to similar PC - no luck, then I tried on original one that surely uses GPUs with GUI manager... - same issue. BOINC.exe being started from command prompt doesn't detect GPUs) SETI apps news We're not gonna fight them. We're gonna transcend them. |
BilBg Send message Joined: 27 May 07 Posts: 3720 Credit: 9,385,827 RAC: 0 |
BOINC.exe being started from command prompt doesn't detect GPUs Try from elevated (admin) command prompt? Â - ALF - "Find out what you don't do well ..... then don't do it!" :) Â |
Darrell Send message Joined: 14 Mar 03 Posts: 267 Credit: 1,418,681 RAC: 0 |
On the offline boinc, did you try adding the --detectgpus flag when starting the client? Sorry, the correct flag is: --detect_gpus |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
BOINC.exe being started from command prompt doesn't detect GPUs I can try just to rule that out but elevated privilegies not quite suitable for portable version in general. SETI apps news We're not gonna fight them. We're gonna transcend them. |
©2024 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.