getkeops / keops

KErnel OPerationS, on CPUs and GPUs, with autodiff and without memory overflows
https://www.kernel-operations.io
MIT License
1.04k stars 64 forks source link

Still FileNotFoundError, but different cause? #181

Closed YifanDengWHU closed 3 years ago

YifanDengWHU commented 3 years ago

Hi, I tried to install pykeops in a server. I installed cmake==3.21.0. However, it has the following problems, it seems that there are problems with the C++ standard?

pykeops.clean_pykeops() Cleaning /home/dengyifan/.cache/pykeops-1.5-cpython-37/...

  • /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-pybind11_template-libKeOps_template_8f3a0518a2 has been removed.
  • /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-70416d88a2 has been removed.
  • /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-pybind11_template-libKeOps_template_75bb65331c has been removed.
  • /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-pybind11_template-libKeOps_template_bba8c79fc1 has been removed.
  • /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-27a87233e3 has been removed.
  • /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2 has been removed.
  • /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-pybind11_template-libKeOps_template_92ae5a5d2d has been removed.
  • /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2 has been removed.
  • /home/dengyifan/.cache/pykeops-1.5-cpython-37/keops_hash.log has been removed. pykeops.test_torch_bindings() [pyKeOps] Initializing build folder for dtype=float32 and lang=torch in /home/dengyifan/.cache/pykeops-1.5-cpython-37 ... done. [pyKeOps] Compiling libKeOpstorchdb60d40ff0 in /home/dengyifan/.cache/pykeops-1.5-cpython-37: formula: Sum_Reduction(SqNorm2(x - y),1) aliases: x = Vi(0,3); y = Vj(1,3); dtype : float32 ... nvcc warning : The -std=c++17 flag is not supported with the configured host compiler. Flag will be ignored. In file included from /usr/include/c++/4.8.2/array:35:0, from /home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula/../../keops/core/formulas/maths/TensorDotNoTao.h:13, from /home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula/../../keops/keops_includes.h:93, from ./KeOps_formula.h:13, from :0: /usr/include/c++/4.8.2/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

    error This file requires compiler and library support for the \

    ^ gmake[3]: [CMakeFiles/copy_KeOps_formula.dir/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu.o] Error 1 gmake[2]: [CMakeFiles/copy_KeOps_formula.dir/all] Error 2 gmake[1]: [CMakeFiles/KeOps_formula.dir/rule] Error 2 gmake: [KeOps_formula] Error 2

--------------------- MAKE DEBUG ----------------- Command '['cmake', '--build', '.', '--target', 'KeOps_formula', '--', 'VERBOSE=1']' returned non-zero exit status 2. /usr/local/bin/cmake -S/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula -B/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2 --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/gmake -f CMakeFiles/Makefile2 KeOps_formula gmake[1]: Entering directory /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2' /usr/local/bin/cmake -S/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula -B/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2 --check-build-system CMakeFiles/Makefile.cmake 0 /usr/local/bin/cmake -E cmake_progress_start /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2/CMakeFiles 1 /usr/bin/gmake -f CMakeFiles/Makefile2 CMakeFiles/KeOps_formula.dir/all gmake[2]: Entering directory/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2' /usr/bin/gmake -f CMakeFiles/copy_KeOps_formula.dir/build.make CMakeFiles/copy_KeOps_formula.dir/depend gmake[3]: Entering directory /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2' cd /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2 && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula /home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2 /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2 /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2/CMakeFiles/copy_KeOps_formula.dir/DependInfo.cmake --color= gmake[3]: Leaving directory/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2' /usr/bin/gmake -f CMakeFiles/copy_KeOps_formula.dir/build.make CMakeFiles/copy_KeOps_formula.dir/build gmake[3]: Entering directory /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2' [100%] Building CUDA object CMakeFiles/copy_KeOps_formula.dir/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu.o /home/dengyifan/.conda/envs/py37/bin/nvcc -forward-unknown-to-host-compiler -ccbin=/usr/bin/c++ -DCUDA_BLOCK_SIZE=192 -DC_CONTIGUOUS=1 -DMAXIDGPU=2 -DMAXTHREADSPERBLOCK0=1024 -DMAXTHREADSPERBLOCK1=1024 -DMAXTHREADSPERBLOCK2=1024 -DSHAREDMEMPERBLOCK0=49152 -DSHAREDMEMPERBLOCK1=49152 -DSHAREDMEMPERBLOCK2=49152 -DUSE_CUDA=1 -DUSE_DOUBLE=0 -DUSE_HALF=0 -D_FORCE_INLINES -D_GLIBCXX_USE_CXX11_ABI=0 -D__TYPE__=float -I/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula/../.. -I/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2 -I/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula/../../keops -I/home/dengyifan/.conda/envs/py37/include -gencode arch=compute_86,code=sm_86 -gencode arch=compute_61,code=sm_61 --use_fast_math --compiler-options=-fPIC --expt-relaxed-constexpr -DUSE_OPENMP -Xcompiler -fopenmp,-Wall,-Wno-unknown-pragmas,-fmax-errors=2 -O3 -DNDEBUG -Xcompiler=-fPIC -include KeOps_formula.h -std=c++17 -MD -MT CMakeFiles/copy_KeOps_formula.dir/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu.o -MF CMakeFiles/copy_KeOps_formula.dir/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu.o.d -x cu -c /home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu -o CMakeFiles/copy_KeOps_formula.dir/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu.o gmake[3]: Leaving directory/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2' gmake[2]: Leaving directory /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2' gmake[1]: Leaving directory/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-6200a879e2'


