繁体   English   中英

仅针对选定的 GPU 架构编译 cupy

[英]Compile cupy only for selected GPU architecture

查看 git 存储库( https://github.com/cupy/cupy )和文档( https://docs-cupy.chainer.org/en/stable/install.html )我没有找到任何生成可执行文件仅与当前硬件 (GPU) 相关。

举个例子,在opencv (为了大幅度减少旧环境下可能超过8h的编译时间),可以指定GPU的架构。 (这里是从仅与硬件相关的源编译opencv的示例)

> 导出 JAVA_HOME=/opt/DEVOPS/SDK/jvm/jdk-11.0.4/ ; cmake3 .. -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D WITH_CUDA=ON -D WITH_GTK=ON -D WITH_OPENGL=ON -D ENABLE_CXX11=ON -D BUILD_EXAMPLES=ON -D OPENCV_cv_EXTRA_cont_open/opt/open /modules -D BUILD_opencv_java=ON -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D CUDA_FAST_MATH=ON -D CUDA_GENERATION="Maxwell" -D WITH_OPENMP=ON -D BUILD_TESTS=OFF -D OPENCV_REEENABLE_NO = ON -D CUDA_FAST_MATH=ON D WITH_OPENCL=ON -D WITH_IPP=ON -D WITH_TBB=ON -D WITH_EIGEN=ON -D WITH_V4L=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=$(python3 sys; print(sys.prefix)") -D PYTHON3_EXECUTABLE=$(which python3) -D PYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") -D PYTHON3_PACKAGES_PATH=$ python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") -D PYTHON3_LIBRARY=/opt/DEVOPS/SDK/anaconda3/lib -D OPENCV_PYTHON3_INSTALL_PATH=/op t/DEVOPS/SDK/anaconda3/lib/python3.7/site-packages -D PYTHON3_DEFAULT_EXECUTABLE=/opt/DEVOPS/SDK/anaconda3/bin/python -D OPENCV_ENABLE_NONFREE=ON

通过这种方式,代码将只为给定的架构生成。

我发现这个有用的提交。 ( https://github.com/cupy/cupy/commit/4d3b05c4f010d62f9daf92a049fa2e8a789f6cc2 )

是否有人试图仅针对给定的架构编译 Cupy,将“--generate-code”参数强制为“ --generate-code=arch=compute_ XX ,code=compute_ XX ”,而不是默认使用所有可能的拱形结构?

默认编译架构

CUPY_NVCC_GENERATE_CODE环境变量在 v7.0.0b2 或更高版本中可用。 https://github.com/cupy/cupy/pull/2293您可以使用例如export CUPY_NVCC_GENERATE_CODE="arch=compute_50,code=sm_50"来构建仅在指定硬件上运行的 CuPy。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM