Page 1 of 1

Surface Book's NVidia GPU

PostPosted: Sun Jan 03, 2016 1:39 pm
by ahulett
I'm running a Surface Book with an NVidia dedicated GPU and it's not being recognized. Given I'm adventurous (and am aware of how things can go wrong) I tried adding details to GPUs.txt to see if I could get it to work. Online posts suggest this is a custom GeForce 940M, so using this as a starting point I took the Hardware ID for the GPU in this machine:

PCI\VEN_10DE&DEV_134B&SUBSYS_00081414&REV_A2

and turned that into this line in GPUs.txt based on the 940M entry from the text file:

0x10de:0x134b:2:4:GM108 [GeForce GPU] (Microsoft Surface Book)

FAH sees the GPU and pulls a work item but then throws a FILE_IO_ERROR (117 = 0x75) when starting it up.

Code: Select all
*********************** Log Started 2016-01-03T11:56:26Z ***********************
11:56:26:************************* Folding@home Client *************************
11:56:26:      Website: http://folding.stanford.edu/
11:56:26:    Copyright: (c) 2009-2014 Stanford University
11:56:26:       Author: Joseph Coffland <joseph@cauldrondevelopment.com>
11:56:26:         Args: --open-web-control
11:56:26:       Config: C:/Users/aaronhu/AppData/Roaming/FAHClient/config.xml
11:56:26:******************************** Build ********************************
11:56:26:      Version: 7.4.4
11:56:26:         Date: Mar 4 2014
11:56:26:         Time: 20:26:54
11:56:26:      SVN Rev: 4130
11:56:26:       Branch: fah/trunk/client
11:56:26:     Compiler: Intel(R) C++ MSVC 1500 mode 1200
11:56:26:      Options: /TP /nologo /EHa /Qdiag-disable:4297,4103,1786,279 /Ox -arch:SSE
11:56:26:               /QaxSSE2,SSE3,SSSE3,SSE4.1,SSE4.2 /Qopenmp /Qrestrict /MT /Qmkl
11:56:26:     Platform: win32 XP
11:56:26:         Bits: 32
11:56:26:         Mode: Release
11:56:26:******************************* System ********************************
11:56:26:          CPU: Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
11:56:26:       CPU ID: GenuineIntel Family 6 Model 78 Stepping 3
11:56:26:         CPUs: 4
11:56:26:       Memory: 15.93GiB
11:56:26:  Free Memory: 9.10GiB
11:56:26:      Threads: WINDOWS_THREADS
11:56:26:   OS Version: 6.2
11:56:26:  Has Battery: true
11:56:26:   On Battery: false
11:56:26:   UTC Offset: -8
11:56:26:          PID: 11580
11:56:26:          CWD: C:/Users/aaronhu/AppData/Roaming/FAHClient
11:56:26:           OS: Windows 10 Pro
11:56:26:      OS Arch: AMD64
11:56:26:         GPUs: 1
11:56:26:        GPU 0: NVIDIA:4 GM108 [GeForce GPU] (Microsoft Surface Book)
11:56:26:         CUDA: 5.0
11:56:26:  CUDA Driver: 7050
11:56:26:Win32 Service: false
11:56:26:***********************************************************************
11:56:26:<config>
11:56:26:  <!-- Folding Slot Configuration -->
11:56:26:  <cause v='ALZHEIMERS'/>
11:56:26:
11:56:26:  <!-- Network -->
11:56:26:  <proxy v=':8080'/>
11:56:26:
11:56:26:  <!-- Slot Control -->
11:56:26:  <power v='medium'/>
11:56:26:
11:56:26:  <!-- User Information -->
11:56:26:  <passkey v='********************************'/>
11:56:26:  <team v='4'/>
11:56:26:  <user v='ahulett'/>
11:56:26:
11:56:26:  <!-- Work Unit Control -->
11:56:26:  <next-unit-percentage v='100'/>
11:56:26:
11:56:26:  <!-- Folding Slots -->
11:56:26:  <slot id='0' type='CPU'>
11:56:26:    <paused v='true'/>
11:56:26:  </slot>
11:56:26:  <slot id='1' type='GPU'/>
11:56:26:</config>
11:56:26:Trying to access database...
11:56:26:Successfully acquired database lock
11:56:26:Enabled folding slot 00: PAUSED cpu:2 (by user)
11:56:26:Enabled folding slot 01: READY gpu:0:GM108 [GeForce GPU] (Microsoft Surface Book)
11:56:26:WU00:FS01:Connecting to 171.67.108.45:80
11:56:27:WU00:FS01:Assigned to work server 171.64.65.124
11:56:27:WU00:FS01:Requesting new work unit for slot 01: READY gpu:0:GM108 [GeForce GPU] (Microsoft Surface Book) from 171.64.65.124
11:56:27:WU00:FS01:Connecting to 171.64.65.124:8080
11:56:30:WU00:FS01:Downloading 806.61KiB
11:56:32:20:127.0.0.1:New Web connection
11:56:38:WU00:FS01:Download 7.93%
11:56:44:WU00:FS01:Download 15.87%
11:56:50:WU00:FS01:Download 23.80%
11:56:59:WU00:FS01:Download 47.61%
11:57:11:WU00:FS01:Download 55.54%
11:57:17:WU00:FS01:Download 63.48%
11:57:31:WU00:FS01:Download 79.34%
11:57:40:WU00:FS01:Download 95.21%
11:57:43:WU00:FS01:Download complete
11:57:43:WU00:FS01:Received Unit: id:00 state:DOWNLOAD error:NO_ERROR project:9018 run:303 clone:8 gen:137 core:0xa4 unit:0x000000aaab40417c55b2d263b49d32d5
11:57:43:WU00:FS01:Starting
11:57:43:WU00:FS01:Running FahCore: "C:\Program Files (x86)\FAHClient/FAHCoreWrapper.exe" C:/Users/aaronhu/AppData/Roaming/FAHClient/cores/web.stanford.edu/~pande/Win32/AMD64/Core_a4.fah/FahCore_a4.exe -dir 00 -suffix 01 -version 704 -lifeline 11580 -checkpoint 15 -gpu 0 -gpu-vendor nvidia
11:57:43:WU00:FS01:Started FahCore on PID 11176
11:57:43:WU00:FS01:Core PID:14284
11:57:43:WU00:FS01:FahCore 0xa4 started
11:57:43:WARNING:WU00:FS01:FahCore returned: FILE_IO_ERROR (117 = 0x75)
11:57:43:WARNING:WU00:FS01:Fatal error, dumping
11:57:43:WU00:FS01:Sending unit results: id:00 state:SEND error:DUMPED project:9018 run:303 clone:8 gen:137 core:0xa4 unit:0x000000aaab40417c55b2d263b49d32d5
11:57:43:WU00:FS01:Connecting to 171.64.65.124:8080
11:57:44:WU02:FS01:Connecting to 171.67.108.45:80
11:57:44:WU02:FS01:Assigned to work server 171.64.65.124
11:57:44:WU02:FS01:Requesting new work unit for slot 01: READY gpu:0:GM108 [GeForce GPU] (Microsoft Surface Book) from 171.64.65.124
11:57:44:WU02:FS01:Connecting to 171.64.65.124:8080
11:57:49:WU00:FS01:Server responded WORK_ACK (400)
11:57:49:WU00:FS01:Cleaning up
11:57:51:WU02:FS01:Downloading 807.04KiB
11:57:57:WU02:FS01:Download 7.93%


