}\r
\r
template <int BLOCK_SIZE, int MAX_DESC_LEN, typename Dist, typename T, typename Mask> \r
- __device__ void loopUnrolledCached(int queryIdx, const DevMem2D_<T>& query, int imgIdx, const DevMem2D_<T>& train, const Mask& mask, \r
+ __device__ void loopUnrolledCached(int queryIdx, const DevMem2D_<T>& query,volatile int imgIdx, const DevMem2D_<T>& train, const Mask& mask,\r
typename Dist::value_type* s_query, typename Dist::value_type* s_train, \r
float& bestDistance, int& bestTrainIdx, int& bestImgIdx)\r
{\r
// Match Unrolled\r
\r
template <int BLOCK_SIZE, int MAX_DESC_LEN, typename Dist, typename T, typename Mask> \r
- __device__ void loopUnrolled(int queryIdx, const DevMem2D_<T>& query, int imgIdx, const DevMem2D_<T>& train, const Mask& mask, \r
+ __device__ void loopUnrolled(int queryIdx, const DevMem2D_<T>& query,volatile int imgIdx, const DevMem2D_<T>& train, const Mask& mask,\r
typename Dist::value_type* s_query, typename Dist::value_type* s_train, \r
float& bestDistance, int& bestTrainIdx, int& bestImgIdx)\r
{\r
// Match\r
\r
template <int BLOCK_SIZE, typename Dist, typename T, typename Mask> \r
- __device__ void loop(int queryIdx, const DevMem2D_<T>& query, int imgIdx, const DevMem2D_<T>& train, const Mask& mask, \r
+ __device__ void loop(int queryIdx, const DevMem2D_<T>& query, volatile int imgIdx, const DevMem2D_<T>& train, const Mask& mask,\r
typename Dist::value_type* s_query, typename Dist::value_type* s_train, \r
float& bestDistance, int& bestTrainIdx, int& bestImgIdx)\r
{\r