simonzhang00 / ripser-plusplus

Ripser++: GPU-accelerated computation of Vietoris–Rips persistence barcodes
MIT License
101 stars 15 forks source link

Installation Issues #21

Closed ZacharyVarley closed 4 days ago

ZacharyVarley commented 5 days ago

1) Fresh mamba environment on a GCP Ubuntu installation (recent Nvidia 550 drivers installed).

Run:

pip install --upgrade --force-reinstall -vvv ripserplusplus

Get ~9 errors about sort namespace:

error: namespace "thrust" has no member "sort" thrust::sort(thrust::device, d_columns_to_reduce, d_columns_to_reduce+ max_num_edges, cmp_reverse); ^

Then I saw that this is supposed to be addressed, but I thought "#include <thrust/device_ptr.h>" was also needed:

Forked the repo and added that line and ran and get:

sh: 1: cicc: not found

Greatly appreciate any tips.

Additional dump:

-- The C compiler identification is GNU 13.3.0 -- The CXX compiler identification is GNU 13.3.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /home/zachv/mambaforge/envs/ripser/bin/x86_64-conda-linux-gnu-cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /home/zachv/mambaforge/envs/ripser/bin/x86_64-conda-linux-gnu-c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Warning (dev) at CMakeLists.txt:4 (find_package): Policy CMP0146 is not set: The FindCUDA module is removed. Run "cmake --help-policy CMP0146" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

This warning is for project developers. Use -Wno-dev to suppress it.

nvcc warning : incompatible redefinition for option 'compiler-bindir', the last value of this option was used -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found CUDA: /home/zachv/mambaforge/envs/ripser/targets/x86_64-linux (found suitable version "12.6", minimum required is "7") CMake Warning (dev) at CMakeLists.txt:31 (include): Policy CMP0146 is not set: The FindCUDA module is removed. Run "cmake --help-policy CMP0146" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

This warning is for project developers. Use -Wno-dev to suppress it.

-- Found CUDA: /home/zachv/mambaforge/envs/ripser/targets/x86_64-linux (found version "12.6") -- Autodetected CUDA architecture(s): 8.9 -- Found OpenMP_C: -fopenmp (found version "4.5") -- Found OpenMP_CXX: -fopenmp (found version "4.5") -- Found OpenMP: TRUE (found version "4.5") -- Performing Test OPENMP_VERSION -- Performing Test OPENMP_VERSION - Success -- Configuring done (1.8s) -- Generating done (0.0s) -- Build files have been written to: /tmp/pip-req-build-fy47bpo2/build/temp.linux-x86_64-cpython-311 cmake --build . --config Release [ 25%] Building CXX object CMakeFiles/phmap.dir/ripserplusplus/include/phmap_interface/phmap_interface.cpp.o [ 50%] Linking CXX shared library /tmp/pip-req-build-fy47bpo2/build/lib.linux-x86_64-cpython-311/ripserplusplus/libphmap.so [ 50%] Built target phmap [ 75%] Building NVCC (Device) object CMakeFiles/pyripser++.dir/ripserplusplus/pyripser++_generated_ripser++.cu.o nvcc warning : incompatible redefinition for option 'compiler-bindir', the last value of this option was used nvcc warning : incompatible redefinition for option 'compiler-bindir', the last value of this option was used nvcc warning : incompatible redefinition for option 'compiler-bindir', the last value of this option was used nvcc warning : incompatible redefinition for option 'compiler-bindir', the last value of this option was used sh: 1: cicc: not found CMake Error at pyripser++_generated_ripser++.cu.o.Release.cmake:280 (message): Error generating file /tmp/pip-req-build-fy47bpo2/build/temp.linux-x86_64-cpython-311/CMakeFiles/pyripser++.dir/./ripserplusplus/./pyripser++_generated_ripser++.cu.o

gmake[2]: [CMakeFiles/pyripser++.dir/build.make:77: CMakeFiles/pyripser++.dir/ripserplusplus/pyripser++_generated_ripser++.cu.o] Error 1 gmake[1]: [CMakeFiles/Makefile2:110: CMakeFiles/pyripser++.dir/all] Error 2 gmake: *** [Makefile:91: all] Error 2 error: command '/usr/bin/cmake' failed with exit code 2

ZacharyVarley commented 4 days ago

I was able to get it working so long as I didn't try to use a mamba install of cuda-toolkit, and just used the cuda installation for the VM's OS.