1はじめに
Anacondaとcudaはデフォルトでインストールされています。このブログ投稿では、関連する環境の構成について簡単に説明しています。
2.VS2017
vs2017をダウンロードし、c ++およびpython開発ツールを選択し
て環境変数を追加します。変数Pathに、cl.exeのフルパスを追加します。フルパスは、「C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ VC \ Tools \ MSVC \ 14.16.27023 \ bin \ Hostx64 \ x64 \ cl.exe "
チェック
3. cuda11
CUDA公式ウェブサイトにアクセスしてCUDAをダウンロードし、自動的に追加されたパスに加えて、新しいパスを追加します
CUDA_PATH = C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v11.1
CUDA_SDK_PATH = C:\ ProgramData \ NVIDIA Corporation \ CUDA Samples \ v11.1
CUDA_LIB_PATH =%CUDA_PATH%\ lib \ x64
CUDA_BIN_PATH =%CUDA_PATH%\ bin
CUDA_SDK_BIN_PATH =%CUDA_SDK_PATH%\ bin \ win64
CUDA_SDK_LIB_PATH =%CUDA_SDK_PATH%\ common \ lib \ x64
4.pycuda
インストール
pip install pycuda
テスト
import pycuda.autoinit
import pycuda.driver as drv
import numpy
from pycuda.compiler import SourceModule
mod = SourceModule("""
__global__ void multiply_them(float *dest, float *a, float *b)
{
const int i = threadIdx.x;
dest[i] = a[i] * b[i];
}
""")
multiply_them = mod.get_function("multiply_them")
a = numpy.random.randn(400).astype(numpy.float32)
b = numpy.random.randn(400).astype(numpy.float32)
dest = numpy.zeros_like(a)
multiply_them(
drv.Out(dest), drv.In(a), drv.In(b),
block=(400,1,1), grid=(1,1))
print ( dest-a*b )
5.ブースト
vs2017のx64コマンドラインを開き、
ブースト解凍パスに切り替え、
bootstrap.batを
実行し、bjam.exeを実行して
、正常に動作した後に表示します
6.テストブースト
- VS2019を開き、新しい空のC ++プロジェクトを作成して、main.cppファイルを作成します。プロジェクトのプロパティをクリックします。
- .vc ++ディレクトリで、ブーストパスD:\ aboost \ boost_1_73_0をvc ++ディレクトリに追加し、
D:\ aboost \ boost_1_73_0 \ stage \ libをライブラリディレクトリに追加します。それを保存。
テストコード
#include <iostream>
#include <boost/sort/sort.hpp>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
vector<int> arr;
while (arr.size() < 100) arr.push_back(std::rand());
boost::sort::block_indirect_sort(std::begin(arr), std::end(arr));
for_each(std::begin(arr), std::end(arr), [](int& a) {
cout << a << "\t";
});
return 0;
}
テスト結果
注:ここで実行するには、コマンドラインで以前に選択したバージョンを選択する必要があります。そうしないと、ブーストが含まれず、エラーが発生します。ここでの私の選択は