diff --git a/faiss/gpu/utils/DeviceVector.cuh b/faiss/gpu/utils/DeviceVector.cuh index fff5a79086..0517d06c32 100644 --- a/faiss/gpu/utils/DeviceVector.cuh +++ b/faiss/gpu/utils/DeviceVector.cuh @@ -132,7 +132,7 @@ class DeviceVector { bool resize(size_t newSize, cudaStream_t stream) { bool mem = false; - if (num_ < newSize) { + if (newSize > capacity_) { mem = reserve(getNewCapacity_(newSize), stream); } @@ -249,7 +249,7 @@ class DeviceVector { if (preferredSize <= kDeviceVector_2x_Limit) { return utils::nextHighestPowerOf2(preferredSize); } else if (preferredSize <= kDeviceVector_1_25x_Limit) { - return preferredSize + (preferredSize << 2); + return preferredSize + (preferredSize >> 2); } else { return preferredSize; }