git clone [email protected]:banbao990/python-cplusplus.git
git submodule update --init --recursive
- MUST DO THIS
python prepare.py
# if complies error, do the following cmd instead
# python prepare.py --clean --all
src/config.py
文件是**环境配置**,需要根据自己的环境进行配置
- 基本例子
module | window | Linux | 备注 |
---|---|---|---|
pytorch_cuda_jit | 直接执行 | ||
pytorch_optix_jit | 直接执行 | ||
python_cpp_setuptools | 安装执行 | ||
python_cpp_cmake | 安装执行 | ||
cmake_oidn | 安装执行 (更新见 setup 版本) |
- 其他例子
-
实现功能 optix(
albedo+normal
、temporal
) -
cmake_optix 问题:linux 运行报错
-
undefined symbol:
_ZN3c106detail14torchCheckFailEPKcS2_jRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
module | window | Linux | 备注 |
---|---|---|---|
cmake_optix | 安装执行 (更新见 setup 版本) |
||
setup_optix | 安装执行 | ||
setup-oidn | 安装执行 | ||
simpile_denoise | 安装执行 |
- 测试环境
- windows
- cuda 12.3、optix SDK 8.0.0、cmake 3.25.1、vulkan 1.3.236.0
- linux
- cuda 12.1、optix SDK 8.0.0、cmake 3.25.1
- windows
- Optix SDK:Link
https://developer.nvidia.com/downloads/designworks/optix/secure/8.0.0/nvidia-optix-sdk-8.0.0-win64.exe
https://developer.nvidia.com/downloads/designworks/optix/secure/8.0.0/nvidia-optix-sdk-8.0.0-linux64-x86_64.sh
- 直接执行(例子)
python src/pytorch_cuda_jit/test.py
- 安装执行(例子)
# install
python src/python_cpp_setuptools/install.py
# run
python src/python_cpp_setuptools/test.py
- 运行失败报错
libGL error: MESA-LOADER: failed to open swrast
,虚拟环境中安装gcc
conda install -c conda-forge gcc
- 注意如果是
setup_optix
想要在GPU-UI
模式下运行,执行如下命令- 其中
CUDA_VISIBLE_DEVICES=0
表示有多张显卡,选择使用id=0
的 - 不加环境,直接运行会报错
CUDA_ERROR
- 其中
# GPU
CUDA_VISIBLE_DEVICES=0 __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia python src/utils/ui.py --ui
# CPU
python src/utils/ui.py
- 只需要如下配置,即可执行本工程中的代码
# env
conda create -n mi3 python=3.10
# pytorch(查看官网给的命令)
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
# ninja, opencv, yacs
pip install ninja opencv-python yacs pybind11
# ui
pip install imgui glfw cuda-python PyOpenGL PyOpenGL_accelerate
# mitsuba
pip install mitsuba
- mi 环境中的其他库
# tinycudann
git clone --recursive https://github.com/nvlabs/tiny-cuda-nn
cd bindings/torch
python setup.py install
# tqdm, tensorboard
pip install tqdm tensorboard
# torch_scatter
# https://github.com/rusty1s/pytorch_scatter/issues/186
pip install --no-index torch-scatter -f https://pytorch-geometric.com/whl/torch-2.1.0+cu121.html
# matplotlib
pip install matplotlib
# openexr: linux 必须先执行第一步
conda install openexr-python --channel conda-forge
pip install OpenEXR
# oidn (CPU version)
pip install oidn
# 导出成 exe(巨慢, 也没用了)
pip install pyinstaller
# 测试 compute shader 的时候用的一个库
pip install arcade
pip install pycuda # 会报错, 解决方案见下面
- 这个库能够完全被
cuda-python
库取代,现在也不用了 - 直接
pip install pycuda
报错PyCUDA was compiled without GL extension support
I've actually fixed this one. If you are on a windows device, you should pip install pipwin, then use pipwin to install pycuda. And then it installs it correctly.
pip install pipwin
pipwin install pycuda
- 从源码安装:code