Message boards :
Number crunching :
"BOINC portable" for Windows hosts
Message board moderation
Previous · 1 · 2 · 3 · 4 · 5 · Next
Author | Message |
---|---|
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? there is no such flags. Where you found it? 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 |
Hmm, apparently it is a flag that someone missed documenting in the Wiki. It is found in two files of the Boinc client source: Main.cpp lines 412 and 430 Gpu_detect.cpp line 623 From what I have been able to follow, it causes release versions of the client to generate the coproc_info.xml file which is used by the client and MooWrapper. I think in your case where you don't want anything to be stored in the registry, it should cause the client to generate the coproc_info.xml and use the information stored in it to set the gpu information in the client-state file which the client uses for generating the rpcs requests to the server for work. |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
Maybe it's available only in very recent versions? From what version? More new one: C:\Program Files\BOINC>boinc.exe --version 7.6.9 windows_x86_64 C:\Program Files\BOINC>boinc.exe --dir E:\BOINCdata\ --detect_gpus That is, just immediately exits. W/o running daemon 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 |
Looking the: int main(int argc, char** argv) { function, that is what it is supposed to do. Detect the GPUs, write their properties to the coproc_info.xml file and then exit. Apparently, you are then supposed restart with the other flags you want to use minus the --detect_gpus flag. Understand, that I have not tried using the command line options, so tracing what the code does takes a little while. |
Juha Send message Joined: 7 Mar 04 Posts: 388 Credit: 1,857,738 RAC: 0 |
GPU detection in BOINC works by the client launching a copy of itself to detect GPUs. The copy will have --detect_gpus in its command line. The copy will detect GPUs and write results to coproc_info.xml. Once the copy has exited the main process goes and reads the results from coproc_info.xml. The detection is done on a separate process so that the main process never uses GPU directly. At some point there were laptops where system kept discrete GPU powered as long as the process that had touched the GPU was still running, even if the laptop was running on batteries and no computing was going on. This scheme also limits any driver bugs to crash only the copy. |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
That all make a sense now, thanks for explanation. But still it doesn't explain why I had issues with GPU detection on original host. If BOINC detect GPU in separate process then by the time of launching boinc.exe from command line it should have coproc_info.xml formed already. Cause that host crunched more than week with GPUs OK (under BOINC manager launched daemon). Still it didn't detect GPU. Moreover, I did switch manager/command line few times - always under manager-launched client GPU tasks worked, under command line-launched client - didn't. But I didn't launch boinc.exe with --detect_gpus on that host. But, if BOINC manager-launched client detects GPUs OK shouldn't it form coproc_info.xml ?? 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 |
I can't find (there is no) coproc_info on my computer (in fact no file with coproc in the name) BOINC 6.10.58 is running now on: https://setiathome.berkeley.edu/show_host_detail.php?hostid=4832843 I used SwiftSearch which "Searches NTFS volumes almost instantly" (with the speed of Google) I have 9 partitions on 3 HDDs (7 of them NTFS) There is no install, only small exe you run: https://sourceforge.net/projects/swiftsearch/ Â - ALF - "Find out what you don't do well ..... then don't do it!" :) Â |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
whose purpose is to help you quickly find the files you need on your Windows machine without ever requiring you to index your drives Given that embedded windows indexer slows down OS to such degree that really need to bother to disable it on each PC one really uses interactively, it's just another excellent piece of software found by you to add to collection. Thanks! EDIT: BTW, if their claims are true it has another big implication. Hardly Windows OS routines SO worse than Unix ones. Still bypassing them in disk interations gives orders of magnitude speedup. And now recall David's attempts to use OS routines (!) for searching through SETI DB results and structures.... Surprise-surprise... 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 |
And back on topic: I can't find (there is no) coproc_info on my computer (in fact no file with coproc in the name) So, you wanna say that usual setup with BOINC manager involved doesn't create tht file? This would fully explain my results indeed, but why such design decision??? 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 |
Yes, it is "usual setup with BOINC manager" (boinc.exe is started by boincmgr.exe) I don't know if coproc_info.xml is created (it may be created and then deleted?) - I didn't tested. I just put coproc in SwiftSearch and no filename is found. (by the way SwiftSearch searches in RAM the pre-loaded $MFT files. So if you created new files (and want they to be found) use F5 in SwiftSearch to read again $MFT or restart SwiftSearch If files are on FAT32 (usual e.g. for Flash drives) - remember to use "conventional" methods to find them. ) I don't know if the same mechanism (second boinc.exe that detects GPU) is used on old BOINC 6.10.58 Searching for string <engineClock> in all files in BOINC Data directory (by Total Commander) finds info about GPU only in sched_request_*.xml and init_data.xml files (which are sorta Tmp files so seems BOINC keeps this info only in memory): <coproc_ati> <count>1</count> <name>ATI Radeon HD 6570 (NI TURKS) {ASUS EAH6570/DI/1GD3(LP)}</name> <req_secs>57903.757778</req_secs> <req_instances>0.000000</req_instances> <estimated_delay>0.000000</estimated_delay> <target>18</target> <localRAM>1024</localRAM> <uncachedRemoteRAM>128</uncachedRemoteRAM> <cachedRemoteRAM>64</cachedRemoteRAM> <engineClock>800</engineClock> <memoryClock>1050</memoryClock> <wavefrontSize>64</wavefrontSize> <numberOfSIMD>6</numberOfSIMD> <doublePrecision>0</doublePrecision> <pitch_alignment>256</pitch_alignment> <surface_alignment>256</surface_alignment> <maxResource1DWidth>16384</maxResource1DWidth> <maxResource2DWidth>16384</maxResource2DWidth> <maxResource2DHeight>16384</maxResource2DHeight> <CALVersion>1.4.1646</CALVersion> <atirt_detected/> </coproc_ati> Note: the <name> tag is hard-patched by me in boinc.exe (was "ATI unknown") You can try ProcessActivityView to find what boinc.exe do at startup (Ctrl+N in it to start boinc.exe with parameters) http://www.nirsoft.net/utils/process_activity_view.html  - 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 |
That all make a sense now, thanks for explanation. No. The file is not generated everytime, or maybe it is and it's erased (A comment in gpu_detect.cpp says the info is written to a temp file, which I took to be coproc_info.xml). As I had mentioned over in my RX480 thread, I had found where the coproc_info.xml was written, but hadn't and still haven't determined the exact conditions under which this file is generated. Tracing the code takes awhile, because multiple factors affect which path the code is going to take. Factors like, OS running under, which GPU type, which cc_config flags set, debug or release version, static or dynamic library, etc. Was hoping that using --detect_gpus might give you a possible solution you were hoping to get, that of running Boinc without registry entries. If it could be done easily, it would have been done by now. |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
And back on topic: It looks like coproc_info.xml was added sometime around v7.2.42. I just did a quick check using 6.12.43, 7.0.42, 7.2.42, 7.4.42, and 7.6.33. I used my Celeron J1900 system and started BOINC with this .bat file: Note: I do have UAC set to its lowest value. So I don't get prompted for elevated rights. As it interferes with some of the duties the machines normally does. pushd %~dp0 boinc.exe --detach timeout 90 boinccmd --quit Each version I checked the GTX 750 ti was detected and the iGPU was detected in v7.0.42 and higher. In the event that it is useful in any way. Here is the output from stdoutdae.txt in each version. 01-Jul-2017 09:32:11 [---] Starting BOINC client version 6.12.43 for windows_x86_64 01-Jul-2017 09:32:11 [---] log flags: file_xfer, sched_ops, task 01-Jul-2017 09:32:11 [---] Libraries: libcurl/7.21.6 OpenSSL/1.0.0d zlib/1.2.5 01-Jul-2017 09:32:11 [---] Data directory: D:\Boinc.6.12.43 01-Jul-2017 09:32:11 [---] Processor: 4 GenuineIntel Intel(R) Celeron(R) CPU J1900 @ 1.99GHz [Family 6 Model 55 Stepping 3] 01-Jul-2017 09:32:11 [---] Processor: 1.00 MB cache 01-Jul-2017 09:32:11 [---] OS: Microsoft Windows 7: Ultimate x64 Edition, Service Pack 1, (06.01.7601.00) 01-Jul-2017 09:32:11 [---] Memory: 3.71 GB physical, 7.42 GB virtual 01-Jul-2017 09:32:11 [---] Disk: 198.09 GB total, 187.91 GB free 01-Jul-2017 09:32:11 [---] Local time is UTC -4 hours 01-Jul-2017 09:32:11 [---] NVIDIA GPU 0: GeForce GTX 750 Ti (driver version unknown, CUDA version 8000, compute capability 5.0, 2048MB, 406 GFLOPS peak) 01-Jul-2017 09:32:11 [---] No general preferences found - using BOINC defaults Initialization completed 01-Jul-2017 09:33:41 [---] Exit requested by user 01-Jul-2017 09:28:56 [---] No config file found - using defaults 01-Jul-2017 09:28:56 [---] Starting BOINC client version 7.0.42 for windows_x86_64 01-Jul-2017 09:28:56 [---] log flags: file_xfer, sched_ops, task 01-Jul-2017 09:28:56 [---] Libraries: libcurl/7.25.0 OpenSSL/1.0.1 zlib/1.2.6 01-Jul-2017 09:28:56 [---] Data directory: D:\Boinc.7.0.42 01-Jul-2017 09:28:56 [---] Processor: 4 GenuineIntel Intel(R) Celeron(R) CPU J1900 @ 1.99GHz [Family 6 Model 55 Stepping 3] 01-Jul-2017 09:28:56 [---] Processor: 1.00 MB cache 01-Jul-2017 09:28:56 [---] OS: Microsoft Windows 7: Ultimate x64 Edition, Service Pack 1, (06.01.7601.00) 01-Jul-2017 09:28:56 [---] Memory: 3.71 GB physical, 7.42 GB virtual 01-Jul-2017 09:28:56 [---] Disk: 198.09 GB total, 187.87 GB free 01-Jul-2017 09:28:56 [---] Local time is UTC -4 hours 01-Jul-2017 09:28:56 [---] CUDA: NVIDIA GPU 0: GeForce GTX 750 Ti (driver version 364.51, CUDA version 8.0, compute capability 5.0, 2048MB, 1967MB available, 2434 GFLOPS peak) 01-Jul-2017 09:28:56 [---] OpenCL: NVIDIA GPU 0: GeForce GTX 750 Ti (driver version 364.51, device version OpenCL 1.2 CUDA, 2048MB, 1967MB available, 2434 GFLOPS peak) 01-Jul-2017 09:28:56 [---] OpenCL: intel_gpu GPU 0: Intel(R) HD Graphics (driver version 10.18.10.4358, device version OpenCL 1.2, 1195MB, 1195MB available, 358 GFLOPS peak) 01-Jul-2017 09:28:56 [---] No general preferences found - using defaults Initialization completed 01-Jul-2017 09:30:26 [---] Exit requested by user 01-Jul-2017 09:15:38 [---] cc_config.xml not found - using defaults 01-Jul-2017 09:15:38 [---] Starting BOINC client version 7.2.42 for windows_x86_64 01-Jul-2017 09:15:38 [---] log flags: file_xfer, sched_ops, task 01-Jul-2017 09:15:38 [---] Libraries: libcurl/7.25.0 OpenSSL/1.0.1 zlib/1.2.6 01-Jul-2017 09:15:38 [---] Data directory: D:\Boinc.7.2.42 01-Jul-2017 09:15:38 [---] CUDA: NVIDIA GPU 0: GeForce GTX 750 Ti (driver version 364.51, CUDA version 8.0, compute capability 5.0, 2048MB, 1967MB available, 2434 GFLOPS peak) 01-Jul-2017 09:15:38 [---] OpenCL: NVIDIA GPU 0: GeForce GTX 750 Ti (driver version 364.51, device version OpenCL 1.2 CUDA, 2048MB, 1967MB available, 2434 GFLOPS peak) 01-Jul-2017 09:15:38 [---] OpenCL: Intel GPU 0: Intel(R) HD Graphics (driver version 10.18.10.4358, device version OpenCL 1.2, 1195MB, 1195MB available, 358 GFLOPS peak) 01-Jul-2017 09:15:38 [---] OpenCL CPU: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz (OpenCL driver vendor: Intel(R) Corporation, driver version 3.0.1.10891, device version OpenCL 1.2 (Build 76427)) 01-Jul-2017 09:15:38 [---] Creating new client state file 01-Jul-2017 09:15:38 [---] Host name: SIMIII 01-Jul-2017 09:15:38 [---] Processor: 4 GenuineIntel Intel(R) Celeron(R) CPU J1900 @ 1.99GHz 01-Jul-2017 09:15:38 [---] OS: Microsoft Windows 7: Ultimate x64 Edition, Service Pack 1, (06.01.7601.00) 01-Jul-2017 09:15:38 [---] Memory: 3.71 GB physical, 7.42 GB virtual 01-Jul-2017 09:15:38 [---] Disk: 198.09 GB total, 187.90 GB free 01-Jul-2017 09:15:38 [---] Local time is UTC -4 hours 01-Jul-2017 09:15:38 [---] No general preferences found - using defaults 01-Jul-2017 09:17:08 [---] Exit requested by user 01-Jul-2017 09:17:34 [---] cc_config.xml not found - using defaults 01-Jul-2017 09:17:34 [---] Starting BOINC client version 7.4.42 for windows_x86_64 01-Jul-2017 09:17:34 [---] log flags: file_xfer, sched_ops, task 01-Jul-2017 09:17:34 [---] Libraries: libcurl/7.39.0 OpenSSL/1.0.1j zlib/1.2.8 01-Jul-2017 09:17:34 [---] Data directory: D:\Boinc.7.4.42 01-Jul-2017 09:17:34 [---] CUDA: NVIDIA GPU 0: GeForce GTX 750 Ti (driver version 364.51, CUDA version 8.0, compute capability 5.0, 2048MB, 1967MB available, 1622 GFLOPS peak) 01-Jul-2017 09:17:34 [---] OpenCL: NVIDIA GPU 0: GeForce GTX 750 Ti (driver version 364.51, device version OpenCL 1.2 CUDA, 2048MB, 1967MB available, 1622 GFLOPS peak) 01-Jul-2017 09:17:34 [---] OpenCL: Intel GPU 0: Intel(R) HD Graphics (driver version 10.18.10.4358, device version OpenCL 1.2, 1195MB, 1195MB available, 358 GFLOPS peak) 01-Jul-2017 09:17:34 [---] OpenCL CPU: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz (OpenCL driver vendor: Intel(R) Corporation, driver version 3.0.1.10891, device version OpenCL 1.2 (Build 76427)) 01-Jul-2017 09:17:34 [---] Creating new client state file 01-Jul-2017 09:17:34 [---] Host name: SIMIII 01-Jul-2017 09:17:34 [---] Processor: 4 GenuineIntel Intel(R) Celeron(R) CPU J1900 @ 1.99GHz 01-Jul-2017 09:17:34 [---] OS: Microsoft Windows 7: Ultimate x64 Edition, Service Pack 1, (06.01.7601.00) 01-Jul-2017 09:17:34 [---] Memory: 3.71 GB physical, 7.42 GB virtual 01-Jul-2017 09:17:34 [---] Disk: 198.09 GB total, 187.89 GB free 01-Jul-2017 09:17:34 [---] Local time is UTC -4 hours 01-Jul-2017 09:17:34 [---] No general preferences found - using defaults 01-Jul-2017 09:19:04 [---] Exiting 01-Jul-2017 09:20:50 [---] cc_config.xml not found - using defaults 01-Jul-2017 09:20:50 [---] Starting BOINC client version 7.6.33 for windows_x86_64 01-Jul-2017 09:20:50 [---] log flags: file_xfer, sched_ops, task 01-Jul-2017 09:20:50 [---] Libraries: libcurl/7.47.1 OpenSSL/1.0.2g zlib/1.2.8 01-Jul-2017 09:20:50 [---] Data directory: D:\Boinc.7.6.33 01-Jul-2017 09:20:51 [---] CUDA: NVIDIA GPU 0: GeForce GTX 750 Ti (driver version 364.51, CUDA version 8.0, compute capability 5.0, 2048MB, 1967MB available, 1622 GFLOPS peak) 01-Jul-2017 09:20:51 [---] OpenCL: NVIDIA GPU 0: GeForce GTX 750 Ti (driver version 364.51, device version OpenCL 1.2 CUDA, 2048MB, 1967MB available, 1622 GFLOPS peak) 01-Jul-2017 09:20:51 [---] OpenCL: Intel GPU 0: Intel(R) HD Graphics (driver version 10.18.10.4358, device version OpenCL 1.2, 1195MB, 1195MB available, 358 GFLOPS peak) 01-Jul-2017 09:20:51 [---] OpenCL CPU: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz (OpenCL driver vendor: Intel(R) Corporation, driver version 3.0.1.10891, device version OpenCL 1.2 (Build 76427)) 01-Jul-2017 09:20:51 [---] Creating new client state file 01-Jul-2017 09:20:51 [---] Host name: SIMIII 01-Jul-2017 09:20:51 [---] Processor: 4 GenuineIntel Intel(R) Celeron(R) CPU J1900 @ 1.99GHz 01-Jul-2017 09:20:51 [---] OS: Microsoft Windows 7: Ultimate x64 Edition, Service Pack 1, (06.01.7601.00) 01-Jul-2017 09:20:51 [---] Memory: 3.71 GB physical, 7.42 GB virtual 01-Jul-2017 09:20:51 [---] Disk: 198.09 GB total, 187.89 GB free 01-Jul-2017 09:20:51 [---] Local time is UTC -4 hours 01-Jul-2017 09:20:56 [---] No general preferences found - using defaults 01-Jul-2017 09:22:20 [---] Exiting SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
BilBg Send message Joined: 27 May 07 Posts: 3720 Credit: 9,385,827 RAC: 0 |
Addition: Strings coproc_info and detect_gpus are not found in "my" BOINC 6.10.58 i.e. search for them as ANSI, Unicode or UTF8 in all files in BOINC Program (install) directory do not find them in any file. But e.g. run_cpu_benchmarks is found in boinc.exe as ANSI and around it is block of ~20 other switches: --version -version ....... --abort_jobs_on_exit -abort_jobs_on_exit (every switch is listed 2 times with -- and -) String client_state_prev is also found so any switch or filename is in clear text in boinc.exe (Some are generic like sched_request_) Â - ALF - "Find out what you don't do well ..... then don't do it!" :) Â |
BilBg Send message Joined: 27 May 07 Posts: 3720 Credit: 9,385,827 RAC: 0 |
Data directory: D:\Boinc.6.12.43 How did you made every BOINC version to use different BOINC Data directory? Did you edit the Registry? Or boinc.exe is in the BOINC Data directory? i.e. : boinc.exe v6.12.43 is in D:\Boinc.6.12.43 boinc.exe v7.6.33 is in D:\Boinc.7.6.33 And Registry do not have any BOINC info? Â - 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 |
That information is pulled from the CAL and it, along with the OpenCL info are stored in memory and also Boinc's paper brain the client_state.xml file. Unfortunately, when AMD said they were going with OpenCl instead of CAL, the Boinc developers gave up on keeping the CAL updated. But from reading the AMD APP SDK 3.0 documentation, I suspect that the OpenCL still makes some use of the CAL code, otherwise there would be no reason for AMD to keep including the CAL files part of the latest drivers. |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
Data directory: D:\Boinc.6.12.43 As I mentioned previously in this post. BOINC will use the folder it is in when launching if there are no registry entries. You can add the --dir command when starting boinc.exe if you wish to use a specific folder. Each folder contains all BOINC files. So I stop the copy of BOINC that runs my projects in D:\BOINC\. Then start BOINC from the version folder. Once I get the info I need I stop it and go to the next version. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
The BOINC devs were updating the entries for the CAL GPUs up to the Rx 200 series. Then implemented OpenCL detection, v7.6.23+, if CAL is not present. Which pulls the "Board name:" value from the clinfo. I've been curious as to why the cal files were still included in the latest drives myself. I've been temped to remove the them to see what happens with my HD6870 and R9 390x, but haven't gotten around to it yet. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
Juha Send message Joined: 7 Mar 04 Posts: 388 Credit: 1,857,738 RAC: 0 |
To get the GPU detection working when launching the client from command line it is necessary to use the proper file name of the client "boinc.exe", including path if not in current directory. I didn't bother to check but the file name you use on the command line is probably copied to argv[0] as is and argv[0] is then copied to CreateProcess() as is. CreateProcess() wants the real file name, not something the shell might accept. |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
Thanks all participants of this thread. I'm glad that this topic seemed interesting enough. I'll continue experiments on another host soon. 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 |
To get the GPU detection working when launching the client from command line it is necessary to use the proper file name of the client "boinc.exe", including path if not in current directory. I wonder if that is something I accidentally discovered previously, and forgot, or if I was following normal "DOS logic" to make sure everything would work correctly. My normal BOINC startup .bat file: pushd %~dp0 boinc.exe --detach Result: GPUs detected, data folder the same as boinc.exe A BOINC startup .bat w/o specifying extension for boinc.exe pushd %~dp0 boinc --detach Result: No GPUs detected, data folder the same as boinc.exe Command line starts with and without the extension for boinc.exe D:\Temp>D:\Boinc.7.6.33\boinc.exe --detach Result: GPUs detected, data folder is D:\Temp D:\Temp>D:\Boinc.7.6.33\boinc --detach Result: No GPUs detected, data folder is D:\Temp SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
©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.