| … | … | @@ -92,7 +92,7 @@ void insert_hashtable(KeyValue* pHashTable, const KeyValue* kvs, uint32_t num_kv |
| 92 | 92 | __global__ void gpu_hashtable_lookup(KeyValue* hashtable, KeyValue* kvs, unsigned int numkvs) |
| 93 | 93 | { |
| 94 | 94 | unsigned int threadid = blockIdx.x * blockDim.x + threadIdx.x; |
| 95 | | if (threadid < kHashTableCapacity) |
| 95 | if (threadid < numkvs) |
| 96 | 96 | { |
| 97 | 97 | uint32_t key = kvs[threadid].key; |
| 98 | 98 | uint32_t slot = hash(key); |
| … | … | @@ -135,7 +135,7 @@ void lookup_hashtable(KeyValue* pHashTable, KeyValue* kvs, uint32_t num_kvs) |
| 135 | 135 | |
| 136 | 136 | // Insert all the keys into the hash table |
| 137 | 137 | int gridsize = ((uint32_t)num_kvs + threadblocksize - 1) / threadblocksize; |
| 138 | | gpu_hashtable_insert << <gridsize, threadblocksize >> > (pHashTable, device_kvs, (uint32_t)num_kvs); |
| 138 | gpu_hashtable_lookup << <gridsize, threadblocksize >> > (pHashTable, device_kvs, (uint32_t)num_kvs); |
| 139 | 139 | |
| 140 | 140 | cudaEventRecord(stop); |
| 141 | 141 | |
| … | … | @@ -156,7 +156,7 @@ void lookup_hashtable(KeyValue* pHashTable, KeyValue* kvs, uint32_t num_kvs) |
| 156 | 156 | __global__ void gpu_hashtable_delete(KeyValue* hashtable, const KeyValue* kvs, unsigned int numkvs) |
| 157 | 157 | { |
| 158 | 158 | unsigned int threadid = blockIdx.x * blockDim.x + threadIdx.x; |
| 159 | | if (threadid < kHashTableCapacity) |
| 159 | if (threadid < numkvs) |
| 160 | 160 | { |
| 161 | 161 | uint32_t key = kvs[threadid].key; |
| 162 | 162 | uint32_t slot = hash(key); |