diff -ruN sobfu-master/CMakeLists.txt sobfu-spd/CMakeLists.txt --- sobfu-master/CMakeLists.txt 2019-01-10 13:34:00.000000000 +0100 +++ sobfu-spd/CMakeLists.txt 2021-11-08 14:54:28.999563415 +0100 @@ -22,7 +22,9 @@ SET(CMAKE_CONFIGURATION_TYPES "Debug;Release") # Set CXX to compile with C++11 standard -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -MP -MD -pthread -fpermissive") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -MP -MD -pthread -fpermissive") +set(CMAKE_C_COMPILER "/usr/bin/gcc-9") +set(CMAKE_CXX_COMPILER "/usr/bin/g++-9") # ---------------------------------------------------------------------------- # # DEPENDENCIES diff -ruN sobfu-master/include/kfusion/cuda/marching_cubes.hpp sobfu-spd/include/kfusion/cuda/marching_cubes.hpp --- sobfu-master/include/kfusion/cuda/marching_cubes.hpp 2019-01-10 13:34:00.000000000 +0100 +++ sobfu-spd/include/kfusion/cuda/marching_cubes.hpp 2021-11-08 14:51:58.075840577 +0100 @@ -22,7 +22,7 @@ enum { POINTS_PER_TRIANGLE = 3, DEFAULT_TRIANGLES_BUFFER_SIZE = 2 * 1000 * 1000 * POINTS_PER_TRIANGLE }; /** \brief Smart pointer. */ - typedef boost::shared_ptr Ptr; + typedef pcl::shared_ptr Ptr; /** \brief Default constructor */ MarchingCubes(); diff -ruN sobfu-master/include/kfusion/cuda/temp_utils.hpp sobfu-spd/include/kfusion/cuda/temp_utils.hpp --- sobfu-master/include/kfusion/cuda/temp_utils.hpp 2019-01-10 13:34:00.000000000 +0100 +++ sobfu-spd/include/kfusion/cuda/temp_utils.hpp 2021-10-29 14:01:19.326837179 +0200 @@ -422,7 +422,7 @@ } static __kf_device__ int laneMaskLt() { -#if (__CUDA_ARCH__ >= 200) +#if defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 200) unsigned int ret; asm("mov.u32 %0, %lanemask_lt;" : "=r"(ret)); return ret; @@ -572,7 +572,8 @@ } static __kf_device__ int Ballot(int predicate, volatile int *cta_buffer) { -#if __CUDA_ARCH__ >= 200 + +#if defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 200) (void) cta_buffer; return __ballot_sync(FULL_MASK, predicate); #else @@ -583,7 +584,7 @@ } static __kf_device__ bool All(int predicate, volatile int *cta_buffer) { -#if __CUDA_ARCH__ >= 200 +#if defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 200) (void) cta_buffer; return __all_sync(FULL_MASK, predicate); #else diff -ruN sobfu-master/src/apps/demo.cpp sobfu-spd/src/apps/demo.cpp --- sobfu-master/src/apps/demo.cpp 2019-01-10 13:34:00.000000000 +0100 +++ sobfu-spd/src/apps/demo.cpp 2021-10-29 15:36:00.749183754 +0200 @@ -259,7 +259,10 @@ image->SetDimensions(params.volume_dims[0], params.volume_dims[1], params.volume_dims[2]); /* specify size of image data */ - image->AllocateScalars(VTK_FLOAT, 4); + image->SetScalarTypeToFloat(); + image->SetNumberOfScalarComponents(4); + image->AllocateScalars(); +/* image->AllocateScalars(VTK_FLOAT, 4);*/ int *dims = image->GetDimensions(); /* copy vector field data */ @@ -276,7 +279,8 @@ /* save file */ vtkSmartPointer writer = vtkSmartPointer::New(); writer->SetFileName(fileName.c_str()); - writer->SetInputData(image); +/* writer->SetInputData(image);*/ + writer->SetInput(image); writer->Write(); std::cout << "saved the vector field to .vti" << std::endl; diff -ruN sobfu-master/src/kfusion/core.cpp sobfu-spd/src/kfusion/core.cpp --- sobfu-master/src/kfusion/core.cpp 2019-01-10 13:34:00.000000000 +0100 +++ sobfu-spd/src/kfusion/core.cpp 2021-11-08 14:52:50.806336918 +0100 @@ -60,7 +60,7 @@ SMtoCores gpuArchCoresPerSM[] = {{0x10, 8}, {0x11, 8}, {0x12, 8}, {0x13, 8}, {0x20, 32}, {0x21, 48}, {0x30, 192}, {0x35, 192}, {0x37, 192}, {0x50, 128}, {0x52, 128}, {0x60, 64}, - {0x61, 128}, {0x70, 64}, {0x75, 64}, {-1, -1}}; + {0x61, 128}, {0x70, 64}, {0x75, 64}, {0x80, 64}, {0x86, 128}, {-1, -1}}; int index = 0; while (gpuArchCoresPerSM[index].SM != -1) {