Any ideas?

Regards,
Aaron

Re: Surface Book's NVidia GPU

PostPosted: Sun Jan 03, 2016 6:12 pm
by Nathan_P
Hi and welcome to the forum.

If it is a compatible gpu it needs to be added to the gpus.txt whitelist held on the PG servers - not your local copy, 7im usually adds new cards to the list and he's on the forums a lot so it won't take too long.

The WU got dumped because it was trying to run a cpu WU on the gpu, probably because it doesn't know the gpu.

Re: Surface Book's NVidia GPU

PostPosted: Sun Jan 03, 2016 6:18 pm
by Joe_H
Welcome to the folding forum.

Please see this topic about the GPUs.txt file (greylist) - viewtopic.php?f=83&t=26208. Just modifying this file locally is not enough, the server side file needs also to be updated. In addition, your Surface Book needs to have drivers installed that include OpenCL support. That is not always present in the default drivers included with Windows 10 or downloaded through Windows Update.

Re: Surface Book's NVidia GPU

PostPosted: Sun Jan 03, 2016 8:43 pm
by ahulett
Hello back and thank you both for your warm welcomes.

Sorry I missed the GPU thread when searching around and more importantly the warning there. I made a backup before editing and I've reverted back to it.

Checking the driver files loaded up (and these are from WU/MU) I do see %programfiles%\NVIDIA Corporation\OpenCL\OpenCL.dll and OpenCL64.dll so I hunted down a GPU tool and came across GPU Caps Viewer which has this on it:

Image

Anything else I can provide/try here?

Regards,
//A

Re: Surface Book's NVidia GPU

PostPosted: Sun Jan 03, 2016 9:49 pm
by bruce
There's a 12-page discussion about FAHBench (OpenMM 5.1) which may provide better/additional information since it's specific to what FAH uses.

That won't reconfigure the servers to assign GPU work to your hardware but it will tell us how well it works. As has already been said, the GPU needs to be added to the official list of supported devices.

Re: Surface Book's NVidia GPU

PostPosted: Mon Jan 04, 2016 12:15 am
by davidcoton
See here (look for section 3) for how to submit GPU details so the GPUs.txt file can be updated.

Re: Surface Book's NVidia GPU

PostPosted: Mon Jan 04, 2016 12:51 am
by ahulett
Got it. Opened a new thread to pick this up in the proper area: viewtopic.php?f=83&t=28451

Thank you everyone!

//A

Re: Surface Book's NVidia GPU

PostPosted: Mon Jan 04, 2016 7:08 pm
by toTOW
Number of OpenCL platforms : 2 ... it might be the issue. What is the other platform ?

Re: Surface Book's NVidia GPU

PostPosted: Mon Jan 04, 2016 10:31 pm
by Nathan_P
Probably the cpu

Re: Surface Book's NVidia GPU

PostPosted: Tue Jan 05, 2016 12:45 am
by bruce
Nathan_P wrote:Probably the cpu


Most CPUs can run OpenCL but (A) the drivers are generally inferior to GPU drivers, failing to provide reliable features that FAH needs and (B) While your CPU might be able to run specific FAH OpenCL projects, performance would suffer, and (C) FahCore_a4 and other cores designed for CPUs make excellent use of the features of CPUs, without the extra overhead of OpenCL.

As such,the OpenCL features of Intel/AMD CPUs are excluded from OpenCL assignments.

Re: Surface Book's NVidia GPU

PostPosted: Tue Jan 05, 2016 3:51 am
by ahulett
Yes, it's the onboard Intel HD Graphics 520 GPU that's showing up as the second CL platform.