Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
595827d
Added all of snmg hashgraph
alokpathy Sep 9, 2019
6d687dd
Commented out all moderngpu code
alokpathy Sep 24, 2019
836a59c
Removed moderngpu
alokpathy Sep 24, 2019
3cfc616
Fixed correctness check
alokpathy Sep 24, 2019
1b80d33
Made build/intersect test a flag
alokpathy Sep 26, 2019
cfb91de
Added experiment scripts
alokpathy Sep 26, 2019
19997b0
Disabled profiling
alokpathy Sep 26, 2019
4ee8dd8
Added empty results folder
alokpathy Sep 26, 2019
b58b679
Updated key scalability experiment
alokpathy Sep 26, 2019
83e8ece
Fixed scripts
alokpathy Sep 28, 2019
992a506
Added strong scaling experiment scripts
alokpathy Oct 2, 2019
b20adcd
Added managed memory macro
alokpathy Oct 3, 2019
73c8a3e
Fixed intersect bug
alokpathy Oct 4, 2019
72eab29
managed memory intersect
alokpathy Oct 4, 2019
41acc20
Fixed race condition
alokpathy Oct 4, 2019
539609b
Fixed managed mem intersect bug
alokpathy Oct 4, 2019
81d6358
Added weak scaling scripts
alokpathy Oct 4, 2019
cb0e07d
Added duplicate key scripts
alokpathy Oct 7, 2019
ee2ffe7
Added general experiment script
alokpathy Oct 7, 2019
ab90046
Fixed experiment script
alokpathy Oct 8, 2019
f589040
Removed rmm and mem
alokpathy Oct 8, 2019
3de2745
Disabled much of experiments.sh and fixed dup key script
alokpathy Oct 9, 2019
8db1d92
Fixed script again
alokpathy Oct 9, 2019
2295bd7
Added job script and printed device info
Nov 7, 2019
b6adc76
Removed output file
alokpathy Nov 7, 2019
288c7cf
Removed file writing from experiment scripts
alokpathy Nov 8, 2019
8a0e2b1
Modified experiment scripts for dgx1 and summit
alokpathy Nov 8, 2019
2c92794
Fixed managed memory bug
alokpathy Nov 14, 2019
670ba7b
Cleanup
alokpathy Nov 14, 2019
9512954
Added dgx1 scripts
alokpathy Nov 15, 2019
c38718b
Added dgx1 results and added make to experiment script
alokpathy Dec 3, 2019
d653fab
Added temp summit results and temp jupyter
alokpathy Dec 4, 2019
474d7bf
Added mem heuristic + new summit results
alokpathy Dec 4, 2019
cd62dc1
Fixed intersect bug and new summit results
alokpathy Dec 4, 2019
6d6f159
Minor cleanup
alokpathy Dec 4, 2019
1432d81
Cleaned up experiment scripts
alokpathy Dec 5, 2019
4842d74
Cleaned up summit experiment script
alokpathy Dec 5, 2019
3ecd453
Temp summit results
alokpathy Dec 5, 2019
60a3c50
Summit results + basic plots
alokpathy Dec 6, 2019
c187979
Added dgx2 scripts
alokpathy Dec 6, 2019
989f4da
Disable profiling
alokpathy Dec 6, 2019
eece39b
Added build/ intersect/ folders
alokpathy Dec 6, 2019
3630ba7
Added tmp files
alokpathy Dec 6, 2019
fab7d45
Updated gitignore
alokpathy Dec 6, 2019
557ebaf
Cleaned up jupyter notebook
alokpathy Dec 6, 2019
27b82d3
Updated plots
alokpathy Dec 9, 2019
0227b05
Updated plots
alokpathy Dec 9, 2019
4af6eb9
Updated plots
alokpathy Dec 9, 2019
d950183
Fixed weak scaling plots
alokpathy Dec 9, 2019
68ab3a5
Fixed weak scaling plots
alokpathy Dec 9, 2019
86c8cef
Removed jsrun from dgx2 script
alokpathy Dec 10, 2019
a33a871
Added dgx2 plots
alokpathy Dec 12, 2019
e34f645
Removed memory heuristic from dgx2 scripts
alokpathy Dec 12, 2019
5edfd28
Fixed memory heuristic in dgx2 scripts
alokpathy Dec 17, 2019
f224fe8
Build SNSG code
alokpathy Dec 17, 2019
479c37d
SNSG input is full val instead of exponent
alokpathy Dec 18, 2019
88d84fb
Added new dgx2 results
alokpathy Dec 18, 2019
33683ec
Updated dgx2 plots
alokpathy Dec 18, 2019
48e8d62
Added basic SNSG HG script
alokpathy Dec 18, 2019
78370a2
Removed temp storage cudamalloc
alokpathy Dec 19, 2019
35eaa43
Handles exceptions in ipynb
alokpathy Jan 7, 2020
21610be
Changed prof location and prealloc mem for intersect
alokpathy Jan 7, 2020
da1f1ab
Heuristic for prealloc memory
alokpathy Jan 7, 2020
1a8e28a
New summit results and removed duplicate_keys test
alokpathy Jan 8, 2020
db072e9
Bug fixes in snsg code
alokpathy Jan 9, 2020
28ecf65
Removed HOST_PROFILE
alokpathy Jan 9, 2020
af1f349
Lots of performance improvements
alokpathy Jan 9, 2020
a407372
Faster parameters
alokpathy Jan 9, 2020
1941354
New dgx2 plots post hotspotting opts
alokpathy Jan 14, 2020
695315d
Added prefetch in constructor
alokpathy Jan 14, 2020
38e9880
Weird race condition?
alokpathy Jan 14, 2020
3b9be0c
dgx2 plots
alokpathy Jan 14, 2020
d25a562
32-bit support
alokpathy Jan 15, 2020
d48941c
32-bit support and dgx1 scripts
alokpathy Jan 18, 2020
191ea57
Removed CHECK_ERROR
alokpathy Jan 18, 2020
9577dd3
Undid some things
alokpathy Jan 22, 2020
62ac665
Restored temp space calculation
alokpathy Jan 22, 2020
9ad06e4
keycounts are even powers of 2 now
alokpathy Jan 27, 2020
91e0a08
updated dgx1 scripts
alokpathy Jan 27, 2020
b89735e
Reset to pre 32-bit state
alokpathy Feb 5, 2020
0cc45b6
Removes all barriers in host operators
alokpathy Feb 8, 2020
65dc9be
Reset to the run that worked
alokpathy Feb 9, 2020
3134301
Disabled RAND_KEY
alokpathy Feb 9, 2020
66bc92a
Removed CUDA_PROFILE
alokpathy Feb 9, 2020
6bef1db
Added barrer in countFinalKeys
alokpathy Feb 9, 2020
840d006
Added prefetching in constructor
alokpathy Feb 9, 2020
41b45ea
Tuned blocksize and blockcount
alokpathy Feb 9, 2020
037b17f
Reset to 32-bit code
alokpathy Feb 9, 2020
4ef28ff
Modified id and stride types to be 64-bit
alokpathy Feb 9, 2020
182983d
Modified size type to int
alokpathy Feb 9, 2020
94fa17f
Capped table size
alokpathy Feb 22, 2020
e984381
New dgx2 plots
alokpathy Feb 26, 2020
0a4418d
Updated ipynb to display plot
alokpathy Feb 26, 2020
1b2cbfa
Docked max table size down by one
alokpathy Mar 3, 2020
cc8170a
Changed couple params
alokpathy Mar 7, 2020
ab26226
Re-added HOST_PROFILE
alokpathy Apr 20, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 0 additions & 6 deletions .gitmodules

