2014-04-10

How to recognize GPGPU via Thunderbolt external PCIe Box at MacOSX

Currently, connection of GPGPU is not possible in the PCI Express box via Thunderbolt.
It seems to be the intention of Intel, but does not allow the OS to recognize the board to be mounted on the graphics board at present for the time being.
It is not possible to operate that there is no driver that supports Thunderbolt connection RAID card, even NIC.
Everyone thought. “Huh? Though Thunderbolt should support PCI-Express, why does it set a limit to?”
Yeah I also thought. Well, there seems to be a complex situation.


But always there are people who figure out how to hack Go through such limit in the world, there are people who challenge in a variety of ways.
I also tried to challenge in a similar way to see the blog of an overseas person.
He seems to be connected to a PCI-Express after convert the ExpressCard once, but let's challenge by connecting directly because there is an external PCI-Express box of Thunderbolt at hand.


Things to prepare



  1. Mac (I was prepared MacBookPro Early 2013)
  2. Thunderbolt2 PCIe Enclosure NA211TB
  3. NVIDIA GPGPU board  (I used GeForce GTX760)
  4. Text Wrangler (text editor)
  5. NVIDIA’s CUDA Driver for Mac


I think GPGPU board's limit GTX760 class.
Built-in power supply of NA211TB is 250W.
Power consumption is a little worried with the GTX770's or more.




Rewrite the kext file



And it is necessary to rewrite a little bit kernel extension files to work the GPU board via Thunderbolt. (Do not worry, It is not so much.)
Editor software is required when rewriting the kernel extension file. It is an application of that handy Text Wrangler. Rather than the version that comes out by searching from the AppStore, this app, please use the version which is provided by the developer of Text Wrangler absolutely. (not good Otherwise)


/// note: The following procedure at your own risk. Please be sure to take a backup in case of emergency. ///


Open the following file: When you have prepared them.


/System/Library/Extensions/NVDAStartup.kext
/System/Library/Extensions/IONDRVSupport.kext
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext


For example,
"Show Package Contents" by secondary-clicking on the NVDAStartup.kext.
There is a file called "info.plist" When you open the Contents folder.
Select and "Open with" and "TextWrangler" secondary-click on it.
And Key / string written by xml When you open the file will be displayed.


In this file, look for sections beginning with <key>CFBundleIdentifier</key> and add just before </dict>, the two following lines :


<key>IOPCITunnelCompatible</key>
<true/>


There are several sections that CFBundleIdentifier. Not miss it, please add the cord.


Note: If you update your OS, seems there is a need to do this again.

Install the Mac version CUDA driver


Next, Download the CUDA driver for Mac from Nvidia web site. Currently, the latest version is 5.5.47. (Support OSX10.9 Marvericks)

*note: Several NVIDIA GPGPU board is native support from MacOSX 10.8.

Finally, install the GeForce GTX760 to NA211TB, and connect to the MacBookPro Thunderbolt cable.
Since power turned ON in conjunction with the power of the Mac Thunderbolt product, and then turn on the Mac after you must be connected.

Are you ready?


Let's go! Power ON!!!
If there is no problem in the rewriting of the kext, screen will be displayed.

I've done it!
Checking system report...
I tried to play Call of Duty2 demo version

PS;

Note: Some video software (ex. DaVinci Resolve). Better not connect an external display, has confirmed that the performance is increased.
In this case, GPGPU board should be the only calculated. Do not connect a display.

Note:
There is a new article that supports the MacOSX 10.9 Mavericks.

0 件のコメント: