I have been trying to build VTK on Windows 10 with Python wrappings for the last week. I would like to add all dependencies that would make 99.99% of utilities VTK offers run as fast as possible. My system is:
Hardware
OS: Windows 10 Enterprise, x64-bit, Build 1909
CPU: 2x Intel(R) Xeon(R) Gold 6248R
Disk: 2TB NVMe M.2 SSD
RAM: 192 GB DDR4
Compute GPUs: 2x NVIDIA Quadro RTX8000 in TCC mode with NVLink
Display GPU: 1x NVIDIA Quadro RTX4000
Software
Visual Studio: [Visual Studio 16 2019 Community][1]
Windows SDK: [10.0.19041.0][2], targeting 10.0.18363
Python: [3.8.10 x64-bit][3]
CMake: [3.21.1][4] (I use CMake-GUI
)
vcpkg: [2021-08-12][5]
VTK Source: [vtk-9.0.3-cp38-cp38-win_amd64][6] (downloaded from VTK website; not GitHub master)
VTKPythonPackage: [GitHub Link][7] (…not sure if I need this…)
CUDA Toolkit: [11.4][8]
TBB: [2021.3.0][9] (via Intel(R) oneAPI Base Toolkit)
MPI: [2021.3.0][9] (via Intel(R) oneAPI HPC Toolkit)
NOTE: I also have Embree, OSPRay, and OpenVKL installed via the Intel(R) oneAPI Rendering Toolkit
I have posted a detailed explanation of my efforts here on Stack Overflow: Build VTK with Python Bindings and CUDA, TBB, & MPI on Windows
After extensive discussions, I have realized that MPI
and CUDA
will probably not help me much at all, so we can ignore those libraries. I am using Python 3.8.10
and VTK 9.0.3
, but if absolutely necessary, I am willing to using a 3.9
python and an older VTK 9 version.
Currently, using CMake GUI and the Visual Studio IDE for building is giving me trouble. I was hoping to use CMake GUI since there are so many options to configure with VTK and I wasn’t sure how many times I would need to reconfigure. Using the Visual Studio IDE, the build completes without errors, but I get far fewer files than if I run the following from the terminal:
> cd C:\VTK
> mkdir src
> mkdir build
then copy and unzip VTK-9.0.3.tar.gz
from the VTK Downloads Page
with 7-zip into src and run
> cd build
> cmake -DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DBUILD_SHARED_LIBS=ON ..\src
> msbuild.exe VTK.sln -property:Configuration=Release
If someone can please help me figure out the following, I would be grateful:
-
How to include support for parallel processing, TBB, Embree, OSPRay, Qt, as well as recommendations and instructions for any and all other libraries to make “the majority” of VTK have 99.99% of its full possibilities and power.
-
How to wrap Python. I would like to create a virtual environment and be able to
import vtk
with all this power.
Thank you!