 		if (__all(active == false)) 
 			return;
 
-		Warp_appNearestSearch<PointType> search(batch, query_index);
+		Warp_appNearestSearch search(batch, query_index);
 		search.launch(active); 
 	}
 

#include "utils/boxutils.hpp"
#include "utils/scan_block.hpp"

#include "octree_iterator.hpp"


namespace pcl { namespace device { namespace appnearest_search
{   
	template<typename PointT>
	struct Batch
	{   
		typedef PointT PointType;
		const PointType* queries;

		const int *indices;

				int active_lane = __ffs(mask) - 1; //[0..31]                        
				mask &= ~(1 << active_lane);   

				volatile int* warp_buffer = &per_warp_buffer[warpId];

				//broadcast beg
				if (active_lane == laneId)