This file was deleted.

3 changes: 0 additions & 3 deletions README.md

This file was deleted.

6 changes: 6 additions & 0 deletions hash-graph-dehornetify/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/build/
.files_for_cscope
cscope.out
.*.swp
logs/
outputs/
55 changes: 55 additions & 0 deletions hash-graph-dehornetify/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
cmake_minimum_required(VERSION 3.8) #language level CUDA support was added in CMake 3.8
set(PROJECT "HornetAlg")

project(${PROJECT} LANGUAGES CXX CUDA)

include(compiler-util/CMakeLists.txt)
# include(../compiler-util/CMakeLists.txt)

# add_subdirectory(../hornet build)

###################################################################################################
# - include paths ---------------------------------------------------------------------------------

# include_directories(../hornet/include)
# include_directories(include/rmm/detail)
# include_directories(include/rmm)
include_directories(include)
include_directories(test)
# include_directories(mem)
# include_directories(SingleHashGraph)
# include_directories(MultiHashGraph)

# include_directories(/home/ogreen/hash-graph/moderngpu-oded/src)
# include_directories(/home/ogreen/hash-graph/hornetsnest/externals/cnmem/include)
# include_directories(../externals/moderngpu-oded/src)
# include_directories(../externals/cnmem/include)
include_directories(externals/moderngpu-oded/src)
include_directories(externals/rmm/include)
# include_directories(externals/cnmem/include)


###################################################################################################
# - library targets -------------------------------------------------------------------------------

