こちらのサイト様のコードを使わせていただいて、動作確認をしてみる。
https://hnakamur.github.io/blog/2015/07/25/setup_pycuda_on_macbook_pro_with_geforce/
下記コードをpycuda-test.pyと名付けて保存。
import pycuda.gpuarray as gpuarray
import pycuda.driver as cuda
import pycuda.autoinit
import numpy
a_gpu = gpuarray.to_gpu(numpy.random.randn(4,4).astype(numpy.float32))
a_doubled = (2*a_gpu).get()
print(a_doubled)
print(a_gpu)
では、動かしてみる。
$ python3 pycuda-test.py
[[-0.88340336 -0.48412755 -2.73136067 -0.04277773]
[ 1.15315139 -2.88467717 -0.6212647 0.35913253]
[ 1.04733992 -3.00954723 1.72663045 -0.17476171]
[-1.08756733 0.0739169 -1.34298694 -0.24150042]]
[[-0.44170168 -0.24206378 -1.36568034 -0.02138886]
[ 0.5765757 -1.44233859 -0.31063235 0.17956626]
[ 0.52366996 -1.50477362 0.86331522 -0.08738086]
[-0.54378366 0.03695845 -0.67149347 -0.12075021]]
やっぱりpycudaは動作しているようだ。
その他のサンプルコードだと、Python2とPython3の差異があったりと、今日の時点ではpycudaがちゃんと動いているのかわからなかった。次はもうちょっとビジュアル的に面白いコードで試してみたい。
2016年6月26日日曜日
numpy、python-six、そしてpycudaをインストールしてゆく。
まずnumpyからインストールしてゆく。
numpyは科学技術計算で利用されるPythonの拡張モジュールなんだとか。
$ pip install numpy
Requirement already satisfied (use --upgrade to upgrade): numpy in /Users/ほげほげ/.pyenv/versions/anaconda3-4.0.0/lib/python3.5/site-packages
おお。
Python3をインストールする時にanacondaを選択したので、インストール済みであったか。
じゃ、python-sixへ続く。
sixとは、Python 2 と Python 3 の間の違いを吸収するためのシンプルなユーティリティなんだとか。
$ pip install six
Requirement already satisfied (use --upgrade to upgrade): six in /Users/ほげほげ/.pyenv/versions/anaconda3-4.0.0/lib/python3.5/site-packages
インストール済みとな。
anacondaは優秀なパッケージなんだな。
じゃ、Pycudaをインストールする。
$ pip install pycuda
盛大なエラーを吐いて終了。。。。。
じゃ、世の中のWebサイトで成功事例に書かれている方法で再挑戦する。
フォルダはホームフォルダに置く事にする。
$ git clone http://git.tiker.net/trees/pycuda.git
で、ダウンロードが済んだら、pycudaのフォルダに降りてみる。
$cd pycuda
$ ls
MANIFEST.in bpl-subset setup.cfg
Makefile.in configure.py setup.py
README.rst doc src
README_SETUP.txt examples test
aksetup_helper.py pycuda
こんな感じの内容。
$ python3 configure.py
$ ls
MANIFEST.in aksetup_helper.py setup.cfg
Makefile bpl-subset setup.py
Makefile.in configure.py siteconf.py
README.rst doc src
README_SETUP.txt examples test
__pycache__ pycuda
14ファイル → 17ファイルに増えてる。
$ vi siteconf.py
BOOST_INC_DIR = []
BOOST_LIB_DIR = []
BOOST_COMPILER = 'gcc43'
USE_SHIPPED_BOOST = True
BOOST_PYTHON_LIBNAME = ['boost_python-35']
BOOST_THREAD_LIBNAME = ['boost_thread']
CUDA_TRACE = False
CUDA_ROOT = '/Developer/NVIDIA/CUDA-7.5'
CUDA_ENABLE_GL = False
CUDA_ENABLE_CURAND = True
CUDADRV_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CUDADRV_LIBNAME = ['cuda']
CUDART_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CUDART_LIBNAME = ['cudart']
CURAND_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CURAND_LIBNAME = ['curand']
CXXFLAGS = []
LDFLAGS = []
上記を次の内容に書き換える。
BOOST_INC_DIR = ['/opt/local/include']
BOOST_LIB_DIR = ['/opt/local/lib']
BOOST_COMPILER = 'gcc43'
USE_SHIPPED_BOOST = True
BOOST_PYTHON_LIBNAME = ['boost_python-py35']
BOOST_THREAD_LIBNAME = ['boost_thread']
CUDA_TRACE = False
CUDA_ROOT = '/usr/local/cuda'
CUDA_ENABLE_GL = False
CUDA_ENABLE_CURAND = True
CUDADRV_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CUDADRV_LIBNAME = ['cuda']
CUDART_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CUDART_LIBNAME = ['cudart']
CURAND_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CURAND_LIBNAME = ['curand']
CXXFLAGS = ["-arch", "x86_64", "-arch", "i386",'-mmacosx-version-min=10.11', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk']
LDFLAGS = ["-F/Library/Frameworks", "-arch", "x86_64", "-arch", "i386",'-mmacosx-version-min=10.11', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk']
pycudaのインストールにcompyteが必要らしいので、こちらもインストールする。
pycudaのフォルダ内で、次のコマンドを実行。
$ git clone git://github.com/inducer/compyte.git
いよいよpycudaをインストールする。
$ cd ~/pycuda
念のためのおまじない。
$ git submodule update --init
Submodule 'bpl-subset' (https://github.com/inducer/bpl-subset) registered for path 'bpl-subset'
Submodule 'pycuda/compyte' (https://github.com/inducer/compyte) registered for path 'pycuda/compyte'
Cloning into 'bpl-subset'...
remote: Counting objects: 5374, done.
remote: Total 5374 (delta 0), reused 0 (delta 0), pack-reused 5374
Receiving objects: 100% (5374/5374), 5.03 MiB | 1.00 MiB/s, done.
Resolving deltas: 100% (1282/1282), done.
Checking connectivity... done.
Submodule path 'bpl-subset': checked out 'e7c5f5131daca6298b5e8aa48d06e7ecffec2ffa'
Cloning into 'pycuda/compyte'...
remote: Counting objects: 1889, done.
remote: Total 1889 (delta 0), reused 0 (delta 0), pack-reused 1889
Receiving objects: 100% (1889/1889), 739.73 KiB | 427.00 KiB/s, done.
Resolving deltas: 100% (1085/1085), done.
Checking connectivity... done.
Submodule path 'pycuda/compyte': checked out 'ac1c71d46428c14aa1bd1c09d7da19cd0298d5cc'
じゃあ、makeしてみますか。。。。
$ sudo make
でるわでるわ、警告の嵐!!
気が遠くなるほど警告を吐いたあとで、作業は終了。
じゃ、make installしますか。。。
$ sudo make install
Finished processing dependencies for pycuda==2016.1.1
なんか、終わったくさいぞ!!
いったんターミナルを終了して、立ち上げ直す。
pycudaの動作確認をしてみる。
$ python3
Python 3.5.1 |Anaconda 4.0.0 (x86_64)| (default, Dec 7 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pycuda.autoinit
>>>
やったっ!!
成功しましたっ!!!!
numpyは科学技術計算で利用されるPythonの拡張モジュールなんだとか。
$ pip install numpy
Requirement already satisfied (use --upgrade to upgrade): numpy in /Users/ほげほげ/.pyenv/versions/anaconda3-4.0.0/lib/python3.5/site-packages
おお。
Python3をインストールする時にanacondaを選択したので、インストール済みであったか。
じゃ、python-sixへ続く。
sixとは、Python 2 と Python 3 の間の違いを吸収するためのシンプルなユーティリティなんだとか。
$ pip install six
Requirement already satisfied (use --upgrade to upgrade): six in /Users/ほげほげ/.pyenv/versions/anaconda3-4.0.0/lib/python3.5/site-packages
インストール済みとな。
anacondaは優秀なパッケージなんだな。
じゃ、Pycudaをインストールする。
$ pip install pycuda
盛大なエラーを吐いて終了。。。。。
じゃ、世の中のWebサイトで成功事例に書かれている方法で再挑戦する。
フォルダはホームフォルダに置く事にする。
$ git clone http://git.tiker.net/trees/pycuda.git
で、ダウンロードが済んだら、pycudaのフォルダに降りてみる。
$cd pycuda
$ ls
MANIFEST.in bpl-subset setup.cfg
Makefile.in configure.py setup.py
README.rst doc src
README_SETUP.txt examples test
aksetup_helper.py pycuda
こんな感じの内容。
$ python3 configure.py
$ ls
MANIFEST.in aksetup_helper.py setup.cfg
Makefile bpl-subset setup.py
Makefile.in configure.py siteconf.py
README.rst doc src
README_SETUP.txt examples test
__pycache__ pycuda
14ファイル → 17ファイルに増えてる。
$ vi siteconf.py
BOOST_INC_DIR = []
BOOST_LIB_DIR = []
BOOST_COMPILER = 'gcc43'
USE_SHIPPED_BOOST = True
BOOST_PYTHON_LIBNAME = ['boost_python-35']
BOOST_THREAD_LIBNAME = ['boost_thread']
CUDA_TRACE = False
CUDA_ROOT = '/Developer/NVIDIA/CUDA-7.5'
CUDA_ENABLE_GL = False
CUDA_ENABLE_CURAND = True
CUDADRV_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CUDADRV_LIBNAME = ['cuda']
CUDART_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CUDART_LIBNAME = ['cudart']
CURAND_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CURAND_LIBNAME = ['curand']
CXXFLAGS = []
LDFLAGS = []
上記を次の内容に書き換える。
BOOST_INC_DIR = ['/opt/local/include']
BOOST_LIB_DIR = ['/opt/local/lib']
BOOST_COMPILER = 'gcc43'
USE_SHIPPED_BOOST = True
BOOST_PYTHON_LIBNAME = ['boost_python-py35']
BOOST_THREAD_LIBNAME = ['boost_thread']
CUDA_TRACE = False
CUDA_ROOT = '/usr/local/cuda'
CUDA_ENABLE_GL = False
CUDA_ENABLE_CURAND = True
CUDADRV_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CUDADRV_LIBNAME = ['cuda']
CUDART_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CUDART_LIBNAME = ['cudart']
CURAND_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib64', '${CUDA_ROOT}/lib/stubs', '${CUDA_ROOT}/lib64/stubs']
CURAND_LIBNAME = ['curand']
CXXFLAGS = ["-arch", "x86_64", "-arch", "i386",'-mmacosx-version-min=10.11', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk']
LDFLAGS = ["-F/Library/Frameworks", "-arch", "x86_64", "-arch", "i386",'-mmacosx-version-min=10.11', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk']
pycudaのインストールにcompyteが必要らしいので、こちらもインストールする。
pycudaのフォルダ内で、次のコマンドを実行。
$ git clone git://github.com/inducer/compyte.git
いよいよpycudaをインストールする。
$ cd ~/pycuda
念のためのおまじない。
$ git submodule update --init
Submodule 'bpl-subset' (https://github.com/inducer/bpl-subset) registered for path 'bpl-subset'
Submodule 'pycuda/compyte' (https://github.com/inducer/compyte) registered for path 'pycuda/compyte'
Cloning into 'bpl-subset'...
remote: Counting objects: 5374, done.
remote: Total 5374 (delta 0), reused 0 (delta 0), pack-reused 5374
Receiving objects: 100% (5374/5374), 5.03 MiB | 1.00 MiB/s, done.
Resolving deltas: 100% (1282/1282), done.
Checking connectivity... done.
Submodule path 'bpl-subset': checked out 'e7c5f5131daca6298b5e8aa48d06e7ecffec2ffa'
Cloning into 'pycuda/compyte'...
remote: Counting objects: 1889, done.
remote: Total 1889 (delta 0), reused 0 (delta 0), pack-reused 1889
Receiving objects: 100% (1889/1889), 739.73 KiB | 427.00 KiB/s, done.
Resolving deltas: 100% (1085/1085), done.
Checking connectivity... done.
Submodule path 'pycuda/compyte': checked out 'ac1c71d46428c14aa1bd1c09d7da19cd0298d5cc'
じゃあ、makeしてみますか。。。。
$ sudo make
でるわでるわ、警告の嵐!!
気が遠くなるほど警告を吐いたあとで、作業は終了。
じゃ、make installしますか。。。
$ sudo make install
Finished processing dependencies for pycuda==2016.1.1
なんか、終わったくさいぞ!!
いったんターミナルを終了して、立ち上げ直す。
pycudaの動作確認をしてみる。
$ python3
Python 3.5.1 |Anaconda 4.0.0 (x86_64)| (default, Dec 7 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pycuda.autoinit
>>>
やったっ!!
成功しましたっ!!!!
2016年6月25日土曜日
CUDAドライバーをインストールし、サンプルプログラムで動作確認するまで。
前回のChainerのサンプルプログラムは、CPUで動作させました。
次に挑戦すべきは、GPUで動作させる事ですね。
まず、chainer-1.9.1/examples/mnist/train_mnist.py のGPUスイッチを入れてみた。
parser.add_argument('--gpu', '-g', default=0, type=int,
help='GPU ID (negative value indicates CPU)')
で、どうなるか?
$ python3 chainer-1.9.1/examples/mnist/train_mnist.py
GPU: 0
# unit: 1000
# Minibatch-size: 100
# epoch: 20
Network type: simple
load MNIST dataset
Downloading train-images-idx3-ubyte.gz...
Done
Downloading train-labels-idx1-ubyte.gz...
Done
Downloading t10k-images-idx3-ubyte.gz...
Done
Downloading t10k-labels-idx1-ubyte.gz...
Done
Converting training data...
Done
Converting test data...
Done
Save output...
Done
Convert completed
Traceback (most recent call last):
File "chainer-1.9.1/examples/mnist/train_mnist.py", line 68, in <module>
cuda.get_device(args.gpu).use()
File "/Users/ほげほげ/.pyenv/versions/anaconda3-4.0.0/lib/python3.5/site-packages/chainer/cuda.py", line 161, in get_device
check_cuda_available()
File "/Users/ほげほげ/.pyenv/versions/anaconda3-4.0.0/lib/python3.5/site-packages/chainer/cuda.py", line 82, in check_cuda_available
raise RuntimeError(msg)
RuntimeError: CUDA environment is not correctly set up
(see https://github.com/pfnet/chainer#installation).'str' object has no attribute '__traceback__'
でエラーで止まった。
んー、とりあえずCUDAとか、cuda.pyとか不備があるようだ。
まずは、NVIDIAからCUDAドライバーと、Toolkitをダウンロードし、インストールした。
$ vi ./.bash_profile で 次の通りパス設定を書き込みます。
# CUDA
export PATH=/Developer/NVIDIA/CUDA-7.5/bin:$PATH
export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.5/lib:$DYLD_LIBRARY_PATH
CUDAのバージョンの数字は、導入時期に合わせて適宜変更が必要。
軽く動作確認してみます。
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Mon_Apr_11_13:23:40_CDT_2016
Cuda compilation tools, release 7.5, V7.5.26
一応、パスは通っているみたいだ。
次にCUDAのサンプルプログラムを動かしてみます。
・Xcodeをインストールする。
・Boostをインストールする。Homebrewを使うと楽にインストールできる。
$ brew install boost
では、CUDAのサンプルファイルを実行する準備を行います。
$ cd /Developer/NVIDIA/CUDA-7.5/samples
$ sudo make
結構長い間コンパイル作業が続きます。
お茶でも飲んで待っているといいかもしれません。
コンパイル作業が終わったら、このコマンドを叩いてみます。
$ 1_Utilities/deviceQuery/deviceQuery
もしCUDAがうまく動作している場合は、こんな表示が出ます。
1_utilities/deviceQuery/deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 970"
CUDA Driver Version / Runtime Version 7.5 / 7.5
CUDA Capability Major/Minor version number: 5.2
Total amount of global memory: 4096 MBytes (4294770688 bytes)
(13) Multiprocessors, (128) CUDA Cores/MP: 1664 CUDA Cores
GPU Max Clock rate: 1216 MHz (1.22 GHz)
Memory Clock rate: 3505 Mhz
Memory Bus Width: 256-bit
L2 Cache Size: 1835008 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 2 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 970
Result = PASS
やったー!動いているみたいだ。
もう一つテストしてみる。
$ 1_utilities/bandwidthTest/bandwidthTest
[CUDA Bandwidth Test] - Starting...
Running on...
Device 0: GeForce GTX 970
Quick Mode
Host to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 12785.7
Device to Host Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 12846.7
Device to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 142505.2
Result = PASS
NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
へいへい、わっかりやした。
enableなことが分かれば、それで十分です。
次に挑戦すべきは、GPUで動作させる事ですね。
まず、chainer-1.9.1/examples/mnist/train_mnist.py のGPUスイッチを入れてみた。
parser.add_argument('--gpu', '-g', default=0, type=int,
help='GPU ID (negative value indicates CPU)')
で、どうなるか?
$ python3 chainer-1.9.1/examples/mnist/train_mnist.py
GPU: 0
# unit: 1000
# Minibatch-size: 100
# epoch: 20
Network type: simple
load MNIST dataset
Downloading train-images-idx3-ubyte.gz...
Done
Downloading train-labels-idx1-ubyte.gz...
Done
Downloading t10k-images-idx3-ubyte.gz...
Done
Downloading t10k-labels-idx1-ubyte.gz...
Done
Converting training data...
Done
Converting test data...
Done
Save output...
Done
Convert completed
Traceback (most recent call last):
File "chainer-1.9.1/examples/mnist/train_mnist.py", line 68, in <module>
cuda.get_device(args.gpu).use()
File "/Users/ほげほげ/.pyenv/versions/anaconda3-4.0.0/lib/python3.5/site-packages/chainer/cuda.py", line 161, in get_device
check_cuda_available()
File "/Users/ほげほげ/.pyenv/versions/anaconda3-4.0.0/lib/python3.5/site-packages/chainer/cuda.py", line 82, in check_cuda_available
raise RuntimeError(msg)
RuntimeError: CUDA environment is not correctly set up
(see https://github.com/pfnet/chainer#installation).'str' object has no attribute '__traceback__'
でエラーで止まった。
んー、とりあえずCUDAとか、cuda.pyとか不備があるようだ。
まずは、NVIDIAからCUDAドライバーと、Toolkitをダウンロードし、インストールした。
$ vi ./.bash_profile で 次の通りパス設定を書き込みます。
# CUDA
export PATH=/Developer/NVIDIA/CUDA-7.5/bin:$PATH
export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.5/lib:$DYLD_LIBRARY_PATH
CUDAのバージョンの数字は、導入時期に合わせて適宜変更が必要。
軽く動作確認してみます。
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Mon_Apr_11_13:23:40_CDT_2016
Cuda compilation tools, release 7.5, V7.5.26
一応、パスは通っているみたいだ。
次にCUDAのサンプルプログラムを動かしてみます。
・Xcodeをインストールする。
・Boostをインストールする。Homebrewを使うと楽にインストールできる。
$ brew install boost
では、CUDAのサンプルファイルを実行する準備を行います。
$ cd /Developer/NVIDIA/CUDA-7.5/samples
$ sudo make
結構長い間コンパイル作業が続きます。
お茶でも飲んで待っているといいかもしれません。
コンパイル作業が終わったら、このコマンドを叩いてみます。
$ 1_Utilities/deviceQuery/deviceQuery
もしCUDAがうまく動作している場合は、こんな表示が出ます。
1_utilities/deviceQuery/deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 970"
CUDA Driver Version / Runtime Version 7.5 / 7.5
CUDA Capability Major/Minor version number: 5.2
Total amount of global memory: 4096 MBytes (4294770688 bytes)
(13) Multiprocessors, (128) CUDA Cores/MP: 1664 CUDA Cores
GPU Max Clock rate: 1216 MHz (1.22 GHz)
Memory Clock rate: 3505 Mhz
Memory Bus Width: 256-bit
L2 Cache Size: 1835008 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 2 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 970
Result = PASS
やったー!動いているみたいだ。
もう一つテストしてみる。
$ 1_utilities/bandwidthTest/bandwidthTest
[CUDA Bandwidth Test] - Starting...
Running on...
Device 0: GeForce GTX 970
Quick Mode
Host to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 12785.7
Device to Host Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 12846.7
Device to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 142505.2
Result = PASS
NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
へいへい、わっかりやした。
enableなことが分かれば、それで十分です。
2016年6月22日水曜日
とりあえずChainerをインストールしてみる
で、とりあえずChainerをインストールしてみる。
Chainerをインストールするために、chainer.orgに行く。
インストール方法は簡単で、Pythonをインストール済みの環境ならば、次のコマンドを打つだけ。
$ pip install chainer
テスト用サンプルがあるらしいので、これから始めてみよう。
$ wget https://github.com/pfnet/chainer/archive/v1.9.1.tar.gz
$ tar xzf v1.9.1.tar.gz
$ python chainer-1.9.1/examples/mnist/train_mnist.py
実行してみようとしたら、wgetがないという。
$ which wget
反応なしなので、やっぱりインストールはされていない。
では次のコマンドでwgetをインストールする。
$ brew install wget
==> Downloading https://homebrew.bintray.com/bottles/wget-1.18.el_capitan.bottle
######################################################################## 100.0%
==> Pouring wget-1.18.el_capitan.bottle.tar.gz
🍺 /usr/local/Cellar/wget/1.18: 9 files, 1.6M
パッケージ管理システムは、ほんと便利、ありがたい。
気を取り直して、再挑戦。
$ wget https://github.com/pfnet/chainer/archive/v1.9.1.tar.gz
--2016-06-22 20:44:26-- https://github.com/pfnet/chainer/archive/v1.9.1.tar.gz
Resolving github.com... 192.30.252.122
Connecting to github.com|192.30.252.122|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/pfnet/chainer/tar.gz/v1.9.1 [following]
--2016-06-22 20:44:27-- https://codeload.github.com/pfnet/chainer/tar.gz/v1.9.1
Resolving codeload.github.com... 192.30.253.120
Connecting to codeload.github.com|192.30.253.120|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: ‘v1.9.1.tar.gz’
v1.9.1.tar.gz [ <=> ] 1.80M 622KB/s in 3.0s
2016-06-22 20:44:31 (622 KB/s) - ‘v1.9.1.tar.gz’ saved [1893254]
ダウンロードが済んだら、圧縮ファイルを展開。
$ tar xzf v1.9.1.tar.gz
で実行してみる。
$ python3 chainer-1.9.1/examples/mnist/train_mnist.py
GPU: -1
# unit: 1000
# Minibatch-size: 100
# epoch: 20
Network type: simple
load MNIST dataset
Downloading train-images-idx3-ubyte.gz...
Done
Downloading train-labels-idx1-ubyte.gz...
Done
Downloading t10k-images-idx3-ubyte.gz...
Done
Downloading t10k-labels-idx1-ubyte.gz...
Done
Converting training data...
Done
Converting test data...
Done
Save output...
Done
Convert completed
epoch 1
graph generated
train mean loss=0.19060514808942874, accuracy=0.9417666694770257, throughput=4271.602999064454 images/sec
test mean loss=0.087592640517978, accuracy=0.9728000050783158
epoch 2
train mean loss=0.0738531613512896, accuracy=0.9769333433111509, throughput=3953.7409389202767 images/sec
test mean loss=0.07370956073747947, accuracy=0.9775000071525574
epoch 3
train mean loss=0.04970679437314781, accuracy=0.9846500095725059, throughput=3811.6873914039775 images/sec
test mean loss=0.0637695388092834, accuracy=0.9800000065565109
epoch 4
train mean loss=0.03488761224221283, accuracy=0.9886000087857246, throughput=3692.2595329471765 images/sec
test mean loss=0.07119732037186623, accuracy=0.9786000061035156
epoch 5
train mean loss=0.028896143916257035, accuracy=0.9905666745702426, throughput=3695.4207240808023 images/sec
test mean loss=0.07256504680110083, accuracy=0.9788000077009201
epoch 6
train mean loss=0.02374378211319102, accuracy=0.9921833403905232, throughput=3583.3320328487594 images/sec
test mean loss=0.10043191654083784, accuracy=0.9744000059366226
epoch 7
train mean loss=0.020924357878029695, accuracy=0.992866672972838, throughput=3592.6140728613955 images/sec
test mean loss=0.06807603047812108, accuracy=0.9835000067949295
epoch 8
train mean loss=0.017630842202852364, accuracy=0.9942500052849451, throughput=3537.208209028512 images/sec
test mean loss=0.08859721799534782, accuracy=0.9785000056028366
epoch 9
train mean loss=0.018209161819856188, accuracy=0.9943000053366026, throughput=3460.3185817121116 images/sec
test mean loss=0.08362272959568146, accuracy=0.980100005865097
epoch 10
train mean loss=0.013510788094675567, accuracy=0.9956166708469391, throughput=3414.213791867741 images/sec
test mean loss=0.09247089847276073, accuracy=0.9814000064134598
epoch 11
train mean loss=0.013009410188321151, accuracy=0.9958500039577484, throughput=3326.4933053556624 images/sec
test mean loss=0.09212554091344487, accuracy=0.9791000074148178
epoch 12
train mean loss=0.013966237730543677, accuracy=0.9955333373943964, throughput=3213.203793557963 images/sec
test mean loss=0.07512530633225424, accuracy=0.9832000082731247
epoch 13
train mean loss=0.011328027055885741, accuracy=0.9966166697939237, throughput=3143.6668155565453 images/sec
test mean loss=0.11614390091075905, accuracy=0.9787000072002411
epoch 14
train mean loss=0.011522313533887427, accuracy=0.9965333365400633, throughput=3069.061238992809 images/sec
test mean loss=0.10542018069097821, accuracy=0.9778000056743622
epoch 15
train mean loss=0.014500913300751487, accuracy=0.9957000040014585, throughput=2994.8600530405492 images/sec
test mean loss=0.10059675336371895, accuracy=0.9800000071525574
epoch 16
train mean loss=0.0079077750227475, accuracy=0.9975333355863889, throughput=2914.1439322729966 images/sec
test mean loss=0.08044841805511829, accuracy=0.9852000093460083
epoch 17
train mean loss=0.006486849701715869, accuracy=0.9980333352088928, throughput=2828.4838384387863 images/sec
test mean loss=0.10793283259050049, accuracy=0.9788000065088273
epoch 18
train mean loss=0.0125344805511196, accuracy=0.9963000035285949, throughput=2795.0638334358655 images/sec
test mean loss=0.10538647441120699, accuracy=0.9828000074625015
epoch 19
train mean loss=0.009864346119461895, accuracy=0.9970833361148834, throughput=2750.219816402364 images/sec
test mean loss=0.12158339534574539, accuracy=0.9794000047445297
epoch 20
train mean loss=0.012885340018372063, accuracy=0.9962166701753934, throughput=2738.190540420163 images/sec
test mean loss=0.0986378959132702, accuracy=0.982900008559227
save the model
save the optimizer
初期設定では、GPUは使用しないモードになっているらしい。
稼働中はメモリ使用量はあまり変化ないけれど、CPU負荷率は100%近い状態になっていた。
GPUを稼働させてみたいなあ。。。
Chainerをインストールするために、chainer.orgに行く。
インストール方法は簡単で、Pythonをインストール済みの環境ならば、次のコマンドを打つだけ。
$ pip install chainer
テスト用サンプルがあるらしいので、これから始めてみよう。
$ wget https://github.com/pfnet/chainer/archive/v1.9.1.tar.gz
$ tar xzf v1.9.1.tar.gz
$ python chainer-1.9.1/examples/mnist/train_mnist.py
実行してみようとしたら、wgetがないという。
$ which wget
反応なしなので、やっぱりインストールはされていない。
では次のコマンドでwgetをインストールする。
$ brew install wget
==> Downloading https://homebrew.bintray.com/bottles/wget-1.18.el_capitan.bottle
######################################################################## 100.0%
==> Pouring wget-1.18.el_capitan.bottle.tar.gz
🍺 /usr/local/Cellar/wget/1.18: 9 files, 1.6M
パッケージ管理システムは、ほんと便利、ありがたい。
気を取り直して、再挑戦。
$ wget https://github.com/pfnet/chainer/archive/v1.9.1.tar.gz
--2016-06-22 20:44:26-- https://github.com/pfnet/chainer/archive/v1.9.1.tar.gz
Resolving github.com... 192.30.252.122
Connecting to github.com|192.30.252.122|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/pfnet/chainer/tar.gz/v1.9.1 [following]
--2016-06-22 20:44:27-- https://codeload.github.com/pfnet/chainer/tar.gz/v1.9.1
Resolving codeload.github.com... 192.30.253.120
Connecting to codeload.github.com|192.30.253.120|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: ‘v1.9.1.tar.gz’
v1.9.1.tar.gz [ <=> ] 1.80M 622KB/s in 3.0s
2016-06-22 20:44:31 (622 KB/s) - ‘v1.9.1.tar.gz’ saved [1893254]
ダウンロードが済んだら、圧縮ファイルを展開。
$ tar xzf v1.9.1.tar.gz
で実行してみる。
$ python3 chainer-1.9.1/examples/mnist/train_mnist.py
GPU: -1
# unit: 1000
# Minibatch-size: 100
# epoch: 20
Network type: simple
load MNIST dataset
Downloading train-images-idx3-ubyte.gz...
Done
Downloading train-labels-idx1-ubyte.gz...
Done
Downloading t10k-images-idx3-ubyte.gz...
Done
Downloading t10k-labels-idx1-ubyte.gz...
Done
Converting training data...
Done
Converting test data...
Done
Save output...
Done
Convert completed
epoch 1
graph generated
train mean loss=0.19060514808942874, accuracy=0.9417666694770257, throughput=4271.602999064454 images/sec
test mean loss=0.087592640517978, accuracy=0.9728000050783158
epoch 2
train mean loss=0.0738531613512896, accuracy=0.9769333433111509, throughput=3953.7409389202767 images/sec
test mean loss=0.07370956073747947, accuracy=0.9775000071525574
epoch 3
train mean loss=0.04970679437314781, accuracy=0.9846500095725059, throughput=3811.6873914039775 images/sec
test mean loss=0.0637695388092834, accuracy=0.9800000065565109
epoch 4
train mean loss=0.03488761224221283, accuracy=0.9886000087857246, throughput=3692.2595329471765 images/sec
test mean loss=0.07119732037186623, accuracy=0.9786000061035156
epoch 5
train mean loss=0.028896143916257035, accuracy=0.9905666745702426, throughput=3695.4207240808023 images/sec
test mean loss=0.07256504680110083, accuracy=0.9788000077009201
epoch 6
train mean loss=0.02374378211319102, accuracy=0.9921833403905232, throughput=3583.3320328487594 images/sec
test mean loss=0.10043191654083784, accuracy=0.9744000059366226
epoch 7
train mean loss=0.020924357878029695, accuracy=0.992866672972838, throughput=3592.6140728613955 images/sec
test mean loss=0.06807603047812108, accuracy=0.9835000067949295
epoch 8
train mean loss=0.017630842202852364, accuracy=0.9942500052849451, throughput=3537.208209028512 images/sec
test mean loss=0.08859721799534782, accuracy=0.9785000056028366
epoch 9
train mean loss=0.018209161819856188, accuracy=0.9943000053366026, throughput=3460.3185817121116 images/sec
test mean loss=0.08362272959568146, accuracy=0.980100005865097
epoch 10
train mean loss=0.013510788094675567, accuracy=0.9956166708469391, throughput=3414.213791867741 images/sec
test mean loss=0.09247089847276073, accuracy=0.9814000064134598
epoch 11
train mean loss=0.013009410188321151, accuracy=0.9958500039577484, throughput=3326.4933053556624 images/sec
test mean loss=0.09212554091344487, accuracy=0.9791000074148178
epoch 12
train mean loss=0.013966237730543677, accuracy=0.9955333373943964, throughput=3213.203793557963 images/sec
test mean loss=0.07512530633225424, accuracy=0.9832000082731247
epoch 13
train mean loss=0.011328027055885741, accuracy=0.9966166697939237, throughput=3143.6668155565453 images/sec
test mean loss=0.11614390091075905, accuracy=0.9787000072002411
epoch 14
train mean loss=0.011522313533887427, accuracy=0.9965333365400633, throughput=3069.061238992809 images/sec
test mean loss=0.10542018069097821, accuracy=0.9778000056743622
epoch 15
train mean loss=0.014500913300751487, accuracy=0.9957000040014585, throughput=2994.8600530405492 images/sec
test mean loss=0.10059675336371895, accuracy=0.9800000071525574
epoch 16
train mean loss=0.0079077750227475, accuracy=0.9975333355863889, throughput=2914.1439322729966 images/sec
test mean loss=0.08044841805511829, accuracy=0.9852000093460083
epoch 17
train mean loss=0.006486849701715869, accuracy=0.9980333352088928, throughput=2828.4838384387863 images/sec
test mean loss=0.10793283259050049, accuracy=0.9788000065088273
epoch 18
train mean loss=0.0125344805511196, accuracy=0.9963000035285949, throughput=2795.0638334358655 images/sec
test mean loss=0.10538647441120699, accuracy=0.9828000074625015
epoch 19
train mean loss=0.009864346119461895, accuracy=0.9970833361148834, throughput=2750.219816402364 images/sec
test mean loss=0.12158339534574539, accuracy=0.9794000047445297
epoch 20
train mean loss=0.012885340018372063, accuracy=0.9962166701753934, throughput=2738.190540420163 images/sec
test mean loss=0.0986378959132702, accuracy=0.982900008559227
save the model
save the optimizer
初期設定では、GPUは使用しないモードになっているらしい。
稼働中はメモリ使用量はあまり変化ないけれど、CPU負荷率は100%近い状態になっていた。
GPUを稼働させてみたいなあ。。。
2016年6月17日金曜日
[Hackintosh] ASUS H110I-PLUS / NVIDIA GTX970 で夢を見た [Skylake]
ということで、忘れないうちに、夢の続きの話をしようか……。
用意したもの。
・8Gb以上のUSBメモリ(16Gb以上のUSB2.0が成功しやすいそうだ。)
・UniBeast
・MultiBeast
・KextBeast
・Clover Configurator
1.UniBeastでインストールディスクを作る。
選択するのは、El Capitan、UEFI Boot Modeのみ。
グラフィックオプションには手を触れてはいけない。
2.UniBeastで作ったインストールUSBからブートする。
インストーラーが立ち上がらない場合は、BIOSの設定に不具合が出ている。
インストーラーが途中でカーネルパニックを起こした時は、シリアルポートを止めたら回避できた。
3.インストール設定が終わったら、再起動がかかる。
この時の再起動は、必ずUSBメモリから起動し、OSXをインストールしたHDD/SDDを選択して、インストールを継続する。
4.一通りインストール設定が終わったら、MultiBeastを立ち上げる。
MultiBeastの設定は次の通り。
ポイントはグラフィックカードの設定についてはいじらないことだ。
すでに不完全な状況(HD530を誤認識していた)ではあるものの、NVIDIA GTX970は稼働しているので、あとでNVIDIAから適切なドライバをダウンロードし、インストールすれば良い。
4.シリアルナンバーをメモする
※自分のマシンの時は必要なかった。念のため。
Clover Configuratorを立ち上げる。
EFIドライブをマウントし、CLOVERディレクトリ内にあるconfig.plistを開く。
SMBIOSのなかにあるシリアルナンバーをメモっておく。
5.KextBeastをクリックして、インストール作業を行う。
インストール先は、/Library/Extensions を選択する。
インストール作業が終わったら削除して良い。
6.「このMacについて」で搭載メモリが正しく認識されていない場合。
Clover Configuratorを立ち上げる。
EFIドライブをマウントし、CLOVERディレクトリ内にあるconfig.plistを開く。
テキストエディターを使い、Memoryの設定項目に次のように情報を書き込んだ。
Size、Frequencyは搭載メモリの仕様をあらかじめ調べておくこと。
※張った後で気づいたが、ウチの環境だとSlotCountは2が正しい。
実害はないから構わないんだが。
保存して終了する。
7.USBを抜き、HDD/SDDから再起動する。
8.NVIDIAのサイトへ行き、適切なグラフィックドライバをインストールする。
9.オーディオデバイスについて
もともとUnix、Linuxでオンボードオーディオデバイスを認識させることは難しい。
かつて自分もなんども敗退したところ。
今回もネットワークデバイスは1発で認識したのに、オーディオデバイスは認識しなかった。
対応方法を調べるのがめんどくさくて、USBオーディオ変換アダプタを買ったら一発で認識した。
僕が買ったのは「iitrust USB オーディオ 変換アダプタ」というヤツで、1000円もしない安物だけど、問題なく稼働。オーディオデバイスを認識しないと、動画ファイルなどが開けないので、結構重要なポイント。
いい夢を見ました。
ほんとうに、いい夢でした。
用意したもの。
・8Gb以上のUSBメモリ(16Gb以上のUSB2.0が成功しやすいそうだ。)
・UniBeast
・MultiBeast
・KextBeast
・Clover Configurator
1.UniBeastでインストールディスクを作る。
選択するのは、El Capitan、UEFI Boot Modeのみ。
グラフィックオプションには手を触れてはいけない。
2.UniBeastで作ったインストールUSBからブートする。
インストーラーが立ち上がらない場合は、BIOSの設定に不具合が出ている。
インストーラーが途中でカーネルパニックを起こした時は、シリアルポートを止めたら回避できた。
3.インストール設定が終わったら、再起動がかかる。
この時の再起動は、必ずUSBメモリから起動し、OSXをインストールしたHDD/SDDを選択して、インストールを継続する。
4.一通りインストール設定が終わったら、MultiBeastを立ち上げる。
MultiBeastの設定は次の通り。
ポイントはグラフィックカードの設定についてはいじらないことだ。
すでに不完全な状況(HD530を誤認識していた)ではあるものの、NVIDIA GTX970は稼働しているので、あとでNVIDIAから適切なドライバをダウンロードし、インストールすれば良い。
4.シリアルナンバーをメモする
※自分のマシンの時は必要なかった。念のため。
Clover Configuratorを立ち上げる。
EFIドライブをマウントし、CLOVERディレクトリ内にあるconfig.plistを開く。
SMBIOSのなかにあるシリアルナンバーをメモっておく。
5.KextBeastをクリックして、インストール作業を行う。
インストール先は、/Library/Extensions を選択する。
インストール作業が終わったら削除して良い。
6.「このMacについて」で搭載メモリが正しく認識されていない場合。
Clover Configuratorを立ち上げる。
EFIドライブをマウントし、CLOVERディレクトリ内にあるconfig.plistを開く。
テキストエディターを使い、Memoryの設定項目に次のように情報を書き込んだ。
Size、Frequencyは搭載メモリの仕様をあらかじめ調べておくこと。
※張った後で気づいたが、ウチの環境だとSlotCountは2が正しい。
実害はないから構わないんだが。
保存して終了する。
7.USBを抜き、HDD/SDDから再起動する。
8.NVIDIAのサイトへ行き、適切なグラフィックドライバをインストールする。
9.オーディオデバイスについて
もともとUnix、Linuxでオンボードオーディオデバイスを認識させることは難しい。
かつて自分もなんども敗退したところ。
今回もネットワークデバイスは1発で認識したのに、オーディオデバイスは認識しなかった。
対応方法を調べるのがめんどくさくて、USBオーディオ変換アダプタを買ったら一発で認識した。
僕が買ったのは「iitrust USB オーディオ 変換アダプタ」というヤツで、1000円もしない安物だけど、問題なく稼働。オーディオデバイスを認識しないと、動画ファイルなどが開けないので、結構重要なポイント。
いい夢を見ました。
ほんとうに、いい夢でした。
2016年6月16日木曜日
[Hackintosh] ASUS H110I-PLUS / NVIDIA GTX970 のBIOS設定 [Skylake]
問題のBIOS設定で見た夢を残しておきます。
これが正解かどうかはわかりませんが、少なくともこれで動いている夢は見れるということです。
項目が多いところはDefaultなど表記を端折っています。
要はなにも触っていないよと考えてくださいな。
あと本当に肝だったのは、
Graphics Configuration
Primary Display:Auto
iGPU Multi-Monitor:Enabled
というところでした。
NVIDIAを使うので殺しておくべき項目かと思ったのですが、ここをEnabledにしておくことで、とりあえずHD530で表示ができたり、最終的にNVIDIA GTX970の設定ができたりしました。
僕はNVIDIAの稼働を目指している時に、Primary DisplayをHD530やGraphic board固定などにしてしまったため、はまっていたのだと思います。
ここはAutoが正解のようです。
===========================================
Motherboad:ASUS H110I-PLUS BIOS Ver.0412
CPU:Core i5-6600 @3.30GHz
Memory:16384MB (DDR4 2133MHz)
SATA 6G_1:SanDisk UitraII 480GB(480.1G)
SATA 6G_2:TOSHIBA DT01ABA100V(1000.2GB)
CPU Core Ratio:Auto
DRAM Odd Ratio Mode:Enabled
DRAM Frequency:Auto
EPU Power Saving Mode:Disabled
CPU SVID Support:Auto
DRAM Timing Contral:all Default (No Touch)
DIGI+VRM:all Default (No Touch)
Internal CPU Power Management:all Default (No Touch)
DRAM REF Voltage Control:all Default (No Touch)
CPU Configuration:all Default (No Touch)
CPU Power Management Configuration:all Default (No Touch)
Platform Misc Configuration:all Disabled
System Agent(SA) Configuration
VT-d:Disabled
Graphics Configuration
Primary Display:Auto
iGPU Multi-Monitor:Enabled
RC6(Render Standby):Enabled
DVMT Pre-Allocated:128M
DMI/OPI Configuration:Auto
PEG Port Configuration:Auto
Memory Configuration:Enabled
PCH Configuration:Enabled
PCH Strage Configuration:all Default (No Touch)
USB Configuration
Legacy USB Support:Enabled
XHCI Hand-off:Enabled
USB Single Port Control:all Default (No Touch)
Onboard Devices Configuration
HD Audio Controller:Enable
Front Panel Type:HD Audio
DVI Port Audio:Disabled
Realtek LAN Controller:On
Realtek PXE OPROM:On
Charging USB devices in Power State S5:Disabled
Serial Port Configuration:Off
APM Configuration
ErP Ready:Enable(S4+S5)
Restore AC Power Loss:Power Off
Power On By PCI-E:Disabled
Power On By Ring:Disabled
Power On By RTC:Disabled
Network Stack Configuration:all Default (No Touch)
SSD SMART Information:all Default (No Touch)
Boot:all Default (No Touch)
これが正解かどうかはわかりませんが、少なくともこれで動いている夢は見れるということです。
項目が多いところはDefaultなど表記を端折っています。
要はなにも触っていないよと考えてくださいな。
あと本当に肝だったのは、
Graphics Configuration
Primary Display:Auto
iGPU Multi-Monitor:Enabled
というところでした。
NVIDIAを使うので殺しておくべき項目かと思ったのですが、ここをEnabledにしておくことで、とりあえずHD530で表示ができたり、最終的にNVIDIA GTX970の設定ができたりしました。
僕はNVIDIAの稼働を目指している時に、Primary DisplayをHD530やGraphic board固定などにしてしまったため、はまっていたのだと思います。
ここはAutoが正解のようです。
===========================================
Motherboad:ASUS H110I-PLUS BIOS Ver.0412
CPU:Core i5-6600 @3.30GHz
Memory:16384MB (DDR4 2133MHz)
SATA 6G_1:SanDisk UitraII 480GB(480.1G)
SATA 6G_2:TOSHIBA DT01ABA100V(1000.2GB)
CPU Core Ratio:Auto
DRAM Odd Ratio Mode:Enabled
DRAM Frequency:Auto
EPU Power Saving Mode:Disabled
CPU SVID Support:Auto
DRAM Timing Contral:all Default (No Touch)
DIGI+VRM:all Default (No Touch)
Internal CPU Power Management:all Default (No Touch)
DRAM REF Voltage Control:all Default (No Touch)
CPU Configuration:all Default (No Touch)
CPU Power Management Configuration:all Default (No Touch)
Platform Misc Configuration:all Disabled
System Agent(SA) Configuration
VT-d:Disabled
Graphics Configuration
Primary Display:Auto
iGPU Multi-Monitor:Enabled
RC6(Render Standby):Enabled
DVMT Pre-Allocated:128M
DMI/OPI Configuration:Auto
PEG Port Configuration:Auto
Memory Configuration:Enabled
PCH Configuration:Enabled
PCH Strage Configuration:all Default (No Touch)
USB Configuration
Legacy USB Support:Enabled
XHCI Hand-off:Enabled
USB Single Port Control:all Default (No Touch)
Onboard Devices Configuration
HD Audio Controller:Enable
Front Panel Type:HD Audio
DVI Port Audio:Disabled
Realtek LAN Controller:On
Realtek PXE OPROM:On
Charging USB devices in Power State S5:Disabled
Serial Port Configuration:Off
APM Configuration
ErP Ready:Enable(S4+S5)
Restore AC Power Loss:Power Off
Power On By PCI-E:Disabled
Power On By Ring:Disabled
Power On By RTC:Disabled
Network Stack Configuration:all Default (No Touch)
SSD SMART Information:all Default (No Touch)
Boot:all Default (No Touch)
さらに深い夢を見た……Hackintosh
ackintoshを作る上で、肝とされているのはマザーボード選びと言われてますが、僕の場合、手持ちの機材でなんとかしなきゃならない状況でした。
まあ、夢の話ですから、ダメな時はダメと割り切ってましたが。
成功したいならば、GIGABYTEのマザーボードを使うべきだそうですが、僕の手持ちはASUS。
しかもCPUがSkylakeという、わりと大変な組み合わせ。
幸いにも、El Capitanが10.11.4以降、Skylakeに対応したため、ハードルはものすごく下がっていたのはラッキーでした。
最初はインストーラー画面すら行き着かず。
その後は、インストーラーのリンゴのマークが出ても、プログレスバーが途中で止まったり、最終リブート後に画面が表示されなかったりと、なかなか悪夢を見ました。
最終的にわかったのは、BIOSの設定が問題だった。
Unibeastの設定が問題だった。
NVIDIA GTX970の設定タイミングが問題だった。
の3つが組み合わさって、問題が複雑化していたのでした。
まあ、夢の話ですから、ダメな時はダメと割り切ってましたが。
成功したいならば、GIGABYTEのマザーボードを使うべきだそうですが、僕の手持ちはASUS。
しかもCPUがSkylakeという、わりと大変な組み合わせ。
幸いにも、El Capitanが10.11.4以降、Skylakeに対応したため、ハードルはものすごく下がっていたのはラッキーでした。
最初はインストーラー画面すら行き着かず。
その後は、インストーラーのリンゴのマークが出ても、プログレスバーが途中で止まったり、最終リブート後に画面が表示されなかったりと、なかなか悪夢を見ました。
最終的にわかったのは、BIOSの設定が問題だった。
Unibeastの設定が問題だった。
NVIDIA GTX970の設定タイミングが問題だった。
の3つが組み合わさって、問題が複雑化していたのでした。
2016年6月15日水曜日
[Success][Skylake] ASUS H110I-PLUS / NVIDIA GTX970 [hackintosh]
ここしばらく、がんばって挑戦していました。
Onboard Audioは認識させるのが難しかったので、USBオーディオ変換アダプタで対応してしまおうと思ってます。
Skylake、ASUS H110I-PLUSでの成功報告は、他で見かけたことがありません。
でも、サウンド以外はパーフェクトな感じで動いていますよ。
Hackintoshは、なかなかすごい夢でした。。。。
夢の内容は、また別の機会に。
Onboard Audioは認識させるのが難しかったので、USBオーディオ変換アダプタで対応してしまおうと思ってます。
Skylake、ASUS H110I-PLUSでの成功報告は、他で見かけたことがありません。
でも、サウンド以外はパーフェクトな感じで動いていますよ。
Hackintoshは、なかなかすごい夢でした。。。。
夢の内容は、また別の機会に。
2016年6月12日日曜日
窓の国と、美しい渓谷を行き来する……という夢を見た
Windows向けキーボードをMac OS Xで使う場合の夢。
キーボードの設定は、キーボード設定アシスタントから行うよ。
2度繰り返すと良いらしい。
Macキーボードのように、「英数」「かな」「Command」「Option」キーは変更したい。
その時は、Seilというツールを使うと良いんだ。
設定画面で上の段の一番下のFor Japaneseの3つをチェック
3つの一番下のEnable KATAKANA Key on PC KeybordのKeycodeを「104」に修正するよ。
この設定で、キーは次の割り付けになる。
Windowsキー = Command
Altキー = Option・Alt
無変換キー = 英数
変換キー、カタカナひらがなキー = かな
Ctrlも入れ替え可能らしいけど、僕は混乱しそうなのでやめた。
ホットキーを変更した夢も見た……。
C:\Users\誰かさん\AppData\Roaming\VMware\preference.ini で呪文を唱えた。
pref.hotkey.shift = "true"
pref.hotkey.control = "true"
pref.hotkey.alt = "false"
pref.hotkey.gui = "false"
これは、VMwaerゲストOSから、ホストOSへ戻るホットキーがあるのだけど、Windowsホストの場合は、Ctrl+Altなんだ。
僕の夢では、これをCtrl+Shiftに変更したんだよ。
これは好みの問題かもね。
それ以外に見たショートカットの夢……。
Windows10の仮想デスクトップを移動する : Ctrl+Windows+ ←→
ホストOSにフォーカスを変更する : Ctrl+Shift
VMwareを全画面表示にする(全画面表示を解く) : Ctrl+Shift+Enter
これを組み合わせて運用すると、こんな感じになる。
仮想デスクトップ1でWindowsを運用。
仮想デスクトップ2でどこかのEl Capitanが運用されている。
美しい渓谷を眺めに行くときは、Ctrl+Windows+ →
窓の国へ戻ってくるときは、一度Ctrl+Shift、そのあとにCtrl+Windows+ ←。
あ~、いい夢を見た。
キーボードの設定は、キーボード設定アシスタントから行うよ。
2度繰り返すと良いらしい。
Macキーボードのように、「英数」「かな」「Command」「Option」キーは変更したい。
その時は、Seilというツールを使うと良いんだ。
設定画面で上の段の一番下のFor Japaneseの3つをチェック
3つの一番下のEnable KATAKANA Key on PC KeybordのKeycodeを「104」に修正するよ。
この設定で、キーは次の割り付けになる。
Windowsキー = Command
Altキー = Option・Alt
無変換キー = 英数
変換キー、カタカナひらがなキー = かな
Ctrlも入れ替え可能らしいけど、僕は混乱しそうなのでやめた。
ホットキーを変更した夢も見た……。
C:\Users\誰かさん\AppData\Roaming\VMware\preference.ini で呪文を唱えた。
pref.hotkey.shift = "true"
pref.hotkey.control = "true"
pref.hotkey.alt = "false"
pref.hotkey.gui = "false"
これは、VMwaerゲストOSから、ホストOSへ戻るホットキーがあるのだけど、Windowsホストの場合は、Ctrl+Altなんだ。
僕の夢では、これをCtrl+Shiftに変更したんだよ。
これは好みの問題かもね。
それ以外に見たショートカットの夢……。
Windows10の仮想デスクトップを移動する : Ctrl+Windows+ ←→
ホストOSにフォーカスを変更する : Ctrl+Shift
VMwareを全画面表示にする(全画面表示を解く) : Ctrl+Shift+Enter
これを組み合わせて運用すると、こんな感じになる。
仮想デスクトップ1でWindowsを運用。
仮想デスクトップ2でどこかのEl Capitanが運用されている。
美しい渓谷を眺めに行くときは、Ctrl+Windows+ →
窓の国へ戻ってくるときは、一度Ctrl+Shift、そのあとにCtrl+Windows+ ←。
あ~、いい夢を見た。
2016年6月11日土曜日
迷路のトラップに注意して進むんだよ……という夢を見た
火を入れて待っていると、そのうち食いかけの林檎があらわれるよ。
「覚悟」を問われたら、素直に「Yes!」と返答するんだ。
間違っても「のばら」とか言っちゃいけない。
OS Xインストールっていう画面が現れるよ。
戸惑うよね。
インストール先がないんだから。
僕もすごく悩んだよ。
そんな時は天井を見上げるんだ。
「ユーティリティ」という小部屋に「ディスクユーティリティ」という頼もしい味方がいる。
その場所にはキミが作って持ってきたディスクがいると思う。
それを選んで、過去のしがらみを消してもらうんだ。
消去の魔法が終わったら、小部屋から出ておいて。
ほら、キミの進む道が現れる。
あ~、いい夢を見た。
「覚悟」を問われたら、素直に「Yes!」と返答するんだ。
間違っても「のばら」とか言っちゃいけない。
OS Xインストールっていう画面が現れるよ。
戸惑うよね。
インストール先がないんだから。
僕もすごく悩んだよ。
そんな時は天井を見上げるんだ。
「ユーティリティ」という小部屋に「ディスクユーティリティ」という頼もしい味方がいる。
その場所にはキミが作って持ってきたディスクがいると思う。
それを選んで、過去のしがらみを消してもらうんだ。
消去の魔法が終わったら、小部屋から出ておいて。
ほら、キミの進む道が現れる。
あ~、いい夢を見た。
最初に林檎箱を作るけど、火は止めなくちゃいけない……という夢を見た
ちゃんと.isoファイルを移し替えたかい?
VMware Workstation Playerというツールを起動すると、4つのボタンが現れるよ。
まっさらな状態だからね、新規仮想マシンの作成ってのを選ぶんだよ。
そこからは指示通りに進んでゆけば良いよ。
だけど、火を入れる直前で一旦止めるんだ。
夢のスパイスで下味をつけると、おいしくなるからさ。
C:\Users\誰かさん\Documents\Virtual Machines\OS X 10.11 って場所で、OS X 10.11というファイルを探すんだ。
種類に「仮想マシン構成」と書いてあるだろう?
夢の仕様書ということかな。。。。
その仕様書の最後に、この5行の呪文を書き加えるんだ。
smc.version = "0"
keyboard.vusb.enable = "TRUE"
keyboard.vusb.idVendor = "0x0000"
keyboard.vusb.idProduct = "0x0000"
きっとキミの夢の続きに役立つはずだよ。
夢の仕様書を閉じたら、「仮想マシンを開く」を選んで、改めて火を入れよう。
あ~、いい夢を見た。
VMware Workstation Playerというツールを起動すると、4つのボタンが現れるよ。
まっさらな状態だからね、新規仮想マシンの作成ってのを選ぶんだよ。
そこからは指示通りに進んでゆけば良いよ。
だけど、火を入れる直前で一旦止めるんだ。
夢のスパイスで下味をつけると、おいしくなるからさ。
C:\Users\誰かさん\Documents\Virtual Machines\OS X 10.11 って場所で、OS X 10.11というファイルを探すんだ。
種類に「仮想マシン構成」と書いてあるだろう?
夢の仕様書ということかな。。。。
その仕様書の最後に、この5行の呪文を書き加えるんだ。
smc.version = "0"
keyboard.vusb.enable = "TRUE"
keyboard.vusb.idVendor = "0x0000"
keyboard.vusb.idProduct = "0x0000"
きっとキミの夢の続きに役立つはずだよ。
夢の仕様書を閉じたら、「仮想マシンを開く」を選んで、改めて火を入れよう。
あ~、いい夢を見た。
VMwareの鍵を開ける……という夢を見た
ある世界では、VMware Workstationというステキなツールが配られている。
僕らはプロじゃないからね、Playerで良いね。
version 12.11って語呂がいいんだか良くわからない。
気づいたら、VMware Workstation 12.11 Playerというヤツが、僕のPCにいた。
そのあとGoogle様が、Unlockerというものを教えてくれた。
手に入れた鍵束のなかに、win-installという魔法の鍵が見つかった。
「マスターとして実行」すると、呪文が流れてゆく。
これで、Playerに新しい仲間が加わるんだとか。
あ~、いい夢を見た。
僕らはプロじゃないからね、Playerで良いね。
version 12.11って語呂がいいんだか良くわからない。
気づいたら、VMware Workstation 12.11 Playerというヤツが、僕のPCにいた。
そのあとGoogle様が、Unlockerというものを教えてくれた。
手に入れた鍵束のなかに、win-installという魔法の鍵が見つかった。
「マスターとして実行」すると、呪文が流れてゆく。
これで、Playerに新しい仲間が加わるんだとか。
あ~、いい夢を見た。
OS X El Capitanのリカバリー用.isoを作る……という夢を見た
MacのOS X El Capitanが壊れてしまった場合に備えて、リカバリー用の.isoファイルを作っておこう。
Macを起動して、App Storeからダウンロードしてきます。
サイズは……すごく…大きいです。
約7.5Gくらい。
ダウンロードが終わったEl Capitanは、アプリケーションフォルダの中にいます。
Macのターミナルを起動して、不思議な呪文を唱えます。
#!/bin/bash
# Mount the installer image
hdiutil attach /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app
# Create the ElCapitan Blank ISO Image of 7316mb with a Single Partition - Apple Partition Map
hdiutil create -o /tmp/ElCapitan.cdr -size 7316m -layout SPUD -fs HFS+J
# Mount the ElCapitan Blank ISO Image
hdiutil attach /tmp/ElCapitan.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/install_build
# Restore the Base System into the ElCapitan Blank ISO Image
asr restore -source /Volumes/install_app/BaseSystem.dmg -target /Volumes/install_build -noprompt -noverify -erase
# Remove Package link and replace with actual files
rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages
cp -rp /Volumes/install_app/Packages /Volumes/OS\ X\ Base\ System/System/Installation/
# Copy El Capitan installer dependencies
cp -rp /Volumes/install_app/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System/BaseSystem.chunklist
cp -rp /Volumes/install_app/BaseSystem.dmg /Volumes/OS\ X\ Base\ System/BaseSystem.dmg
# Unmount the installer image
hdiutil detach /Volumes/install_app
# Unmount the ElCapitan ISO Image
hdiutil detach /Volumes/OS\ X\ Base\ System/
# Convert the ElCapitan ISO Image to ISO/CD master (Optional)
hdiutil convert /tmp/ElCapitan.cdr.dmg -format UDTO -o /tmp/ElCapitan.iso
# Rename the ElCapitan ISO Image and move it to the desktop
mv /tmp/ElCapitan.iso.cdr ~/Desktop/ElCapitan.iso
デスクトップにElCapitan.isoが現れたよ、母さん。
じゃあ、これをUSBメモリにコピーしたらいいね。
あ~、いい夢を見た。
Macを起動して、App Storeからダウンロードしてきます。
サイズは……すごく…大きいです。
約7.5Gくらい。
ダウンロードが終わったEl Capitanは、アプリケーションフォルダの中にいます。
Macのターミナルを起動して、不思議な呪文を唱えます。
#!/bin/bash
# Mount the installer image
hdiutil attach /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app
# Create the ElCapitan Blank ISO Image of 7316mb with a Single Partition - Apple Partition Map
hdiutil create -o /tmp/ElCapitan.cdr -size 7316m -layout SPUD -fs HFS+J
# Mount the ElCapitan Blank ISO Image
hdiutil attach /tmp/ElCapitan.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/install_build
# Restore the Base System into the ElCapitan Blank ISO Image
asr restore -source /Volumes/install_app/BaseSystem.dmg -target /Volumes/install_build -noprompt -noverify -erase
# Remove Package link and replace with actual files
rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages
cp -rp /Volumes/install_app/Packages /Volumes/OS\ X\ Base\ System/System/Installation/
# Copy El Capitan installer dependencies
cp -rp /Volumes/install_app/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System/BaseSystem.chunklist
cp -rp /Volumes/install_app/BaseSystem.dmg /Volumes/OS\ X\ Base\ System/BaseSystem.dmg
# Unmount the installer image
hdiutil detach /Volumes/install_app
# Unmount the ElCapitan ISO Image
hdiutil detach /Volumes/OS\ X\ Base\ System/
# Convert the ElCapitan ISO Image to ISO/CD master (Optional)
hdiutil convert /tmp/ElCapitan.cdr.dmg -format UDTO -o /tmp/ElCapitan.iso
# Rename the ElCapitan ISO Image and move it to the desktop
mv /tmp/ElCapitan.iso.cdr ~/Desktop/ElCapitan.iso
デスクトップにElCapitan.isoが現れたよ、母さん。
じゃあ、これをUSBメモリにコピーしたらいいね。
あ~、いい夢を見た。
WindowsとMac両方で使えるUSBメモリ……という夢を見た
サイズは8G以上、最低16G以上あると幸せになれるね。
WindowsとMac両方から読み書きできるようになるには、FAT32形式でフォーマットが必要。
MacでフォーマットしたUSBメモリが、そのあとWindowsでは200MBしか認識しなくなってしまって困ってしまうことが時々あるよね。
そんな時は「SDカードフォーマッター」に頼るといい。
SDアソシエーションのサイト(https://www.sdcard.org/jp/downloads/formatter_4/)へ行って、「SD/SDHC/SDXC用SDフォーマッター」をダウンロードしてインストールする。
オプション設定で「論理サイズ調整」をONにしてフォーマットする。
やがて元通りの容量を取り戻したUSBが復活するだろう。
あ~、いい夢を見た。
WindowsとMac両方から読み書きできるようになるには、FAT32形式でフォーマットが必要。
MacでフォーマットしたUSBメモリが、そのあとWindowsでは200MBしか認識しなくなってしまって困ってしまうことが時々あるよね。
そんな時は「SDカードフォーマッター」に頼るといい。
SDアソシエーションのサイト(https://www.sdcard.org/jp/downloads/formatter_4/)へ行って、「SD/SDHC/SDXC用SDフォーマッター」をダウンロードしてインストールする。
オプション設定で「論理サイズ調整」をONにしてフォーマットする。
やがて元通りの容量を取り戻したUSBが復活するだろう。
あ~、いい夢を見た。
2016年6月10日金曜日
あれ? Google AdSenseが有効になっている??
最近だと6ヶ月経たないとBloggerでAdSenseが有効にならないと言われていたが。。。
気づいたら今日から有効になってる。
ブログ開設から1ヶ月でAdSenseが認められたということか。
ありがたや~(^o^)丿
気づいたら今日から有効になってる。
ブログ開設から1ヶ月でAdSenseが認められたということか。
ありがたや~(^o^)丿
ただいま遊び用PCのセットアップ中
結局Windows10 ProfessionalベースのPCにすることにした。
Linuxはいろいろとディストリビューションを探してみたが、GUIのデザインがいかんかった。
長時間触っていたいという気持ちになれなかった。
CUIでサーバ用途には改めて考えてみたいと思う。
で、Vmwareで、これからごちょごちょインストール作業をする。
下準備作業がMacBook Proで進行中……。
Linuxはいろいろとディストリビューションを探してみたが、GUIのデザインがいかんかった。
長時間触っていたいという気持ちになれなかった。
CUIでサーバ用途には改めて考えてみたいと思う。
で、Vmwareで、これからごちょごちょインストール作業をする。
下準備作業がMacBook Proで進行中……。
2016年6月3日金曜日
やっちまった……
MacBook Proはコードを書くのつらいなあ……とか思っていて。
ただのワガママなんだけど、デスクトップ環境が欲しいなあ。
でも、iMacじゃないデスクトップって、気が遠くなるほど高価だなぁ。
悩んで、ハイエンドに近いグラフィックボード搭載機を注文してしまった。
Windows10マシンにするか。
Linuxマシンにするか。
はたまたOSX86の夢を見るか……。
ScanSnap周りが、Linuxではまだまだ整備されていないので困る。。。。
ただのワガママなんだけど、デスクトップ環境が欲しいなあ。
でも、iMacじゃないデスクトップって、気が遠くなるほど高価だなぁ。
悩んで、ハイエンドに近いグラフィックボード搭載機を注文してしまった。
Windows10マシンにするか。
Linuxマシンにするか。
はたまたOSX86の夢を見るか……。
ScanSnap周りが、Linuxではまだまだ整備されていないので困る。。。。
登録:
投稿 (Atom)