KataGo
KataGo copied to clipboard
Unable to compile - error: invalid conversion from ‘float**’ to ‘void**’
I had to compile KataGo again and realised that I cannot get it to compile. I've tried CUDA 11.7 and 12.4 and also many different g++ versions but still no luck. I also tried to compile different tags so I presume I'm doing something wrong as I'm unable to get any of those compiled and the errors are the same. Any ideas?
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/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: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building 'katago' executable for GTP engine and other tools.
-- -DUSE_BACKEND=CUDA, using CUDA backend.
-- The CUDA compiler identification is NVIDIA 12.4.99
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- Including Git revision in the compiled executable, specify -DNO_GIT_REVISION=1 to disable
-- Found Git: /usr/bin/git (found version "2.40.1")
-- Found CUDAToolkit: /usr/local/cuda/include (found version "12.4.99")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.13")
-- Setting up build for GNU or Clang.
-- Enabling GNU-specific build options.
-- Configuring done (2.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/toomasr/projects/KataGo/cpp
[ 0%] Generating program/gitinfoupdated.h
[ 1%] Building CXX object CMakeFiles/katago.dir/core/global.cpp.o
[ 2%] Building CXX object CMakeFiles/katago.dir/core/base64.cpp.o
[ 3%] Building CXX object CMakeFiles/katago.dir/core/bsearch.cpp.o
[ 4%] Building CXX object CMakeFiles/katago.dir/core/commandloop.cpp.o
[ 5%] Building CXX object CMakeFiles/katago.dir/core/config_parser.cpp.o
[ 6%] Building CXX object CMakeFiles/katago.dir/core/datetime.cpp.o
[ 6%] Building CXX object CMakeFiles/katago.dir/core/elo.cpp.o
[ 7%] Building CXX object CMakeFiles/katago.dir/core/fancymath.cpp.o
[ 8%] Building CXX object CMakeFiles/katago.dir/core/fileutils.cpp.o
[ 9%] Building CXX object CMakeFiles/katago.dir/core/hash.cpp.o
[ 10%] Building CXX object CMakeFiles/katago.dir/core/logger.cpp.o
[ 11%] Building CXX object CMakeFiles/katago.dir/core/mainargs.cpp.o
[ 12%] Building CXX object CMakeFiles/katago.dir/core/makedir.cpp.o
[ 12%] Building CXX object CMakeFiles/katago.dir/core/md5.cpp.o
[ 13%] Building CXX object CMakeFiles/katago.dir/core/multithread.cpp.o
[ 14%] Building CXX object CMakeFiles/katago.dir/core/parallel.cpp.o
[ 15%] Building CXX object CMakeFiles/katago.dir/core/rand.cpp.o
[ 16%] Building CXX object CMakeFiles/katago.dir/core/rand_helpers.cpp.o
[ 17%] Building CXX object CMakeFiles/katago.dir/core/sha2.cpp.o
[ 18%] Building CXX object CMakeFiles/katago.dir/core/test.cpp.o
[ 18%] Building CXX object CMakeFiles/katago.dir/core/threadsafecounter.cpp.o
[ 19%] Building CXX object CMakeFiles/katago.dir/core/threadsafequeue.cpp.o
[ 20%] Building CXX object CMakeFiles/katago.dir/core/threadtest.cpp.o
[ 21%] Building CXX object CMakeFiles/katago.dir/core/timer.cpp.o
[ 22%] Building CXX object CMakeFiles/katago.dir/game/board.cpp.o
[ 23%] Building CXX object CMakeFiles/katago.dir/game/rules.cpp.o
[ 24%] Building CXX object CMakeFiles/katago.dir/game/boardhistory.cpp.o
[ 25%] Building CXX object CMakeFiles/katago.dir/game/graphhash.cpp.o
[ 25%] Building CXX object CMakeFiles/katago.dir/dataio/sgf.cpp.o
[ 26%] Building CXX object CMakeFiles/katago.dir/dataio/numpywrite.cpp.o
[ 27%] Building CXX object CMakeFiles/katago.dir/dataio/poswriter.cpp.o
[ 28%] Building CXX object CMakeFiles/katago.dir/dataio/trainingwrite.cpp.o
[ 29%] Building CXX object CMakeFiles/katago.dir/dataio/loadmodel.cpp.o
[ 30%] Building CXX object CMakeFiles/katago.dir/dataio/homedata.cpp.o
[ 31%] Building CXX object CMakeFiles/katago.dir/dataio/files.cpp.o
[ 31%] Building CXX object CMakeFiles/katago.dir/neuralnet/nninputs.cpp.o
[ 32%] Building CXX object CMakeFiles/katago.dir/neuralnet/modelversion.cpp.o
[ 33%] Building CXX object CMakeFiles/katago.dir/neuralnet/nneval.cpp.o
[ 34%] Building CXX object CMakeFiles/katago.dir/neuralnet/desc.cpp.o
[ 35%] Building CXX object CMakeFiles/katago.dir/neuralnet/cudabackend.cpp.o
In file included from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp: In constructor ‘Buffers::Buffers(CudaHandles*, const Model&, const ScratchBuffers&)’:
/home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2099:35: error: invalid conversion from ‘float**’ to ‘void**’ [-fpermissive]
2099 | CUDA_ERR("Buffers",cudaMalloc(&inputBufFloat, inputBufBytesFloat));
| ^~~~~~~~~~~~~~
| |
| float**
/home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:12:46: note: in definition of macro ‘CUDA_ERR’
12 | #define CUDA_ERR(opName,x) { checkCudaError((x),opName,__FILE__,#x,__LINE__); }
| ^
In file included from /usr/local/cuda/include/vector_functions.h:63,
from /usr/local/cuda/include/cuda_fp16.h:131,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/../neuralnet/cudaincludes.h:9,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:4,
from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/usr/local/cuda/include/cuda_runtime_api.h:5328:76: note: initializing argument 1 of ‘cudaError_t cudaMalloc(void**, size_t)’
5328 | extern __host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size);
| ~~~~~~~^~~~~~
In file included from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2101:35: error: invalid conversion from ‘float**’ to ‘void**’ [-fpermissive]
2101 | CUDA_ERR("Buffers",cudaMalloc(&inputGlobalBufFloat, inputGlobalBufBytesFloat));
| ^~~~~~~~~~~~~~~~~~~~
| |
| float**
/home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:12:46: note: in definition of macro ‘CUDA_ERR’
12 | #define CUDA_ERR(opName,x) { checkCudaError((x),opName,__FILE__,#x,__LINE__); }
| ^
In file included from /usr/local/cuda/include/vector_functions.h:63,
from /usr/local/cuda/include/cuda_fp16.h:131,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/../neuralnet/cudaincludes.h:9,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:4,
from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/usr/local/cuda/include/cuda_runtime_api.h:5328:76: note: initializing argument 1 of ‘cudaError_t cudaMalloc(void**, size_t)’
5328 | extern __host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size);
| ~~~~~~~^~~~~~
In file included from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2106:35: error: invalid conversion from ‘float**’ to ‘void**’ [-fpermissive]
2106 | CUDA_ERR("Buffers",cudaMalloc(&policyPassBuf, policyPassBufBytes));
| ^~~~~~~~~~~~~~
| |
| float**
/home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:12:46: note: in definition of macro ‘CUDA_ERR’
12 | #define CUDA_ERR(opName,x) { checkCudaError((x),opName,__FILE__,#x,__LINE__); }
| ^
In file included from /usr/local/cuda/include/vector_functions.h:63,
from /usr/local/cuda/include/cuda_fp16.h:131,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/../neuralnet/cudaincludes.h:9,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:4,
from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/usr/local/cuda/include/cuda_runtime_api.h:5328:76: note: initializing argument 1 of ‘cudaError_t cudaMalloc(void**, size_t)’
5328 | extern __host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size);
| ~~~~~~~^~~~~~
In file included from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2108:35: error: invalid conversion from ‘float**’ to ‘void**’ [-fpermissive]
2108 | CUDA_ERR("Buffers",cudaMalloc(&policyBuf, policyBufBytes));
| ^~~~~~~~~~
| |
| float**
/home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:12:46: note: in definition of macro ‘CUDA_ERR’
12 | #define CUDA_ERR(opName,x) { checkCudaError((x),opName,__FILE__,#x,__LINE__); }
| ^
In file included from /usr/local/cuda/include/vector_functions.h:63,
from /usr/local/cuda/include/cuda_fp16.h:131,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/../neuralnet/cudaincludes.h:9,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:4,
from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/usr/local/cuda/include/cuda_runtime_api.h:5328:76: note: initializing argument 1 of ‘cudaError_t cudaMalloc(void**, size_t)’
5328 | extern __host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size);
| ~~~~~~~^~~~~~
In file included from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2111:35: error: invalid conversion from ‘float**’ to ‘void**’ [-fpermissive]
2111 | CUDA_ERR("Buffers",cudaMalloc(&valueBuf, valueBufBytes));
| ^~~~~~~~~
| |
| float**
/home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:12:46: note: in definition of macro ‘CUDA_ERR’
12 | #define CUDA_ERR(opName,x) { checkCudaError((x),opName,__FILE__,#x,__LINE__); }
| ^
In file included from /usr/local/cuda/include/vector_functions.h:63,
from /usr/local/cuda/include/cuda_fp16.h:131,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/../neuralnet/cudaincludes.h:9,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:4,
from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/usr/local/cuda/include/cuda_runtime_api.h:5328:76: note: initializing argument 1 of ‘cudaError_t cudaMalloc(void**, size_t)’
5328 | extern __host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size);
| ~~~~~~~^~~~~~
In file included from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2114:35: error: invalid conversion from ‘float**’ to ‘void**’ [-fpermissive]
2114 | CUDA_ERR("Buffers",cudaMalloc(&scoreValueBuf, scoreValueBufBytes));
| ^~~~~~~~~~~~~~
| |
| float**
/home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:12:46: note: in definition of macro ‘CUDA_ERR’
12 | #define CUDA_ERR(opName,x) { checkCudaError((x),opName,__FILE__,#x,__LINE__); }
| ^
In file included from /usr/local/cuda/include/vector_functions.h:63,
from /usr/local/cuda/include/cuda_fp16.h:131,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/../neuralnet/cudaincludes.h:9,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:4,
from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/usr/local/cuda/include/cuda_runtime_api.h:5328:76: note: initializing argument 1 of ‘cudaError_t cudaMalloc(void**, size_t)’
5328 | extern __host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size);
| ~~~~~~~^~~~~~
In file included from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp: In function ‘bool NeuralNet::testEvaluateGlobalPoolingResidualBlock(const GlobalPoolingResidualBlockDesc*, int, int, int, bool, bool, const std::vector<float>&, const std::vector<float>&, std::vector<float>&)’:
/home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2878:41: error: invalid conversion from ‘float**’ to ‘void**’ [-fpermissive]
2878 | CUDA_ERR("deviceMaskFloat",cudaMalloc(&deviceMaskFloat, numMaskFloats * sizeof(float)));
| ^~~~~~~~~~~~~~~~
| |
| float**
/home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:12:46: note: in definition of macro ‘CUDA_ERR’
12 | #define CUDA_ERR(opName,x) { checkCudaError((x),opName,__FILE__,#x,__LINE__); }
| ^
In file included from /usr/local/cuda/include/vector_functions.h:63,
from /usr/local/cuda/include/cuda_fp16.h:131,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/../neuralnet/cudaincludes.h:9,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:4,
from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/usr/local/cuda/include/cuda_runtime_api.h:5328:76: note: initializing argument 1 of ‘cudaError_t cudaMalloc(void**, size_t)’
5328 | extern __host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size);
| ~~~~~~~^~~~~~
In file included from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2879:39: error: invalid conversion from ‘float**’ to ‘void**’ [-fpermissive]
2879 | CUDA_ERR("deviceMaskSum",cudaMalloc(&deviceMaskSum, numMaskSumFloats * sizeof(float)));
| ^~~~~~~~~~~~~~
| |
| float**
/home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:12:46: note: in definition of macro ‘CUDA_ERR’
12 | #define CUDA_ERR(opName,x) { checkCudaError((x),opName,__FILE__,#x,__LINE__); }
| ^
In file included from /usr/local/cuda/include/vector_functions.h:63,
from /usr/local/cuda/include/cuda_fp16.h:131,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/../neuralnet/cudaincludes.h:9,
from /home/toomasr/projects/KataGo/cpp/neuralnet/../neuralnet/cudaerrorcheck.h:4,
from /home/toomasr/projects/KataGo/cpp/neuralnet/cudabackend.cpp:2:
/usr/local/cuda/include/cuda_runtime_api.h:5328:76: note: initializing argument 1 of ‘cudaError_t cudaMalloc(void**, size_t)’
5328 | extern __host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size);
| ~~~~~~~^~~~~~
make[2]: *** [CMakeFiles/katago.dir/build.make:629: CMakeFiles/katago.dir/neuralnet/cudabackend.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/katago.dir/all] Error 2
make: *** [Makefile:91: all] Error 2