[pyKeOps] Compiling pybind11 template libKeOps_template_92ae5a5d2d in /home/dengyifan/.cache/pykeops-1.5-cpython-37 ... [pyKeOps] Initializing build folder for dtype=float32 and lang=torch in /home/dengyifan/.cache/pykeops-1.5-cpython-37 ... -- The CXX compiler identification is GNU 4.8.5 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for a CUDA compiler -- Looking for a CUDA compiler - /home/dengyifan/.conda/envs/py37/bin/nvcc -- The CUDA Host CXX Compiler: /usr/bin/c++ -- The CUDA compiler identification is NVIDIA 11.3.58 -- Detecting CUDA compiler ABI info -- Detecting CUDA compiler ABI info - done -- Check for working CUDA compiler: /home/dengyifan/.conda/envs/py37/bin/nvcc - skipped -- Detecting CUDA compile features -- Detecting CUDA compile features - done -- Compute properties automatically set to: -DMAXIDGPU=2;-DMAXTHREADSPERBLOCK0=1024;-DSHAREDMEMPERBLOCK0=49152;-DMAXTHREADSPERBLOCK1=1024;-DSHAREDMEMPERBLOCK1=49152;-DMAXTHREADSPERBLOCK2=1024;-DSHAREDMEMPERBLOCK2=49152 -- Looking for C++ include pthread.h -- Looking for C++ include pthread.h - found -- 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
-- Autodetected CUDA architecture(s): 8.6 8.6 6.1 -- Configuring done -- Generating done -- Build files have been written to: /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2

done. [pyKeOps] Compiling libKeOpstorchdb60d40ff0 in /home/dengyifan/.cache/pykeops-1.5-cpython-37: formula: Sum_Reduction(SqNorm2(x - y),1) aliases: x = Vi(0,3); y = Vj(1,3); dtype : float32 ... nvcc warning : The -std=c++17 flag is not supported with the configured host compiler. Flag will be ignored. In file included from /usr/include/c++/4.8.2/array:35:0, from /home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula/../../keops/core/formulas/maths/TensorDotNoTao.h:13, from /home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula/../../keops/keops_includes.h:93, from ./KeOps_formula.h:13, from :0: /usr/include/c++/4.8.2/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

error This file requires compiler and library support for the \

^ gmake[3]: [CMakeFiles/copy_KeOps_formula.dir/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu.o] Error 1 gmake[2]: [CMakeFiles/copy_KeOps_formula.dir/all] Error 2 gmake[1]: [CMakeFiles/KeOps_formula.dir/rule] Error 2 gmake: [KeOps_formula] Error 2