file(GLOB_RECURSE CU_SRCS src/*)
# file(GLOB_RECURSE CPP_SRCS ${PROJECT_SOURCE_DIR}/externals/xlib/src/*)

add_library(alg ${CU_SRCS})

###################################################################################################
# - add executables -------------------------------------------------------------------------------

# add_executable(sing-hash test/SingleHashGraphTest.cu mem/memory.cpp mem/memory_manager.cpp externals/cnmem/src/cnmem.cpp)
# add_executable(sing-hash test/SingleHashGraphTest.cu mem/memory_manager.cpp)
# add_executable(multi-hash test/MultiHashGraphTest.cu mem/memory.cpp mem/memory_manager.cpp externals/cnmem/src/cnmem.cpp)
add_executable(sing-hash test/SingleHashGraphTest.cu )
add_executable(multi-hash test/MultiHashGraphTest.cu )
# add_executable(multi-hash test/MultiHashGraphTest.cu )


# link_directories(externals/rmm)
# target_link_libraries(sing-hash alg cuda rmm)
target_link_libraries(sing-hash alg cuda -fopenmp )
# target_link_libraries(multi-hash alg cuda rmm -fopenmp )
target_link_libraries(multi-hash alg cuda -fopenmp )
133 changes: 133 additions & 0 deletions hash-graph-dehornetify/compiler-util/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
###################################################################################################
# - set build options -----------------------------------------------------------------------------

set(CUB_LIBRARY ON) # if set to off, some test cases using CUB will not compile.
set(RMM_LIBRARY OFF) # if set to ON, gpu::allocate invokes RMM_ALLOC, if set to OFF, gpu::allocate invokes cuMalloc (which in turn, invokes cudaMalloc)

###################################################################################################
# - cmake modules ---------------------------------------------------------------------------------

include(FeatureSummary)
include(CheckIncludeFiles)
include(CheckLibraryExists)

###################################################################################################
# - compiler options ------------------------------------------------------------------------------

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#set(CMAKE_C_COMPILER $ENV{CC})
#set(CMAKE_CXX_COMPILER $ENV{CXX})

set(CMAKE_CUDA_STANDARD 14)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
#set(CMAKE_CUDA_SEPARABLE_COMPILATION ON) # no other RAPIDS projects use this

set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # if on, save output of compile commands to compile_command.json

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") # for compatibility with Arrow
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") # for compatibility with Arrow
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xcompiler -D_GLIBCXX_USE_CXX11_ABI=0") # for compatibility with Arrow

# set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -gencode=arch=compute_60,code=sm_60")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -gencode=arch=compute_70,code=sm_70")

set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --gpu-architecture=compute_70 --gpu-code=sm_70")
# set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --gpu-architecture=compute_60 --gpu-code=sm_60")

set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --expt-extended-lambda --expt-relaxed-constexpr")

# set warnings as errors
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
endif(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Werror cross-execution-space-call -Xcompiler")

# set default build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()

if(CUB_LIBRARY)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DCUB_WRAPPER")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCUB_WRAPPER")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -DCUB_WRAPPER")
endif()

if(RMM_LIBRARY)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DRMM_WRAPPER")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DRMM_WRAPPER")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -DRMM_WRAPPER")
endif()

###################################################################################################
# - Find and add different modules and supporting repos -------------------------------------------

find_package(OpenMP)
if(OpenMP_CXX_FOUND)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xcompiler=${OpenMP_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
endif()

###################################################################################################
# - include paths ---------------------------------------------------------------------------------

include_directories("${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}")
# include_directories(../primitives)
# include_directories(../externals/cpp-btree-master)
# include_directories(../xlib/include)

if(CUB_LIBRARY)
include_directories(externals/cub-1.8.0)
endif()

if(RMM_LIBRARY)
# include_directories(../externals/rmm/include)
# include_directories(../externals/rmm/src)
# include_directories(../externals/rmm/thirdparty/cnmem/include)
include_directories(../externals/rmm/include)
include_directories(../externals/rmm/src)
include_directories(../externals/rmm/thirdparty/cnmem/include)
endif()

###################################################################################################
# - library paths ---------------------------------------------------------------------------------

link_directories("${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES}") # CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES is an undocumented/unsupported variable containing the link directories for nvcc

###################################################################################################
# - library targets -------------------------------------------------------------------------------

###################################################################################################
# - build options ---------------------------------------------------------------------------------

option(USE_NVTX "Build with NVTX support" ON)
if(USE_NVTX)
message(STATUS "Using Nvidia Tools Extension")
find_library(NVTX_LIBRARY nvToolsExt PATH ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES})
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --define-macro USE_NVTX")
endif(USE_NVTX)

if(CMAKE_BUILD_TYPE MATCHES Debug)
message(STATUS "Building with debugging flags")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -G -O0")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0")
elseif(CMAKE_BUILD_TYPE MATCHES Release)
message(STATUS "Building with optimization flags")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
endif(CMAKE_BUILD_TYPE MATCHES Debug)

if(CMAKE_BUILD_TYPE MATCHES Prof)
message(STATUS "Building with debugging flags")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -G -O0")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -pg")
endif(CMAKE_BUILD_TYPE MATCHES Prof)

###################################################################################################
# - link libraries --------------------------------------------------------------------------------

###################################################################################################
# - custom targets --------------------------------------------------------------------------------

Loading