GPU BOINC Projects Configurations

  • Thread starter Deleted member 88227
  • Start date
D

Deleted member 88227

Guest
This is how you trick BOINC into thinking you have more GPUs than you actually do. Got this from a member who wishes to be anonymous from another team.

Go to your Boinc's folder and find the file coproc.xml. Open it with a text editor and find this section
Code:
<ati_opencl>
     .............................
    ....blah...blah ...blah

      <device_num>0</device_num>
      <peak_flops>4096000000000.000000</peak_flops>
      <opencl_available_ram>3221225472.000000</opencl_available_ram>
      <opencl_device_index>0</opencl_device_index>
      <warn_bad_cuda>0</warn_bad_cuda>
   </ati_opencl>

Copy that section and paste it right underneath </ati_opencl> tag so it looks like this

Code:
<ati_opencl>
     .............................
    ....blah...blah ...blah

      <device_num>0</device_num>
      <peak_flops>4096000000000.000000</peak_flops>
      <opencl_available_ram>3221225472.000000</opencl_available_ram>
      <opencl_device_index>0</opencl_device_index>
      <warn_bad_cuda>0</warn_bad_cuda>
   </ati_opencl>

<ati_opencl>
     .............................
    ....blah...blah ...blah

      <device_num>1</device_num>
      <peak_flops>4096000000000.000000</peak_flops>
      <opencl_available_ram>3221225472.000000</opencl_available_ram>
      <opencl_device_index>1</opencl_device_index>
      <warn_bad_cuda>0</warn_bad_cuda>
   </ati_opencl>

Change <device_num>0</device_num> to <device_num>1</device_num>
Change <opencl_device_index>0</opencl_device_index> to <opencl_device_index>1</opencl_device_index>


Each section represent 1 GPU, so you can add as many as you want. Just have to change the device_num and opencl_device_index to 1,2,3,4... and so forth.
Save the file and change the coproc.xml permission to Read Only. If not Boinc will rewrite the file.

Important: Make sure you have an app_config.xml in the project's folder to tell Boinc only run max_concurrent tasks according to your REAL number of GPUs you have. So let's say I only have 3 then I need to put an app_config.xml in MW@H's folder like this
Code:
<app_config>


<project_max_concurrent>3</project_max_concurrent>


</app_config>

Otherwise, Boinc will start to run the number of tasks it THOUGHT you have in the coproc.xml. Which will crash your machine.
There you have it. Just don't mention anything about me telling you this, or they WILL KILL me lmao.
 
So this would allow you to download more work! this could definitely be useful for bunkering something like Seti@home
Thanks Skillz
 
Just tested this and i now have 336 tasks for MW on a 1 gpu rig. Logs show both GPU and an error about not being able to delete the coproc.xml file

BTW on my computer this file was named coproc_info.xml
 
or bunkering any of the GPU projects since it's hard to get a lot of work from them.
 
Just wait until SETI-Wow Event....... 3 months of bunkered results from someone with 2080's or 2080Ti's...lol
 
or someone with ~60 1070 and 1070Ti cards...
 
wonder what the max boinc will allow this way.

FYI this was tested and worked for me. I was able to double the work i could download by adding a "second card" for milkyway
 
I was told by someone that MW has a limit of 600 tasks per host.
 
My fake GPUs setup is not working.

