Seeing
a posting at primegrid suggesting to run two tasks per card for better utilization of cards with high core count, I created the file "C:\ProgramData\BOINC\projects\www.primegrid.com\app_config.xml" with the following contents and let the boinc manager re-read the configuration files.
Code:
<app_config>
<app>
<name>pps_sr2sieve</name>
<max_concurrent>4</max_concurrent>
<gpu_versions>
<gpu_usage>0.5</gpu_usage>
<cpu_usage>1.0</cpu_usage>
</gpu_versions>
</app>
</app_config>
(This is valid for 2 cards in the box, times 2 concurrent tasks per card. I specified in the web interface to accept only GPU tasks, no CPU tasks. Actual CPU usage of each GPU task remains way below 1.0 core.)
This improved the mean time between task completions slightly:
GTX 1080 @ 1.6 GHz: 292 s -> 276 s (6 % more throughput)
GTX 1070 @ 2.0 GHz: 319 s -> 290 s (10 % more throughput)
I guess the effect of running two tasks per card would be more pronounced on cards with core counts like Titan's or Fury's.
(Earlier I had the GTX 1080 running cudaPPSsieve at 1.8 GHz and about 190 W (with 120 % power target), but so far I am unable to reproduce this.)
I tried to fix this by reboot and had it running at 1.8 GHz and 200 W (120 % power target) once more, but only for a short while. Now it is permanently down to 1.6 GHz again. Well, Furmark is always able to bring up 1.8 GHz, but not cudaPPSsieve, neither one nor two instances of it in parallel.
[Edit:] formatting