diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..de2bb58 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +src/build/CMakeFiles +src/build/sutil/CMakeFiles +src/build/optixNSearch/CMakeFiles +src/build/lib \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 51cbf22..7e7ee42 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -340,7 +340,13 @@ function(OPTIX_add_sample_executable target_name_base target_name_var) # Here is where we create the rule to make the executable. We define a target name and # list all the source files used to create the target. In addition we also pass along # the cmake_options parsed out of the arguments. - add_executable(${target_name} + # add_executable(${target_name} + # ${source_files} + # ${generated_files} + # ${cmake_options} + # ) + + add_library(${target_name} SHARED ${source_files} ${generated_files} ${cmake_options} diff --git a/src/build/CMakeCache.txt b/src/build/CMakeCache.txt new file mode 100644 index 0000000..0dbc4ec --- /dev/null +++ b/src/build/CMakeCache.txt @@ -0,0 +1,647 @@ +# This is the CMakeCache file. +# For build in directory: /home/mkotlerb/sph/rtnn/src/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Build shared libraries +BUILD_SHARED_LIBS:BOOL=ON + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: Debug Release RelWithDebInfo +// MinSizeRel. +CMAKE_BUILD_TYPE:STRING=Release + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Default compiler flags +CMAKE_CXX_FLAGS:STRING= -Wall -Wsign-compare -Wno-multichar -fPIC + +//Default compiler flags +CMAKE_CXX_FLAGS_DEBUG:STRING=-O0 -g3 + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Default compiler flags +CMAKE_CXX_FLAGS_RELEASE:STRING= -msse -msse2 -msse3 -mfpmath=sse -O3 -DNDEBUG -g3 -funroll-loops + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Default compiler flags +CMAKE_C_FLAGS:STRING= -Wall -Wsign-compare -Wno-multichar -Wstrict-prototypes -Wdeclaration-after-statement -fPIC + +//Default compiler flags +CMAKE_C_FLAGS_DEBUG:STRING=-O0 -g3 + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Default compiler flags +CMAKE_C_FLAGS_RELEASE:STRING= -msse -msse2 -msse3 -mfpmath=sse -O3 -DNDEBUG -g3 -funroll-loops + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=OptiX-Samples + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Path to compiler libraries +COMPILER_LIBRARY_PATH:PATH= + +//Compile device code in 64 bit mode +CUDA_64_BIT_DEVICE_CODE:BOOL=ON + +//Attach the build rule to the CUDA source file. Enable only when +// the CUDA source file is added to at most one target. +CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE:BOOL=ON + +//Generate and parse .cubin files in Device mode. +CUDA_BUILD_CUBIN:BOOL=OFF + +//Build in Emulation mode +CUDA_BUILD_EMULATION:BOOL=OFF + +//Checks the dependencies during compilation and suppresses generation +// if the dependencies have been met. +CUDA_CHECK_DEPENDENCIES_DURING_COMPILE:BOOL=OFF + +//"cudart" library +CUDA_CUDART_LIBRARY:FILEPATH=/usr/local/cuda-11.7/lib64/libcudart.so + +//"cuda" library (older versions only). +CUDA_CUDA_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libcuda.so + +//Compile CUDA source files in parallel +CUDA_ENABLE_BATCHING:BOOL=OFF + +//Path to a program. +CUDA_FATBINARY_EXECUTABLE:FILEPATH=/usr/local/cuda-11.7/bin/fatbinary + +//Directory to put all the output files. If blank it will default +// to the CMAKE_CURRENT_BINARY_DIR +CUDA_GENERATED_OUTPUT_DIR:PATH= + +//Generate dependencies during configure time instead of only during +// build time. +CUDA_GENERATE_DEPENDENCIES_DURING_CONFIGURE:BOOL=OFF + +//Generated file extension +CUDA_HOST_COMPILATION_CPP:BOOL=ON + +//Host side compiler used by NVCC +CUDA_HOST_COMPILER:FILEPATH=/usr/bin/cc + +//Path to a program. +CUDA_NVASM_EXECUTABLE:FILEPATH=CUDA_NVASM_EXECUTABLE-NOTFOUND + +//Path to a program. +CUDA_NVCC_EXECUTABLE:FILEPATH=/usr/local/cuda-11.7/bin/nvcc + +//Semi-colon delimit multiple arguments. +CUDA_NVCC_FLAGS:STRING=-arch;sm_60;--use_fast_math;-lineinfo + +//Semi-colon delimit multiple arguments. +CUDA_NVCC_FLAGS_DEBUG:STRING= + +//Semi-colon delimit multiple arguments. +CUDA_NVCC_FLAGS_MINSIZEREL:STRING= + +//Semi-colon delimit multiple arguments. +CUDA_NVCC_FLAGS_RELEASE:STRING= + +//Semi-colon delimit multiple arguments. +CUDA_NVCC_FLAGS_RELWITHDEBINFO:STRING= + +//Use NVRTC to compile PTX at run-time instead of NVCC at build-time +CUDA_NVRTC_ENABLED:BOOL=ON + +//Semi-colon delimit multiple arguments. +CUDA_NVRTC_FLAGS:STRING=-std=c++11;-arch;compute_60;-use_fast_math;-lineinfo;-default-device;-rdc;true;-D__x86_64 + +//Propage C/CXX_FLAGS and friends to the host compiler via -Xcompile +CUDA_PROPAGATE_HOST_FLAGS:BOOL=ON + +//Suppress the "Advisory: Cannot tell what pointer points to, assuming +// global memory space" warning nvcc makes. +CUDA_REMOVE_GLOBAL_MEMORY_SPACE_WARNING:BOOL=ON + +//Path to a file. +CUDA_SDK_ROOT_DIR:PATH=CUDA_SDK_ROOT_DIR-NOTFOUND + +//Compile CUDA objects with separable compilation enabled. Requires +// CUDA 5.0+ +CUDA_SEPARABLE_COMPILATION:BOOL=OFF + +//Path to a file. +CUDA_TOOLKIT_INCLUDE:PATH=/usr/local/cuda-11.7/include + +//Toolkit location. +CUDA_TOOLKIT_ROOT_DIR:PATH=/usr/local/cuda-11.7 + +//Use the static version of the CUDA runtime library if available +CUDA_USE_STATIC_CUDA_RUNTIME:BOOL=ON + +//Print out the commands run while compiling the CUDA source file. +// With the Makefile generator this defaults to VERBOSE variable +// specified on the command line, but can be forced on with this +// option. +CUDA_VERBOSE_BUILD:BOOL=OFF + +//Version of CUDA as computed from nvcc. +CUDA_VERSION:STRING=11.7 + +//"cublas" library +CUDA_cublas_LIBRARY:FILEPATH=/usr/local/cuda-11.7/lib64/libcublas.so + +//"cublas_device" library +CUDA_cublas_device_LIBRARY:FILEPATH=CUDA_cublas_device_LIBRARY-NOTFOUND + +//"cudadevrt" library +CUDA_cudadevrt_LIBRARY:FILEPATH=/usr/local/cuda-11.7/lib64/libcudadevrt.a + +//static CUDA runtime library +CUDA_cudart_static_LIBRARY:FILEPATH=/usr/local/cuda-11.7/lib64/libcudart_static.a + +//"cufft" library +CUDA_cufft_LIBRARY:FILEPATH=/usr/local/cuda-11.7/lib64/libcufft.so + +//"cupti" library +CUDA_cupti_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libcupti.so + +//"curand" library +CUDA_curand_LIBRARY:FILEPATH=/usr/local/cuda-11.7/lib64/libcurand.so + +//"cusolver" library +CUDA_cusolver_LIBRARY:FILEPATH=/usr/local/cuda-11.7/lib64/libcusolver.so + +//"cusparse" library +CUDA_cusparse_LIBRARY:FILEPATH=/usr/local/cuda-11.7/lib64/libcusparse.so + +//Path to a library. +CUDA_dl_LIBRARY:FILEPATH=/software/kokkos/v3.6.01/cuda/libdl.a + +//"nppc" library +CUDA_nppc_LIBRARY:FILEPATH=/usr/local/cuda-11.7/lib64/libnppc.so + +//"nppi" library +CUDA_nppi_LIBRARY:FILEPATH=CUDA_nppi_LIBRARY-NOTFOUND + +//"npps" library +CUDA_npps_LIBRARY:FILEPATH=/usr/local/cuda-11.7/lib64/libnpps.so + +//"nvrtc" library +CUDA_nvrtc_LIBRARY:FILEPATH=/usr/local/cuda-11.7/lib64/libnvrtc.so + +//Path to a library. +CUDA_rt_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.a + +//No help, variable specified on the command line. +KNN:UNINITIALIZED=5 + +//Value Computed by CMake +OptiX-Samples_BINARY_DIR:STATIC=/home/mkotlerb/sph/rtnn/src/build + +//Value Computed by CMake +OptiX-Samples_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +OptiX-Samples_SOURCE_DIR:STATIC=/home/mkotlerb/sph/rtnn/src + +//Path to a file. +OptiX_INCLUDE:PATH=/home/mkotlerb/sph/rtnn/include + +//Path to OptiX installed location. +OptiX_INSTALL_DIR:PATH=/home/mkotlerb/sph/rtnn/src/.. + +//Dependencies for the target +optixNSearch_LIB_DEPENDS:STATIC=general;sutil_7_sdk;general;-Wl,--disable-new-dtags;general;m;general;/usr/local/cuda-11.7/lib64/libcudart_static.a;general;/usr/lib/x86_64-linux-gnu/librt.a;general;/software/kokkos/v3.6.01/cuda/libdl.a; + +//Dependencies for the target +sutil_7_sdk_LIB_DEPENDS:STATIC=general;/usr/local/cuda-11.7/lib64/libcudart_static.a;general;/usr/lib/x86_64-linux-gnu/librt.a;general;/software/kokkos/v3.6.01/cuda/libdl.a;general;/usr/local/cuda-11.7/lib64/libnvrtc.so; + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/mkotlerb/sph/rtnn/src/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 +//Have include pthread.h +CMAKE_HAVE_PTHREAD_H:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/mkotlerb/sph/rtnn/src +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=3 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: COMPILER_LIBRARY_PATH +COMPILER_LIBRARY_PATH-ADVANCED:INTERNAL=1 +//Result of TRY_COMPILE +COMPILE_RESULT_VAR:INTERNAL=FALSE +//ADVANCED property for variable: CUDA_64_BIT_DEVICE_CODE +CUDA_64_BIT_DEVICE_CODE-ADVANCED:INTERNAL=0 +//List of intermediate files that are part of the cuda dependency +// scanning. +CUDA_ADDITIONAL_CLEAN_FILES:INTERNAL=/home/mkotlerb/sph/rtnn/src/build/optixNSearch/CMakeFiles/optixNSearch.dir//optixNSearch_generated_thrust_helper.cu.o.depend;/home/mkotlerb/sph/rtnn/src/build/optixNSearch/CMakeFiles/optixNSearch.dir//optixNSearch_generated_grid.cu.o.depend;/home/mkotlerb/sph/rtnn/src/build/optixNSearch/CMakeFiles/optixNSearch.dir//optixNSearch_generated_aabb.cu.o.depend +//ADVANCED property for variable: CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE +CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_BUILD_CUBIN +CUDA_BUILD_CUBIN-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_BUILD_EMULATION +CUDA_BUILD_EMULATION-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_CUDART_LIBRARY +CUDA_CUDART_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_CUDA_LIBRARY +CUDA_CUDA_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_FATBINARY_EXECUTABLE +CUDA_FATBINARY_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_GENERATED_OUTPUT_DIR +CUDA_GENERATED_OUTPUT_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_HOST_COMPILATION_CPP +CUDA_HOST_COMPILATION_CPP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_NVASM_EXECUTABLE +CUDA_NVASM_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_NVCC_EXECUTABLE +CUDA_NVCC_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_NVCC_FLAGS +CUDA_NVCC_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_NVCC_FLAGS_DEBUG +CUDA_NVCC_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_NVCC_FLAGS_MINSIZEREL +CUDA_NVCC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_NVCC_FLAGS_RELEASE +CUDA_NVCC_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_NVCC_FLAGS_RELWITHDEBINFO +CUDA_NVCC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_NVRTC_FLAGS +CUDA_NVRTC_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_PROPAGATE_HOST_FLAGS +CUDA_PROPAGATE_HOST_FLAGS-ADVANCED:INTERNAL=1 +//This is the value of the last time CUDA_SDK_ROOT_DIR was set +// successfully. +CUDA_SDK_ROOT_DIR_INTERNAL:INTERNAL=CUDA_SDK_ROOT_DIR-NOTFOUND +//ADVANCED property for variable: CUDA_SEPARABLE_COMPILATION +CUDA_SEPARABLE_COMPILATION-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_TOOLKIT_INCLUDE +CUDA_TOOLKIT_INCLUDE-ADVANCED:INTERNAL=1 +//This is the value of the last time CUDA_TOOLKIT_ROOT_DIR was +// set successfully. +CUDA_TOOLKIT_ROOT_DIR_INTERNAL:INTERNAL=/usr/local/cuda-11.7 +//This is the value of the last time CUDA_TOOLKIT_TARGET_DIR was +// set successfully. +CUDA_TOOLKIT_TARGET_DIR_INTERNAL:INTERNAL=/usr/local/cuda-11.7 +//ADVANCED property for variable: CUDA_VERBOSE_BUILD +CUDA_VERBOSE_BUILD-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_VERSION +CUDA_VERSION-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_cublas_LIBRARY +CUDA_cublas_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_cublas_device_LIBRARY +CUDA_cublas_device_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_cudadevrt_LIBRARY +CUDA_cudadevrt_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_cudart_static_LIBRARY +CUDA_cudart_static_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_cufft_LIBRARY +CUDA_cufft_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_cupti_LIBRARY +CUDA_cupti_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_curand_LIBRARY +CUDA_curand_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_cusolver_LIBRARY +CUDA_cusolver_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_cusparse_LIBRARY +CUDA_cusparse_LIBRARY-ADVANCED:INTERNAL=1 +//Location of make2cmake.cmake +CUDA_make2cmake:INTERNAL=/home/mkotlerb/sph/rtnn/src/CMake/FindCUDA/make2cmake.cmake +//ADVANCED property for variable: CUDA_nppc_LIBRARY +CUDA_nppc_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_nppi_LIBRARY +CUDA_nppi_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_npps_LIBRARY +CUDA_npps_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CUDA_nvrtc_LIBRARY +CUDA_nvrtc_LIBRARY-ADVANCED:INTERNAL=1 +//Location of parse_cubin.cmake +CUDA_parse_cubin:INTERNAL=/home/mkotlerb/sph/rtnn/src/CMake/FindCUDA/parse_cubin.cmake +//Location of run_nvcc.cmake +CUDA_run_nvcc:INTERNAL=/home/mkotlerb/sph/rtnn/src/CMake/FindCUDA/run_nvcc.cmake +//Details about finding CUDA +FIND_PACKAGE_MESSAGE_DETAILS_CUDA:INTERNAL=[/usr/local/cuda-11.7][/usr/local/cuda-11.7/bin/nvcc][/usr/local/cuda-11.7/include][/usr/local/cuda-11.7/lib64/libcudart_static.a][v11.7(5.0)] +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +//Test OPTIX_CXX_ACCEPTS_NO_UNUSED_RESULT +OPTIX_CXX_ACCEPTS_NO_UNUSED_RESULT:INTERNAL=1 +//Already Configured once? +PASSED_FIRST_CONFIGURE:INTERNAL=ON +//Test SSE_41_AVAILABLE +SSE_41_AVAILABLE:INTERNAL=1 +//Path to internal bin2cpp.cmake +bin2cpp_cmake:INTERNAL=bin2cpp_cmake-NOTFOUND + diff --git a/src/build/Makefile b/src/build/Makefile new file mode 100644 index 0000000..93eb3cf --- /dev/null +++ b/src/build/Makefile @@ -0,0 +1,168 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/mkotlerb/sph/rtnn/src + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/mkotlerb/sph/rtnn/src/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/mkotlerb/sph/rtnn/src/build/CMakeFiles /home/mkotlerb/sph/rtnn/src/build//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/mkotlerb/sph/rtnn/src/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named optixNSearch + +# Build rule for target. +optixNSearch: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 optixNSearch +.PHONY : optixNSearch + +# fast build rule for target. +optixNSearch/fast: + $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/build +.PHONY : optixNSearch/fast + +#============================================================================= +# Target rules for targets named sutil_7_sdk + +# Build rule for target. +sutil_7_sdk: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 sutil_7_sdk +.PHONY : sutil_7_sdk + +# fast build rule for target. +sutil_7_sdk/fast: + $(MAKE) $(MAKESILENT) -f sutil/CMakeFiles/sutil_7_sdk.dir/build.make sutil/CMakeFiles/sutil_7_sdk.dir/build +.PHONY : sutil_7_sdk/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... optixNSearch" + @echo "... sutil_7_sdk" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/src/build/cmake_install.cmake b/src/build/cmake_install.cmake new file mode 100644 index 0000000..c0afce6 --- /dev/null +++ b/src/build/cmake_install.cmake @@ -0,0 +1,61 @@ +# Install script for directory: /home/mkotlerb/sph/rtnn/src + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + include("/home/mkotlerb/sph/rtnn/src/build/optixNSearch/cmake_install.cmake") + include("/home/mkotlerb/sph/rtnn/src/build/sutil/cmake_install.cmake") + +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/mkotlerb/sph/rtnn/src/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/src/build/optixNSearch/Makefile b/src/build/optixNSearch/Makefile new file mode 100644 index 0000000..48a4762 --- /dev/null +++ b/src/build/optixNSearch/Makefile @@ -0,0 +1,317 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/mkotlerb/sph/rtnn/src + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/mkotlerb/sph/rtnn/src/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + cd /home/mkotlerb/sph/rtnn/src/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/mkotlerb/sph/rtnn/src/build/CMakeFiles /home/mkotlerb/sph/rtnn/src/build/optixNSearch//CMakeFiles/progress.marks + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 optixNSearch/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/mkotlerb/sph/rtnn/src/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 optixNSearch/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 optixNSearch/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 optixNSearch/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/mkotlerb/sph/rtnn/src/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +optixNSearch/CMakeFiles/optixNSearch.dir/rule: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 optixNSearch/CMakeFiles/optixNSearch.dir/rule +.PHONY : optixNSearch/CMakeFiles/optixNSearch.dir/rule + +# Convenience name for target. +optixNSearch: optixNSearch/CMakeFiles/optixNSearch.dir/rule +.PHONY : optixNSearch + +# fast build rule for target. +optixNSearch/fast: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/build +.PHONY : optixNSearch/fast + +check.o: check.cpp.o +.PHONY : check.o + +# target to build an object file +check.cpp.o: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/check.cpp.o +.PHONY : check.cpp.o + +check.i: check.cpp.i +.PHONY : check.i + +# target to preprocess a source file +check.cpp.i: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/check.cpp.i +.PHONY : check.cpp.i + +check.s: check.cpp.s +.PHONY : check.s + +# target to generate assembly for a file +check.cpp.s: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/check.cpp.s +.PHONY : check.cpp.s + +main.o: main.cpp.o +.PHONY : main.o + +# target to build an object file +main.cpp.o: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/main.cpp.o +.PHONY : main.cpp.o + +main.i: main.cpp.i +.PHONY : main.i + +# target to preprocess a source file +main.cpp.i: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/main.cpp.i +.PHONY : main.cpp.i + +main.s: main.cpp.s +.PHONY : main.s + +# target to generate assembly for a file +main.cpp.s: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/main.cpp.s +.PHONY : main.cpp.s + +optix.o: optix.cpp.o +.PHONY : optix.o + +# target to build an object file +optix.cpp.o: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/optix.cpp.o +.PHONY : optix.cpp.o + +optix.i: optix.cpp.i +.PHONY : optix.i + +# target to preprocess a source file +optix.cpp.i: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/optix.cpp.i +.PHONY : optix.cpp.i + +optix.s: optix.cpp.s +.PHONY : optix.s + +# target to generate assembly for a file +optix.cpp.s: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/optix.cpp.s +.PHONY : optix.cpp.s + +search.o: search.cpp.o +.PHONY : search.o + +# target to build an object file +search.cpp.o: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/search.cpp.o +.PHONY : search.cpp.o + +search.i: search.cpp.i +.PHONY : search.i + +# target to preprocess a source file +search.cpp.i: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/search.cpp.i +.PHONY : search.cpp.i + +search.s: search.cpp.s +.PHONY : search.s + +# target to generate assembly for a file +search.cpp.s: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/search.cpp.s +.PHONY : search.cpp.s + +sort.o: sort.cpp.o +.PHONY : sort.o + +# target to build an object file +sort.cpp.o: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/sort.cpp.o +.PHONY : sort.cpp.o + +sort.i: sort.cpp.i +.PHONY : sort.i + +# target to preprocess a source file +sort.cpp.i: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/sort.cpp.i +.PHONY : sort.cpp.i + +sort.s: sort.cpp.s +.PHONY : sort.s + +# target to generate assembly for a file +sort.cpp.s: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/sort.cpp.s +.PHONY : sort.cpp.s + +util.o: util.cpp.o +.PHONY : util.o + +# target to build an object file +util.cpp.o: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/util.cpp.o +.PHONY : util.cpp.o + +util.i: util.cpp.i +.PHONY : util.i + +# target to preprocess a source file +util.cpp.i: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/util.cpp.i +.PHONY : util.cpp.i + +util.s: util.cpp.s +.PHONY : util.s + +# target to generate assembly for a file +util.cpp.s: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f optixNSearch/CMakeFiles/optixNSearch.dir/build.make optixNSearch/CMakeFiles/optixNSearch.dir/util.cpp.s +.PHONY : util.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... optixNSearch" + @echo "... check.o" + @echo "... check.i" + @echo "... check.s" + @echo "... main.o" + @echo "... main.i" + @echo "... main.s" + @echo "... optix.o" + @echo "... optix.i" + @echo "... optix.s" + @echo "... search.o" + @echo "... search.i" + @echo "... search.s" + @echo "... sort.o" + @echo "... sort.i" + @echo "... sort.s" + @echo "... util.o" + @echo "... util.i" + @echo "... util.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/mkotlerb/sph/rtnn/src/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/src/build/optixNSearch/cmake_install.cmake b/src/build/optixNSearch/cmake_install.cmake new file mode 100644 index 0000000..13715f8 --- /dev/null +++ b/src/build/optixNSearch/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/mkotlerb/sph/rtnn/src/optixNSearch + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + diff --git a/src/build/sampleConfig.h b/src/build/sampleConfig.h new file mode 100644 index 0000000..a0e3797 --- /dev/null +++ b/src/build/sampleConfig.h @@ -0,0 +1,56 @@ +// +// Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of NVIDIA CORPORATION nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#pragma once + +#define SAMPLES_DIR "/home/mkotlerb/sph/rtnn/src" +#define SAMPLES_PTX_DIR "/home/mkotlerb/sph/rtnn/src/build/lib/ptx" + +// Include directories +#define SAMPLES_RELATIVE_INCLUDE_DIRS \ + "sutil", \ + ".", +#define SAMPLES_ABSOLUTE_INCLUDE_DIRS \ + "/home/mkotlerb/sph/rtnn/include", \ + "/usr/local/cuda-11.7/include", + +// Signal whether to use NVRTC or not +#define CUDA_NVRTC_ENABLED 1 + +// NVRTC compiler options +#define CUDA_NVRTC_OPTIONS \ + "-std=c++11", \ + "-arch", \ + "compute_60", \ + "-use_fast_math", \ + "-lineinfo", \ + "-default-device", \ + "-rdc", \ + "true", \ + "-D__x86_64", \ + "-DK=5", diff --git a/src/build/sutil/Makefile b/src/build/sutil/Makefile new file mode 100644 index 0000000..58597d6 --- /dev/null +++ b/src/build/sutil/Makefile @@ -0,0 +1,236 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/mkotlerb/sph/rtnn/src + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/mkotlerb/sph/rtnn/src/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + cd /home/mkotlerb/sph/rtnn/src/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/mkotlerb/sph/rtnn/src/build/CMakeFiles /home/mkotlerb/sph/rtnn/src/build/sutil//CMakeFiles/progress.marks + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 sutil/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/mkotlerb/sph/rtnn/src/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 sutil/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 sutil/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 sutil/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/mkotlerb/sph/rtnn/src/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +sutil/CMakeFiles/sutil_7_sdk.dir/rule: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 sutil/CMakeFiles/sutil_7_sdk.dir/rule +.PHONY : sutil/CMakeFiles/sutil_7_sdk.dir/rule + +# Convenience name for target. +sutil_7_sdk: sutil/CMakeFiles/sutil_7_sdk.dir/rule +.PHONY : sutil_7_sdk + +# fast build rule for target. +sutil_7_sdk/fast: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f sutil/CMakeFiles/sutil_7_sdk.dir/build.make sutil/CMakeFiles/sutil_7_sdk.dir/build +.PHONY : sutil_7_sdk/fast + +IDFactory.o: IDFactory.cpp.o +.PHONY : IDFactory.o + +# target to build an object file +IDFactory.cpp.o: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f sutil/CMakeFiles/sutil_7_sdk.dir/build.make sutil/CMakeFiles/sutil_7_sdk.dir/IDFactory.cpp.o +.PHONY : IDFactory.cpp.o + +IDFactory.i: IDFactory.cpp.i +.PHONY : IDFactory.i + +# target to preprocess a source file +IDFactory.cpp.i: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f sutil/CMakeFiles/sutil_7_sdk.dir/build.make sutil/CMakeFiles/sutil_7_sdk.dir/IDFactory.cpp.i +.PHONY : IDFactory.cpp.i + +IDFactory.s: IDFactory.cpp.s +.PHONY : IDFactory.s + +# target to generate assembly for a file +IDFactory.cpp.s: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f sutil/CMakeFiles/sutil_7_sdk.dir/build.make sutil/CMakeFiles/sutil_7_sdk.dir/IDFactory.cpp.s +.PHONY : IDFactory.cpp.s + +Timing.o: Timing.cpp.o +.PHONY : Timing.o + +# target to build an object file +Timing.cpp.o: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f sutil/CMakeFiles/sutil_7_sdk.dir/build.make sutil/CMakeFiles/sutil_7_sdk.dir/Timing.cpp.o +.PHONY : Timing.cpp.o + +Timing.i: Timing.cpp.i +.PHONY : Timing.i + +# target to preprocess a source file +Timing.cpp.i: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f sutil/CMakeFiles/sutil_7_sdk.dir/build.make sutil/CMakeFiles/sutil_7_sdk.dir/Timing.cpp.i +.PHONY : Timing.cpp.i + +Timing.s: Timing.cpp.s +.PHONY : Timing.s + +# target to generate assembly for a file +Timing.cpp.s: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f sutil/CMakeFiles/sutil_7_sdk.dir/build.make sutil/CMakeFiles/sutil_7_sdk.dir/Timing.cpp.s +.PHONY : Timing.cpp.s + +sutil.o: sutil.cpp.o +.PHONY : sutil.o + +# target to build an object file +sutil.cpp.o: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f sutil/CMakeFiles/sutil_7_sdk.dir/build.make sutil/CMakeFiles/sutil_7_sdk.dir/sutil.cpp.o +.PHONY : sutil.cpp.o + +sutil.i: sutil.cpp.i +.PHONY : sutil.i + +# target to preprocess a source file +sutil.cpp.i: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f sutil/CMakeFiles/sutil_7_sdk.dir/build.make sutil/CMakeFiles/sutil_7_sdk.dir/sutil.cpp.i +.PHONY : sutil.cpp.i + +sutil.s: sutil.cpp.s +.PHONY : sutil.s + +# target to generate assembly for a file +sutil.cpp.s: + cd /home/mkotlerb/sph/rtnn/src/build && $(MAKE) $(MAKESILENT) -f sutil/CMakeFiles/sutil_7_sdk.dir/build.make sutil/CMakeFiles/sutil_7_sdk.dir/sutil.cpp.s +.PHONY : sutil.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... sutil_7_sdk" + @echo "... IDFactory.o" + @echo "... IDFactory.i" + @echo "... IDFactory.s" + @echo "... Timing.o" + @echo "... Timing.i" + @echo "... Timing.s" + @echo "... sutil.o" + @echo "... sutil.i" + @echo "... sutil.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/mkotlerb/sph/rtnn/src/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/src/build/sutil/cmake_install.cmake b/src/build/sutil/cmake_install.cmake new file mode 100644 index 0000000..d7fc8e3 --- /dev/null +++ b/src/build/sutil/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/mkotlerb/sph/rtnn/src/sutil + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + diff --git a/src/build/test/compile-test.c b/src/build/test/compile-test.c new file mode 100644 index 0000000..240bb83 --- /dev/null +++ b/src/build/test/compile-test.c @@ -0,0 +1,25 @@ + +/* + * Copyright (c) 2008 - 2009 NVIDIA Corporation. All rights reserved. + * + * NVIDIA Corporation and its licensors retain all intellectual property and proprietary + * rights in and to this software, related documentation and any modifications thereto. + * Any use, reproduction, disclosure or distribution of this software and related + * documentation without an express license agreement from NVIDIA Corporation is strictly + * prohibited. + * + * TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* + * AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, + * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY + * SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT + * LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF + * BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR + * INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGES + */ + +int main() +{ + return 0; +} diff --git a/src/optixNSearch/aabb.cu b/src/optixNSearch/aabb.cu index ca2a2e0..c1a2121 100644 --- a/src/optixNSearch/aabb.cu +++ b/src/optixNSearch/aabb.cu @@ -4,6 +4,7 @@ __global__ void kGenAABB_t ( const float3* points, float radius, + float* radii, unsigned int N, OptixAabb* aabb ) @@ -12,9 +13,10 @@ __global__ void kGenAABB_t ( if (particleIndex >= N) return; float3 center = points[particleIndex]; + float actual_radius = radii == NULL ? radius : radii[particleIndex]; - float3 m_min = center - radius; - float3 m_max = center + radius; + float3 m_min = center - actual_radius; + float3 m_max = center + actual_radius; aabb[particleIndex] = { @@ -23,13 +25,21 @@ __global__ void kGenAABB_t ( }; } -void kGenAABB(float3* points, float radius, unsigned int numPrims, OptixAabb* d_aabb, cudaStream_t stream) { +void kGenAABB( + float3* points, + float radius, + float* radii, + unsigned int numPrims, + OptixAabb* d_aabb, + cudaStream_t stream +) { unsigned int threadsPerBlock = 64; unsigned int numOfBlocks = numPrims / threadsPerBlock + 1; kGenAABB_t <<>> ( points, radius, + radii, numPrims, d_aabb ); diff --git a/src/optixNSearch/func.h b/src/optixNSearch/func.h index e433191..7f7ee9b 100644 --- a/src/optixNSearch/func.h +++ b/src/optixNSearch/func.h @@ -99,7 +99,7 @@ thrust::device_ptr sortQueriesByFHCoord(RTNNState&, thrust::device thrust::device_ptr sortQueriesByFHIdx(RTNNState&, thrust::device_ptr, int); void gatherQueries(RTNNState&, thrust::device_ptr, int); -void kGenAABB(float3*, float, unsigned int, OptixAabb*, cudaStream_t); +void kGenAABB(float3*, float, float*, unsigned int, OptixAabb*, cudaStream_t); void uploadData(RTNNState&); void createGeometry(RTNNState&, int, float); void launchSubframe(unsigned int*, RTNNState&, int); diff --git a/src/optixNSearch/geometry.cu b/src/optixNSearch/geometry.cu index 61518c8..2bca6f9 100644 --- a/src/optixNSearch/geometry.cu +++ b/src/optixNSearch/geometry.cu @@ -39,12 +39,16 @@ extern "C" __device__ bool check_intersect(SearchType mode) { unsigned int primIdx = optixGetPrimitiveIndex(); const float3 center = params.points[primIdx]; + + // if radii is null, use constant radius for all queries + const float radius = params.radii == NULL ? params.radius : params.radii[primIdx]; + const float3 ray_orig = optixGetWorldRayOrigin(); bool intersect = false; if (mode == AABBTEST) { - float3 topRight = center + params.radius; - float3 bottomLeft = center - params.radius; + float3 topRight = center + radius; + float3 bottomLeft = center - radius; if ((ray_orig > bottomLeft) && (ray_orig < topRight)) intersect = true; @@ -62,7 +66,7 @@ extern "C" __device__ bool check_intersect(SearchType mode) float sqdist = dot(O, O); // first check excludes the query itself; same as (ray_orig != center) - if (sqdist < params.radius * params.radius) + if (sqdist <= radius * radius) intersect = true; } @@ -71,14 +75,26 @@ extern "C" __device__ bool check_intersect(SearchType mode) extern "C" __device__ void write_res_radius() { + unsigned int id = optixGetPayload_1(); + if (id < params.limit) { unsigned int queryIdx = optixGetPayload_0(); unsigned int primIdx = optixGetPrimitiveIndex(); - params.frame_buffer[queryIdx * params.limit + id] = primIdx; - if (id + 1 == params.limit) - optixReportIntersection( 0, 0 ); - else optixSetPayload_1( id+1 ); + + // current index of point is stored in the first element of the results buffer + // if uninitialized, old_index == UINT_MAX, which will overflow to zero during the first increment + // operation must be atomic because multiple threads may be writing to the same index + unsigned int old_index = atomicAdd(¶ms.frame_buffer[primIdx * params.limit], 1); + unsigned int new_index = old_index + 1; + + if (new_index < params.limit) { + // extra +1 needed to skip index field + // write query index to results buffer, in the next available slot + params.frame_buffer[primIdx * params.limit + new_index + 1] = queryIdx; + } + + optixSetPayload_1( id+1 ); } } @@ -88,7 +104,6 @@ extern "C" __global__ void __intersection__sphere_radius() // bbox (even if the actual intersections are beyond the tmin and tmax). SearchType mode = params.mode; - if (mode == NOTEST) { write_res_radius(); } else { @@ -103,6 +118,7 @@ extern "C" __global__ void __intersection__sphere_radius() write_res_radius(); } } + } extern "C" __device__ void insertTopKQ(float key, unsigned int val) diff --git a/src/optixNSearch/main.cpp b/src/optixNSearch/main.cpp index 03814e7..db7b133 100644 --- a/src/optixNSearch/main.cpp +++ b/src/optixNSearch/main.cpp @@ -1,3 +1,5 @@ +#include + #include #include @@ -44,43 +46,13 @@ void setupSearch( RTNNState& state ) { state.launchRadius[0] = state.radius; } -int main( int argc, char* argv[] ) +void executeSearch(RTNNState& state) { - RTNNState state; - parseArgs( state, argc, argv ); - - readData(state); - - std::cout << "========================================" << std::endl; - std::cout << "numPoints: " << state.numPoints << std::endl; - std::cout << "numQueries: " << state.numQueries << std::endl; - std::cout << "searchMode: " << state.searchMode << std::endl; - std::cout << "radius: " << state.radius << std::endl; - std::cout << "Deferred free? " << std::boolalpha << state.deferFree << std::endl; - std::cout << "E2E Measure? " << std::boolalpha << state.msr << std::endl; - std::cout << "K: " << state.knn << std::endl; - std::cout << "Same P and Q? " << std::boolalpha << state.samepq << std::endl; - std::cout << "Query partition? " << std::boolalpha << state.partition << std::endl; - std::cout << "Approx query partition mode: " << state.approxMode << std::endl; - std::cout << "Auto batching? " << std::boolalpha << state.autoNB << std::endl; - std::cout << "Auto crRatio? " << std::boolalpha << state.autoCR << std::endl; - std::cout << "cellRadiusRatio: " << std::boolalpha << state.crRatio << std::endl; // only useful when preSort == 1/2 and autoCR is false - std::cout << "mcScale: " << state.mcScale << std::endl; - std::cout << "crStep: " << state.crStep << std::endl; - std::cout << "Interleave? " << std::boolalpha << state.interleave << std::endl; - std::cout << "qGasSortMode: " << state.qGasSortMode << std::endl; - std::cout << "pointSortMode: " << state.pointSortMode << std::endl; - std::cout << "querySortMode: " << state.querySortMode << std::endl; - std::cout << "gsrRatio: " << state.gsrRatio << std::endl; // only useful when qGasSortMode != 0 - std::cout << "Gather after gas sort? " << std::boolalpha << state.toGather << std::endl; - std::cout << "========================================" << std::endl << std::endl; - - try - { + try { setDevice(state); - Timing::reset(); + // Timing::reset(); uploadData(state); // call this after set device. @@ -88,8 +60,6 @@ int main( int argc, char* argv[] ) setupOptiX(state); - Timing::startTiming("total search time"); - // TODO: streamline the logic of partition and sorting. sortParticles(state, QUERY, state.querySortMode); @@ -145,10 +115,8 @@ int main( int argc, char* argv[] ) } CUDA_SYNC_CHECK(); - Timing::stopTiming(true); if(state.sanCheck) sanityCheck(state); - cleanupState(state); } catch( std::exception& e ) @@ -156,6 +124,112 @@ int main( int argc, char* argv[] ) std::cerr << "Caught exception: " << e.what() << "\n"; exit(1); } - - exit(0); } + +/** +@param points: null-terminated array of points in flat float array. + for each pair of floats at index [i, i + 1, i + 2] in the points array, + the three elements are the x, y, z of the point +@param numPoints: number of points in the points array +@param radius: radius limit for all points +@param radii: null-terminated array of radius limits for each point in points + if radii is NULL, the constant radius is used. + if radii is not NULL, the radius parameter is ignored and the radii array is used. +@param max_interactions: maximum number of interactions to return + +@returns: null-terminated array of neighbor pairs in float array. + for each float[] in the main array, + the first three elements are the x, y, z of the first point + and the last three elements are the x, y, z of the second point + radii[i] is the radius limit for points[i] +**/ +float** getNeighborList(float* points, int numPoints, float radius, float* radii, double max_interactions) { + float3* t_points = new float3[numPoints]; + + // turn flat array of floats into array of float3's + for (int i = 0; i < numPoints; i++) { + int index = i * 3; + t_points[i] = make_float3(points[index], points[index + 1], points[index + 2]); + } + + RTNNState state; + + char* argv[] = {}; + parseArgs(state, 0, argv); + + // manually set state parameters + state.numPoints = numPoints; + state.numQueries = numPoints; + state.h_points = t_points; + state.h_queries = t_points; + state.h_radii = radii; + state.searchMode = "radius"; + state.sanCheck = false; + state.params.radius = radius; + state.radius = radius; + state.samepq = true; + state.knn = max_interactions; + + // enable optimizations + state.querySortMode = 1; + state.pointSortMode = 1; + state.interleave = true; + state.qGasSortMode = 2; + + if (state.radii == NULL) { + state.autoNB = false; // keep batching and partitioning off, as it doesn't make sense for variable radii + state.numOfBatches = -1; + state.partition = false; + } else { + state.autoNB = true; + state.partition = true; + } + + executeSearch(state); + + float** neighbors = new float*[numPoints * numPoints]; // size of max amount of neighbor pairs + int processed_count = 0; + + // extract result from the state + // rtnn stores as a flat array of ints, where each point has max k neighbors + // this converts to an array of neighbor pairs, described above + for (int batch_id = 0; batch_id < state.numOfBatches; batch_id++) { + + unsigned int* result = (unsigned int*) state.h_res[batch_id]; + for (int p = 0; p < numPoints; p++) { + float3 point = state.h_points[p]; + unsigned int prev_q = -1; + + for (int n = 1; n <= state.knn; n++) { // start at 1 to skip index fields + unsigned long index = p * state.knn + n; + unsigned int q = static_cast(state.h_res[batch_id])[index]; + + // if q == UINT_MAX, that point has no more neighbors, and the rest of the qs in that section will all be UINT_MAX + if (q == UINT_MAX) { + break; + } + + // prevent in-order duplicates, which rtnn occasionally generates + if (q == prev_q) { + continue; + } + + float3 query = state.h_points[q]; + neighbors[processed_count] = new float[6]; + neighbors[processed_count][0] = query.x; + neighbors[processed_count][1] = query.y; + neighbors[processed_count][2] = query.z; + neighbors[processed_count][3] = point.x; + neighbors[processed_count][4] = point.y; + neighbors[processed_count][5] = point.z; + + processed_count++; + prev_q = q; + } + } + } + + // null-terminate the return array + neighbors[processed_count] = NULL; + return neighbors; +} \ No newline at end of file diff --git a/src/optixNSearch/optix.cpp b/src/optixNSearch/optix.cpp index bab0788..950e9cd 100644 --- a/src/optixNSearch/optix.cpp +++ b/src/optixNSearch/optix.cpp @@ -116,10 +116,16 @@ void filterRemoteQueries ( RTNNState& state ) { void uploadData ( RTNNState& state ) { Timing::startTiming("upload points and/or queries"); - // Allocate device memory for points/queries + // Allocate device memory for points/queries and radaii thrust::device_ptr d_points_ptr; + thrust::device_ptr d_radii_ptr; state.params.points = allocThrustDevicePtr(&d_points_ptr, state.numPoints, &state.d_pointers); + if (state.h_radii != NULL) { + state.params.radii = allocThrustDevicePtr(&d_radii_ptr, state.numPoints, &state.d_pointers); + thrust::copy(state.h_radii, state.h_radii + state.numPoints, d_radii_ptr); // num points is the same number of radii + } + thrust::copy(state.h_points, state.h_points + state.numPoints, d_points_ptr); computeMinMax(state.numPoints, state.params.points, state.pMin, state.pMax); @@ -159,7 +165,7 @@ void uploadData ( RTNNState& state ) { state.gRadius = state.radius; float3 O = state.Min - state.Max; float dist = sqrtf(dot(O, O)); - state.radius = std::min(state.radius, dist); + state.radius = std::min(state.radius, dist); fprintf(stdout, "\tGiven radius: %f\n", state.gRadius); fprintf(stdout, "\tActual radius: %f\n", state.radius); Timing::stopTiming(true); @@ -265,9 +271,10 @@ CUdeviceptr createAABB( RTNNState& state, int batch_id, float radius ) // when |gsrRatio| isn't 1. d_aabb = reinterpret_cast(state.d_aabb[batch_id]); } - + kGenAABB(state.params.points, - radius, + radius, + state.params.radii, numPrims, d_aabb, state.stream[batch_id] @@ -276,7 +283,7 @@ CUdeviceptr createAABB( RTNNState& state, int batch_id, float radius ) return reinterpret_cast(d_aabb); } -void createGeometry( RTNNState& state, int batch_id, float radius ) +void createGeometry( RTNNState& state, int batch_id, float radius) { Timing::startTiming("create and upload geometry"); CUdeviceptr d_aabb = createAABB(state, batch_id, radius); @@ -642,8 +649,6 @@ void cleanupState( RTNNState& state ) CUDA_CHECK( cudaStreamDestroy(state.stream[i]) ); - CUDA_CHECK( cudaFreeHost(state.h_res[i] ) ); - delete state.h_actQs[i]; //CUDA_CHECK( cudaFree( state.d_temp_buffer_gas[i] ) ); // if compaction isn't successful, d_gas and d_buffer_temp point will point to the same device memory. @@ -657,7 +662,6 @@ void cleanupState( RTNNState& state ) delete state.stream; delete state.numActQueries; delete state.launchRadius; - delete state.h_res; delete state.d_actQs; delete state.h_actQs; delete state.d_aabb; diff --git a/src/optixNSearch/optixNSearch.h b/src/optixNSearch/optixNSearch.h index 97e2a93..5672bd5 100644 --- a/src/optixNSearch/optixNSearch.h +++ b/src/optixNSearch/optixNSearch.h @@ -58,6 +58,7 @@ struct Params float3* points; float3* queries; float radius; + float* radii; unsigned int* d_r2q_map; unsigned int limit; // 1 for the initial run to sort indices; knn for future runs. SearchType mode; diff --git a/src/optixNSearch/search.cpp b/src/optixNSearch/search.cpp index 5de895a..c528cdb 100644 --- a/src/optixNSearch/search.cpp +++ b/src/optixNSearch/search.cpp @@ -13,7 +13,12 @@ void search(RTNNState& state, int batch_id) { state.params.limit = state.knn; thrust::device_ptr output_buffer; - allocThrustDevicePtr(&output_buffer, numQueries * state.params.limit, &state.d_pointers); + + // every sub-array has a slot at the begining used for storing the current index + // so total size is (output slots) + numQueries + unsigned int output_buffer_size = (numQueries * state.params.limit) + numQueries; + + allocThrustDevicePtr(&output_buffer, output_buffer_size, &state.d_pointers); // unused slots will become UINT_MAX fillByValue(output_buffer, numQueries * state.params.limit, UINT_MAX); @@ -43,6 +48,7 @@ void search(RTNNState& state, int batch_id) { Timing::startTiming("result copy D2H"); void* data; cudaMallocHost(reinterpret_cast(&data), numQueries * state.params.limit * sizeof(unsigned int)); + state.h_res[batch_id] = data; CUDA_CHECK( cudaMemcpyAsync( diff --git a/src/optixNSearch/state.h b/src/optixNSearch/state.h index 110b233..9c9550a 100644 --- a/src/optixNSearch/state.h +++ b/src/optixNSearch/state.h @@ -66,6 +66,7 @@ struct RTNNState float3* h_queries = nullptr; float3** h_ndpoints = nullptr; float3** h_ndqueries = nullptr; + float* h_radii = nullptr; int dim; bool msr = true; bool sanCheck = false; @@ -77,6 +78,7 @@ struct RTNNState unsigned int knn = 50; float gRadius = 2.0; float radius = 2.0; + float* radii = nullptr; int qGasSortMode = 2; // no GAS-based sort vs. 1D vs. ID int pointSortMode = 1; // no sort vs. morton order vs. raster order vs. 1D order int querySortMode = 1; // no sort vs. morton order vs. raster order vs. 1D order