Page 2 of 2

Re: 2 GPUs being identified as each other

PostPosted: Sun Sep 02, 2012 7:35 pm
by Napoleon
I'm folding with just two GPUs, but initially my gpu-index and cuda-index values were mixed up as well, maybe because my display is connected to the ION, whereas the more powerful GT430 is running in the background, fully dedicated to folding. Be that as it may, here are my gpu-index values from the start of a log:
Code: Select all
15:37:44:        GPU 0: NVIDIA:1 ION VGA
15:37:44:        GPU 1: FERMI:1 GF108 [GeForce GT 430]

I used GPU-Z and CUDA-Z to check the appropriate cuda-index values. For me, they both listed GT430 first (CUDA device 0). So I tweaked the index settings for each GPU slot like this (config.xml example):
Code: Select all
  <!-- Folding Slots -->
  <slot id='0' type='GPU'>
    <gpu-index v='1'/>
    <cuda-index v='0'/>
    <opencl-index v='0'/>
  </slot>
  <slot id='1' type='GPU'>
    <gpu-index v='0'/>
    <cuda-index v='1'/>
    <opencl-index v='1'/>
  </slot>
  <slot id='2' type='UNIPROCESSOR'/>
  <slot id='3' type='UNIPROCESSOR'/>

With that, I finally got the gpu-index vs cuda-index discrepancy sorted out and I have my folding slots neatly ordered (best PPD first). That is to say, slot 0 = GT430, slot 1 = ION and slots 2 & 3 are classic CPU slots. Started the GPU slots one by one, checked GPU utilizations in between and... success! I hope this example clarifies things a little further. I'm guessing the OP needs to specify the gpu-index & cuda-index & opencl-index for all three slots. IIRC, I ran into problems if I left any open ends. What ultimately matters is the -gpu x parameter that gets passed to the FAH core when it's launched:
15:16:24:WU01:FS00:Running FahCore: C:\FAH\Client/FAHCoreWrapper.exe C:/FAH/Data/cores/www.stanford.edu/~pande/Win32/AMD64/NVIDIA/Fermi/Core_15.fah/FahCore_15.exe -dir 01 -suffix 01 -version 701 -lifeline 4740 -checkpoint 30 -gpu 0
......
17:01:33:WU00:FS01:Running FahCore: C:\FAH\Client/FAHCoreWrapper.exe C:/FAH/Data/cores/www.stanford.edu/~pande/Win32/AMD64/NVIDIA/G80/Core_11.fah/FahCore_11.exe -dir 00 -suffix 01 -version 701 -lifeline 4740 -checkpoint 30 -gpu 1

Not so different from the (console) v6 client, where you could specify that very same parameter in the command line. Not a huge surprise either, since FAH v6 and v7 (mostly) use the same cores.

Annihilator7, since the Kepler core is still in beta, as an alternative to joining beta team I'm inclined to advise that you only create the slot for 660Ti to avoid any autodetection hassles, then leave it paused for the time being (e.g using <pause-on-start v='true'/> setting). If beta testing isn't your thing, just connect your display(s) to the 660Ti and enjoy lag-free GPU folding with the other two cards for a while. :wink:

Re: 2 GPUs being identified as each other

PostPosted: Mon Sep 03, 2012 2:03 am
by bruce
Napoleon wrote:Annihilator7, since the Kepler core is still in beta, as an alternative to joining beta team I'm inclined to advise that you only create the slot for 660Ti to avoid any autodetection hassles, then leave it paused for the time being (e.g using <pause-on-start v='true'/> setting). If beta testing isn't your thing, just connect your display(s) to the 660Ti and enjoy lag-free GPU folding with the other two cards for a while. :wink:


I don't have the hardware to test this guess but there's a reasonable chance that moving the display will change the order that Windows detects the GPUs, but won't change the lspci method, thereby messing up a carefully configured set of index values. If anybody wants to test this, start by setting Pause-on-start='true' for all slots so you don't mess up the WUs that have already been assigned.

Re: 2 GPUs being identified as each other

PostPosted: Thu Sep 06, 2012 3:35 pm
by Napoleon
I tried moving the display between my two GPUs, with reboots. It didn't cause any changes in lspci and CUDA device enumerations. YMMV.