         int first = 0;
         // no syncthreads here (inside warp)
 
-        #pragma unroll
         for(int offset = 1; offset < NT; offset += offset)
             {
             if(tid >= offset)

        {
        if (!filter_diameter && !filter_body)
            {
            static int max_block_size = -1;
            static int sm = -1;
            if (max_block_size == -1)
                max_block_size = get_max_block_size(gpu_compute_nlist_binned_shared_kernel<0,cur_tpp>);
            if (sm == -1)
                sm = get_compute_capability(gpu_compute_nlist_binned_shared_kernel<0,cur_tpp>);
            if (sm < 35) gpu_nlist_binned_bind_texture(d_cell_xyzf, cli.getNumElements());


            }
        else if (!filter_diameter && filter_body)
            {
            static unsigned int max_block_size = UINT_MAX;
            static unsigned int sm = UINT_MAX;
            if (max_block_size == UINT_MAX)
                max_block_size = get_max_block_size(gpu_compute_nlist_binned_shared_kernel<1,cur_tpp>);
            if (sm == UINT_MAX)
                sm = get_compute_capability(gpu_compute_nlist_binned_shared_kernel<1,cur_tpp>);
            if (sm < 35) gpu_nlist_binned_bind_texture(d_cell_xyzf, cli.getNumElements());

