The supplied Makefile can be used to build the software in both debug mode
(make debug
) and optimized mode (make release
). A symlink is created next
to the Makefile that points to the generated binary.
The CUDA hash table and C++ hash table are compiled into a single driver executable. Therefore, the Makefile has to know the location of nvcc and g++ (>= 4.7), so change the variables CXX and NVCC to the correct names if needed. Also adjust the CUDA_FLAGS variable to use the best compute capability for your GPU.
./phash <2^N> <CUDA|ShMem> <Linear|Quad|Cuckoo> <iter> <queryIter> <shMemThreads>
All arguments are integers.
- log2 of the number of items to generate for testing.
- 0 = CUDA, 1 = ShMem
- 0 = Linear Probing, 1 = Quadratic Probing, 2 = Cuckoo Hashing
- Num of test iterations to run. Results are averaged into a single insertion rate and query rate. (Report used 10)
- Number of times to query for each item in each test. (Report used 250)
- Number of threads to use for C++ hash table.