2015-04-03

(MacOSX 10.10.2 edition) How to recognize GPGPU via Thunderbolt external PCIe Box at MacOSX

Hi Geeks,

This is an article about how to recognize GPU via Thunderbolt external PCIe box at MACOSX 10.10.2 Yosemite.

Ingredients

  1. Mac (MacBookPro Early2013)
  2. Thunderbolt PCI-Express NA211TB
  3. NVIDIA製GPU board (Gigabyte GeForce GTX970)
  4. TextWrangler (Text Editor)
  5. NVIDIA CUDA driver

Recipes
  1. Download NVIDIA WebDriver
  2. To be able to install the driver other than Mac Pro, modify the downloaded driver.
  3. Install the driver (*modified version)
  4. Install CUDA driver
  5. Rewrite a kernel extension file
  6. Type the command at Terminal
  7. Restart, Check the operation of GPU

Step1) Download NVIDIA WebDriver
There is the latest version of the NVIDIA WebDriver below.
This driver supports MacOSX 10.2.2.

---The following operation is at your own risk---
We strongly recommend that you take a backup necessary before starting work.

Step2) To be able to install the driver other than Mac Pro, modify the downloaded driver.
The downloaded drivers typically can be installed only on MacPro (2008,2009,2010 model).
So, you can create a driver to avoid the driver installation check with the following tasks.
  • Start Terminal.app, and type the following command.
      pkgutil --expand WebDriver-343.01.01f03.pkg expanded.pkg
  • expanded.pkg file is completed. Select "Show Package Contents" it by right-clicking.
  • Contents of expanded.pkg appears. Right-click on the "Distribution" file in it. And "Open with" -> select the "TextEdit".
  • Will be displayed the contents of the Distribution file, there is a "InstallationCheck" method in it.

           function InstallationCheck() 
                {   
                    if (!validateHardware()) return false;
                    if (!validateSoftware()) return false;
                    return true;
                }

   Comment out the above false line, set constantly return true.

//if (!validateHardware()) return false;
//if (!validateHardware()) return false;
                *// is comment out setting
  • Save the file.and close it.
  • In order to restore the the expanded package, then type the following command at the terminal.
        pkgutil --flatten expanded.pkg ModifiedWebDriver.pkg
  • ModifiedWebDriver.pkg is completed. This is the modified Web driver that avoids the installation check.

Step3) Install the driver 
Install the WebDriver made of step2, but requires work at Terminal before it. Security become strictly from Yosemite, so-called selfish drivers do not work anymore. Enter the following command from the terminal in order to avoid it.

  sudo nvram boot-args="kext-dev-mode=1 nvda_drv=1"

And if there is a no problem with Step2, then install the driver that you created. You should be able to install it avoiding an installation check.
Once after reboot, open the "NVIDIA Driver Manager" in the System Preferences, please be sure to check that it is to use the NVIDIA Web Driver. If "OSX Default Graphics Driver" is selected, GPU does not work.
Please try to use the NVIDIA driver to release the lock by pressing the "Click the lock to prevent further changes" under the panel.
If when you can not change remain gray even if you press here, run again the above command, you should be able to select after the reboot.
Check the NVIDIA Web Driver is selected

Step4) Install CUDA driver
CUDA is required. Please be sure to update already if CUDA is installed. You can update the "CUDA" System Preferences --> "Install CUDA Update".
Please install the latest version be sure if it is not installed.
Download from the following.
The current version is 7.0.29(2015/3/26)

Step5) Rewrite a kernel extension file
Please refer to the previous article.
"Rewrite the kext file" section.

6) Type the command at Terminal 
Last, Enter the command to clear the cache of the kernel extension in terminal.
  
  sudo kextcache -system-caches

7) Restart, Check the operation of GPU
Turn off power, and then mounting the GPU board to NA211TB, confirmation of the auxiliary power supply cable, and turn on the power to the PC via the confirmation of Thunderbolt cable.
GTX970 works at MacBook Pro.
MacBook Pro and NA211TB with Dual Display.

How did it go?
Let's check to review the procedure if it does not work. Especially easy to failure is rewriting the kext file. Please do not miss the CFBundleIdentifier.

0 件のコメント: