簡體   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