--------------------- MAKE DEBUG ----------------- Command '['cmake', '--build', '.', '--target', 'KeOps_formula', '--', 'VERBOSE=1']' returned non-zero exit status 2. /usr/local/bin/cmake -S/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula -B/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2 --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/gmake -f CMakeFiles/Makefile2 KeOps_formula gmake[1]: Entering directory /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2' /usr/local/bin/cmake -S/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula -B/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2 --check-build-system CMakeFiles/Makefile.cmake 0 /usr/local/bin/cmake -E cmake_progress_start /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2/CMakeFiles 1 /usr/bin/gmake -f CMakeFiles/Makefile2 CMakeFiles/KeOps_formula.dir/all gmake[2]: Entering directory/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2' /usr/bin/gmake -f CMakeFiles/copy_KeOps_formula.dir/build.make CMakeFiles/copy_KeOps_formula.dir/depend gmake[3]: Entering directory /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2' cd /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2 && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula /home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2 /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2 /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2/CMakeFiles/copy_KeOps_formula.dir/DependInfo.cmake --color= gmake[3]: Leaving directory/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2' /usr/bin/gmake -f CMakeFiles/copy_KeOps_formula.dir/build.make CMakeFiles/copy_KeOps_formula.dir/build gmake[3]: Entering directory /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2' [100%] Building CUDA object CMakeFiles/copy_KeOps_formula.dir/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu.o /home/dengyifan/.conda/envs/py37/bin/nvcc -forward-unknown-to-host-compiler -ccbin=/usr/bin/c++ -DCUDA_BLOCK_SIZE=192 -DC_CONTIGUOUS=1 -DMAXIDGPU=2 -DMAXTHREADSPERBLOCK0=1024 -DMAXTHREADSPERBLOCK1=1024 -DMAXTHREADSPERBLOCK2=1024 -DSHAREDMEMPERBLOCK0=49152 -DSHAREDMEMPERBLOCK1=49152 -DSHAREDMEMPERBLOCK2=49152 -DUSE_CUDA=1 -DUSE_DOUBLE=0 -DUSE_HALF=0 -D_FORCE_INLINES -D_GLIBCXX_USE_CXX11_ABI=0 -D__TYPE__=float -I/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula/../.. -I/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2 -I/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/cmake_scripts/script_keops_formula/../../keops -I/home/dengyifan/.conda/envs/py37/include -gencode arch=compute_86,code=sm_86 -gencode arch=compute_61,code=sm_61 --use_fast_math --compiler-options=-fPIC --expt-relaxed-constexpr -DUSE_OPENMP -Xcompiler -fopenmp,-Wall,-Wno-unknown-pragmas,-fmax-errors=2 -g -Xcompiler=-fPIC -include KeOps_formula.h -std=c++17 -MD -MT CMakeFiles/copy_KeOps_formula.dir/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu.o -MF CMakeFiles/copy_KeOps_formula.dir/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu.o.d -x cu -c /home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu -o CMakeFiles/copy_KeOps_formula.dir/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/keops/core/link_autodiff.cu.o gmake[3]: Leaving directory/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2' gmake[2]: Leaving directory /home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2' gmake[1]: Leaving directory/home/dengyifan/.cache/pykeops-1.5-cpython-37/build-43faaf80f2'


[pyKeOps] Compiling pybind11 template libKeOps_template_8f3a0518a2 in /home/dengyifan/.cache/pykeops-1.5-cpython-37 ... Traceback (most recent call last): File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/test/install.py", line 62, in test_torch_bindings my_conv(x, y).view(-1), torch.tensor(expected_res).type(torch.float32) File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/torch/generic/generic_red.py", line 579, in call args File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/torch/generic/generic_red.py", line 48, in forward formula, aliases, dtype, "torch", optional_flags, include_dirs File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/common/keops_io.py", line 48, in init self._safe_compile() File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/common/utils.py", line 75, in wrapper_filelock func_res = func(args, **kwargs) File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/common/keops_io.py", line 63, in _safe_compile self.build_folder, File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/common/compile_routines.py", line 246, in compile_generic_routine dtype, lang, include_dirs, use_prebuilt_formula=True File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/common/compile_routines.py", line 88, in get_or_build_pybind11_template template_build_folder + os.path.sep + fname, FileNotFoundError: [Errno 2] No such file or directory: '/home/dengyifan/.cache/pykeops-1.5-cpython-37//KeOps_formula.o' -> '/home/dengyifan/.cache/pykeops-1.5-cpython-37//build-pybind11_template-libKeOps_template_92ae5a5d2d/KeOps_formula.o'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "", line 1, in File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/test/install.py", line 74, in test_torch_bindings print(my_conv(x, y)) File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/torch/generic/generic_red.py", line 579, in call args File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/torch/generic/generic_red.py", line 48, in forward formula, aliases, dtype, "torch", optional_flags, include_dirs File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/common/keops_io.py", line 48, in init self._safe_compile() File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/common/utils.py", line 75, in wrapper_filelock func_res = func(args, **kwargs) File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/common/keops_io.py", line 63, in _safe_compile self.build_folder, File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/common/compile_routines.py", line 246, in compile_generic_routine dtype, lang, include_dirs, use_prebuilt_formula=True File "/home/dengyifan/.conda/envs/py37/lib/python3.7/site-packages/pykeops/common/compile_routines.py", line 88, in get_or_build_pybind11_template template_build_folder + os.path.sep + fname, FileNotFoundError: [Errno 2] No such file or directory: '/home/dengyifan/.cache/pykeops-1.5-cpython-37//KeOps_formula.o' -> '/home/dengyifan/.cache/pykeops-1.5-cpython-37//build-pybind11_template-libKeOps_template_8f3a0518a2/KeOps_formula.o'

YifanDengWHU commented 3 years ago

Fixed, this is because the default g++ version in CentOS is too low. Update g++ to 7 will fix it.