Here is my coproc_info.xml file for 2 GPUs setup while I only have one physical.
<coprocs>
<have_cuda>1</have_cuda>
<cuda_version>9010</cuda_version>
<coproc_cuda>
<count>1</count>
<name>GeForce GTX 1080 Ti</name>
<available_ram>3181379584.000000</available_ram>
<have_cuda>1</have_cuda>
<have_opencl>0</have_opencl>
<peak_flops>11339776000000.000000</peak_flops>
<cudaVersion>9010</cudaVersion>
<drvVersion>39077</drvVersion>
<totalGlobalMem>4294967295.000000</totalGlobalMem>
<sharedMemPerBlock>49152.000000</sharedMemPerBlock>
<regsPerBlock>65536</regsPerBlock>
<warpSize>32</warpSize>
<memPitch>2147483647.000000</memPitch>
<maxThreadsPerBlock>1024</maxThreadsPerBlock>
<maxThreadsDim>1024 1024 64</maxThreadsDim>
<maxGridSize>2147483647 65535 65535</maxGridSize>
<clockRate>1582000</clockRate>
<totalConstMem>65536.000000</totalConstMem>
<major>6</major>
<minor>1</minor>
<textureAlignment>512.000000</textureAlignment>
<deviceOverlap>1</deviceOverlap>
<multiProcessorCount>28</multiProcessorCount>
<pci_info>
<bus_id>3</bus_id>
<device_id>0</device_id>
<domain_id>0</domain_id>
</pci_info>
</coproc_cuda>
<nvidia_opencl>
<name>GeForce GTX 1080 Ti</name>
<vendor>NVIDIA Corporation</vendor>
<vendor_id>4318</vendor_id>
<available>1</available>
<half_fp_config>0</half_fp_config>
<single_fp_config>191</single_fp_config>
<double_fp_config>63</double_fp_config>
<endian_little>1</endian_little>
<execution_capabilities>1</execution_capabilities>
<extensions>cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer</extensions>
<global_mem_size>11811160064</global_mem_size>
<local_mem_size>49152</local_mem_size>
<max_clock_frequency>1582</max_clock_frequency>
<max_compute_units>28</max_compute_units>
<nv_compute_capability_major>6</nv_compute_capability_major>
<nv_compute_capability_minor>1</nv_compute_capability_minor>
<amd_simd_per_compute_unit>0</amd_simd_per_compute_unit>
<amd_simd_width>0</amd_simd_width>
<amd_simd_instruction_width>0</amd_simd_instruction_width>
<opencl_platform_version>OpenCL 1.2 CUDA 9.1.84</opencl_platform_version>
<opencl_device_version>OpenCL 1.2 CUDA</opencl_device_version>
<opencl_driver_version>390.77</opencl_driver_version>
<device_num>0</device_num>
<peak_flops>11339776000000.000000</peak_flops>
<opencl_available_ram>3181379584.000000</opencl_available_ram>
<opencl_device_index>0</opencl_device_index>
<warn_bad_cuda>0</warn_bad_cuda>
</nvidia_opencl>
<nvidia_opencl>
<name>GeForce GTX 1080 Ti</name>
<vendor>NVIDIA Corporation</vendor>
<vendor_id>4318</vendor_id>
<available>1</available>
<half_fp_config>0</half_fp_config>
<single_fp_config>191</single_fp_config>
<double_fp_config>63</double_fp_config>
<endian_little>1</endian_little>
<execution_capabilities>1</execution_capabilities>
<extensions>cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer</extensions>
<global_mem_size>11811160064</global_mem_size>
<local_mem_size>49152</local_mem_size>
<max_clock_frequency>1582</max_clock_frequency>
<max_compute_units>28</max_compute_units>
<nv_compute_capability_major>6</nv_compute_capability_major>
<nv_compute_capability_minor>1</nv_compute_capability_minor>
<amd_simd_per_compute_unit>0</amd_simd_per_compute_unit>
<amd_simd_width>0</amd_simd_width>
<amd_simd_instruction_width>0</amd_simd_instruction_width>
<opencl_platform_version>OpenCL 1.2 CUDA 9.1.84</opencl_platform_version>
<opencl_device_version>OpenCL 1.2 CUDA</opencl_device_version>
<opencl_driver_version>390.77</opencl_driver_version>
<device_num>1</device_num>
<peak_flops>11339776000000.000000</peak_flops>
<opencl_available_ram>3181379584.000000</opencl_available_ram>
<opencl_device_index>1</opencl_device_index>
<warn_bad_cuda>0</warn_bad_cuda>
</nvidia_opencl>
<warning>NVIDIA library reports 1 GPU</warning>
<warning>calInit() returned 1</warning>
<warning>clGetDeviceInfo failed to get CL_DEVICE_SIMD_PER_COMPUTE_UNIT_AMD for device 0</warning>
</coprocs>

Event log file. Somehow it is ignoring the 2nd GPU. Maybe something silly that I did in the coproc_info.xml.
4/24/2019 8:59:03 PM | | Starting BOINC client version 7.14.2 for windows_x86_64
4/24/2019 8:59:03 PM | | log flags: file_xfer, sched_ops, task
4/24/2019 8:59:03 PM | | Libraries: libcurl/7.47.1 OpenSSL/1.0.2g zlib/1.2.8
4/24/2019 8:59:03 PM | | Data directory: C:\ProgramData\BOINC
4/24/2019 8:59:03 PM | | Running under account pututu
4/24/2019 8:59:09 PM | | Failed to delete old coproc_info.xml. error code -110
4/24/2019 8:59:15 PM | | CUDA: NVIDIA GPU 0: GeForce GTX 1080 Ti (driver version 390.77, CUDA version 9.1, compute capability 6.1, 4096MB, 3034MB available, 11340 GFLOPS peak)
4/24/2019 8:59:15 PM | | OpenCL: NVIDIA GPU 0: GeForce GTX 1080 Ti (driver version 390.77, device version OpenCL 1.2 CUDA, 11264MB, 3034MB available, 11340 GFLOPS peak)
4/24/2019 8:59:15 PM | | OpenCL: NVIDIA GPU 1 (ignored by config): GeForce GTX 1080 Ti (driver version 390.77, device version OpenCL 1.2 CUDA, 11264MB, 3034MB available, 11340 GFLOPS peak)

In my Primegrid account, it shows this PC has only one card. Back to setting up multiple clients. :(
 
My fake GPUs setup is not working.

Here is my coproc_info.xml file for 2 GPUs setup while I only have one physical.

In my Primegrid account, it shows this PC has only one card. Back to setting up multiple clients. :(

I've not tried it for quite a while, so just a guess, but It looks like you have duplicated the OpenCL section correctly but there's not a duplicate of the cuda portion. This seems to be borne out by the event log.
 
Back
Top